Space_Invaders/docs/Architecture_projet.svg
2021-07-17 19:30:16 +02:00

198 lines
No EOL
43 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1610px" preserveAspectRatio="none" style="width:1718px;height:1610px;background:#FFFFFF;" version="1.1" viewBox="0 0 1718 1610" width="1718px" zoomAndPan="magnify"><defs><filter height="300%" id="f1niwivitcd56f" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><!--MD5=[b2138d38fd2f889926cdbabc36041698]
cluster HAL--><polygon fill="#FFFFFF" filter="url(#f1niwivitcd56f)" points="1189,1494,1226,1494,1233,1516.2969,1588,1516.2969,1588,1603,1189,1603,1189,1494" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="1189" x2="1233" y1="1516.2969" y2="1516.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="31" x="1193" y="1508.9951">HAL</text><!--MD5=[380d61963ebf06f3ced09062d8a05ccb]
cluster Varriables partagées--><polygon fill="#FFFFFF" filter="url(#f1niwivitcd56f)" points="166,1347,337,1347,344,1369.2969,826,1369.2969,826,1461,166,1461,166,1347" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="166" x2="344" y1="1369.2969" y2="1369.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="165" x="170" y="1361.9951">Varriables partagées</text><!--MD5=[50cca2a3b84d9b1fe6f89042962ebcf8]
cluster Fonctions globales--><polygon fill="#FFFFFF" filter="url(#f1niwivitcd56f)" points="874,1170,1028,1170,1035,1192.2969,1514,1192.2969,1514,1461,874,1461,874,1170" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="874" x2="1035" y1="1192.2969" y2="1192.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="148" x="878" y="1184.9951">Fonctions globales</text><!--MD5=[c54ac06344dfd5517d2cc56073f5db34]
entity CAN--><ellipse cx="1522" cy="1558" fill="#FEFECE" filter="url(#f1niwivitcd56f)" rx="8" ry="8" style="stroke:#A80036;stroke-width:1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="84" x="1480" y="1587.9951">CAN Joystick</text><!--MD5=[4fa49025eed565a6a4073ac6911b5f04]
entity LCD--><ellipse cx="1232" cy="1558" fill="#FEFECE" filter="url(#f1niwivitcd56f)" rx="8" ry="8" style="stroke:#A80036;stroke-width:1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="39" x="1212.5" y="1587.9951">Ecran</text><!--MD5=[99c1162a6f735b554db9dee5a8ed199a]
entity gpio--><ellipse cx="1410" cy="1558" fill="#FEFECE" filter="url(#f1niwivitcd56f)" rx="8" ry="8" style="stroke:#A80036;stroke-width:1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="34" x="1393" y="1587.9951">GPIO</text><!--MD5=[bd7ae48ec573126b2ac1213e9fafb3f5]
entity rng--><ellipse cx="1321" cy="1558" fill="#FEFECE" filter="url(#f1niwivitcd56f)" rx="8" ry="8" style="stroke:#A80036;stroke-width:1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="23" x="1309.5" y="1587.9951">rng</text><!--MD5=[1a9b3ce6b05045b91178d8f4231a8390]
entity table--><rect fill="#FEFECE" filter="url(#f1niwivitcd56f)" height="62.5938" style="stroke:#A80036;stroke-width:1.5;" width="145" x="528.5" y="1382"/><rect fill="#FEFECE" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="653.5" y="1387"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="651.5" y="1389"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="651.5" y="1393"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="98" x="547" y="1414.9951">«black board»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="105" x="543.5" y="1431.292">Table_ennemis</text><!--MD5=[0cfebb0c7f68f9aba321a3cfa8dd0164]
entity J--><rect fill="#FEFECE" filter="url(#f1niwivitcd56f)" height="62.5938" style="stroke:#A80036;stroke-width:1.5;" width="138" x="182" y="1382"/><rect fill="#FEFECE" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="300" y="1387"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="298" y="1389"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="298" y="1393"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="98" x="197" y="1414.9951">«black board»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="44" x="224" y="1431.292">joueur</text><!--MD5=[844e4d4c1f34f3126e6454dd26b63a04]
entity charge--><rect fill="#FEFECE" filter="url(#f1niwivitcd56f)" height="62.5938" style="stroke:#A80036;stroke-width:1.5;" width="138" x="355" y="1382"/><rect fill="#FEFECE" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="473" y="1387"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="471" y="1389"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="471" y="1393"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="98" x="370" y="1414.9951">«black board»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="50" x="394" y="1431.292">Charge</text><!--MD5=[0d13666f178f0365f3b9d8418fd1c1e3]
entity mut_lcd--><rect fill="#FEFECE" filter="url(#f1niwivitcd56f)" height="62.5938" style="stroke:#A80036;stroke-width:1.5;" width="101" x="708.5" y="1382"/><rect fill="#FEFECE" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="789.5" y="1387"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="787.5" y="1389"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="787.5" y="1393"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="61" x="723.5" y="1414.9951">«Mutex»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="28" x="740" y="1431.292">LCD</text><!--MD5=[7ceaf318b1a361197a469b171044c497]
entity proba--><rect fill="#FEFECE" filter="url(#f1niwivitcd56f)" height="62.5938" style="stroke:#A80036;stroke-width:1.5;" width="121" x="1129.5" y="1382"/><rect fill="#FEFECE" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="1230.5" y="1387"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="1228.5" y="1389"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="1228.5" y="1393"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="81" x="1144.5" y="1414.9951">«functions»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="72" x="1149" y="1431.292">Probabilité</text><!--MD5=[79235b00d271d8f8350f4c3ac7965f1c]
entity emc_lcd--><rect fill="#FEFECE" filter="url(#f1niwivitcd56f)" height="62.5938" style="stroke:#A80036;stroke-width:1.5;" width="169" x="889.5" y="1205"/><rect fill="#FEFECE" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="1038.5" y="1210"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="1036.5" y="1212"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="1036.5" y="1216"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="81" x="928.5" y="1237.9951">«functions»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="129" x="904.5" y="1254.292">Encapsulation LCD</text><!--MD5=[0d1205af3c125c8ca40672e585d67207]
entity rempli--><rect fill="#FEFECE" filter="url(#f1niwivitcd56f)" height="62.5938" style="stroke:#A80036;stroke-width:1.5;" width="193" x="1093.5" y="1205"/><rect fill="#FEFECE" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="1266.5" y="1210"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="1264.5" y="1212"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="1264.5" y="1216"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="74" x="1148" y="1237.9951">«function»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="153" x="1108.5" y="1254.292">Remplissage ennemis</text><!--MD5=[b977c112c37eb2e9f751dce6a622d122]
entity update_led--><rect fill="#FEFECE" filter="url(#f1niwivitcd56f)" height="62.5938" style="stroke:#A80036;stroke-width:1.5;" width="177" x="1321.5" y="1205"/><rect fill="#FEFECE" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="1478.5" y="1210"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="1476.5" y="1212"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="1476.5" y="1216"/><text fill="#000000" font-family="sans-serif" font-size="14" font-style="italic" lengthAdjust="spacing" textLength="74" x="1368" y="1237.9951">«function»</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="137" x="1336.5" y="1254.292">Mise à jour des leds</text><!--MD5=[2860dc91bb3c278e7433bdb17bd46cba]
entity Queue_J--><path d="M11,6 L103,6 C108,6 108,27.2969 108,27.2969 C108,27.2969 108,48.5938 103,48.5938 L11,48.5938 C6,48.5938 6,27.2969 6,27.2969 C6,27.2969 6,6 11,6 " fill="#FEFECE" filter="url(#f1niwivitcd56f)" style="stroke:#A80036;stroke-width:1.5;"/><path d="M103,6 C98,6 98,27.2969 98,27.2969 C98,48.5938 103,48.5938 103,48.5938 " fill="none" style="stroke:#A80036;stroke-width:1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="57" x="11" y="23.9951">Queue_J</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="82" x="11" y="40.292">choc joueur</text><!--MD5=[b66064b6d8238a603620e26a5f27d32b]
entity Queue_E--><path d="M437.5,1013.5 L546.5,1013.5 C551.5,1013.5 551.5,1034.7969 551.5,1034.7969 C551.5,1034.7969 551.5,1056.0938 546.5,1056.0938 L437.5,1056.0938 C432.5,1056.0938 432.5,1034.7969 432.5,1034.7969 C432.5,1034.7969 432.5,1013.5 437.5,1013.5 " fill="#FEFECE" filter="url(#f1niwivitcd56f)" style="stroke:#A80036;stroke-width:1.5;"/><path d="M546.5,1013.5 C541.5,1013.5 541.5,1034.7969 541.5,1034.7969 C541.5,1056.0938 546.5,1056.0938 546.5,1056.0938 " fill="none" style="stroke:#A80036;stroke-width:1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63" x="437.5" y="1031.4951">Queue_E</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="99" x="437.5" y="1047.792">choc ennemie</text><!--MD5=[452b68ee712584d4647e69e1f093561c]
entity Queue_F--><path d="M398.5,331 L471.5,331 C476.5,331 476.5,352.2969 476.5,352.2969 C476.5,352.2969 476.5,373.5938 471.5,373.5938 L398.5,373.5938 C393.5,373.5938 393.5,352.2969 393.5,352.2969 C393.5,352.2969 393.5,331 398.5,331 " fill="#FEFECE" filter="url(#f1niwivitcd56f)" style="stroke:#A80036;stroke-width:1.5;"/><path d="M471.5,331 C466.5,331 466.5,352.2969 466.5,352.2969 C466.5,373.5938 471.5,373.5938 471.5,373.5938 " fill="none" style="stroke:#A80036;stroke-width:1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="62" x="398.5" y="348.9951">Queue_F</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63" x="398.5" y="365.292">fin du jeu</text><!--MD5=[24c6dc35e45d11f37adbbd51190fb295]
entity Queue_N--><path d="M461.5,655 L598.5,655 C603.5,655 603.5,676.2969 603.5,676.2969 C603.5,676.2969 603.5,697.5938 598.5,697.5938 L461.5,697.5938 C456.5,697.5938 456.5,676.2969 456.5,676.2969 C456.5,676.2969 456.5,655 461.5,655 " fill="#FEFECE" filter="url(#f1niwivitcd56f)" style="stroke:#A80036;stroke-width:1.5;"/><path d="M598.5,655 C593.5,655 593.5,676.2969 593.5,676.2969 C593.5,697.5938 598.5,697.5938 598.5,697.5938 " fill="none" style="stroke:#A80036;stroke-width:1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="461.5" y="672.9951">Queue_N</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="127" x="461.5" y="689.292">nouveau projectile</text><!--MD5=[9541ec6124d24944d9f7f0794caf90a4]
entity t_gm--><rect fill="#FEFECE" filter="url(#f1niwivitcd56f)" height="127.4844" style="stroke:#A80036;stroke-width:1.5;" width="263" x="631.5" y="451"/><rect fill="#FEFECE" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="874.5" y="456"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="872.5" y="458"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="872.5" y="462"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="156" x="646.5" y="483.9951">Thread : game_master</text><line style="stroke:#A80036;stroke-width:1.0;" x1="632.5" x2="893.5" y1="487.2969" y2="487.2969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="632.5" x2="893.5" y1="489.2969" y2="489.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="223" x="646.5" y="504.292">Bloqué en attente de messages</text><line style="stroke:#A80036;stroke-width:1.0;" x1="632.5" x2="893.5" y1="511.5938" y2="511.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="219" x="646.5" y="528.5889">gère l'apparition des porjectiles,</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="161" x="646.5" y="544.8857">gère les autres Thread,</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="173" x="646.5" y="561.1826">fait l'affichage des scores</text><!--MD5=[756fc03f1621076aaaa13cbe1a77e66e]
entity t_HUD--><rect fill="#FEFECE" filter="url(#f1niwivitcd56f)" height="143.7813" style="stroke:#A80036;stroke-width:1.5;" width="238" x="1116" y="963"/><rect fill="#FEFECE" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="1334" y="968"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="1332" y="970"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="1332" y="974"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="93" x="1131" y="995.9951">Thread : HUD</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1117" x2="1353" y1="999.2969" y2="999.2969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="1117" x2="1353" y1="1001.2969" y2="1001.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="1131" y="1016.292">T = 100 ms</text><line style="stroke:#A80036;stroke-width:1.0;" x1="1117" x2="1353" y1="1023.5938" y2="1023.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="55" x="1131" y="1040.5889">Affiche :</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51" x="1131" y="1056.8857">- La vie,</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="170" x="1131" y="1073.1826">- Le numéro de la vague,</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="198" x="1131" y="1089.4795">- Le nombre de monstre tué.</text><!--MD5=[bbde742469f79c0a56ba4a67e4990c02]
entity t_chargeur--><rect fill="#FEFECE" filter="url(#f1niwivitcd56f)" height="94.8906" style="stroke:#A80036;stroke-width:1.5;" width="186" x="587" y="987.5"/><rect fill="#FEFECE" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="753" y="992.5"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="751" y="994.5"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="751" y="998.5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="126" x="602" y="1020.4951">Thread : Chargeur</text><line style="stroke:#A80036;stroke-width:1.0;" x1="588" x2="772" y1="1023.7969" y2="1023.7969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="588" x2="772" y1="1025.7969" y2="1025.7969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="64" x="602" y="1040.792">T = 5/8 s</text><line style="stroke:#A80036;stroke-width:1.0;" x1="588" x2="772" y1="1048.0938" y2="1048.0938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="146" x="602" y="1065.0889">Incremente la charge</text><!--MD5=[acc3dc1ffb908345156624a4da65ff98]
entity t_j1--><rect fill="#FEFECE" filter="url(#f1niwivitcd56f)" height="143.7813" style="stroke:#A80036;stroke-width:1.5;" width="197" x="547.5" y="110"/><rect fill="#FEFECE" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="724.5" y="115"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="722.5" y="117"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="722.5" y="121"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113" x="562.5" y="142.9951">Tread : joueur_1</text><line style="stroke:#A80036;stroke-width:1.0;" x1="548.5" x2="743.5" y1="146.2969" y2="146.2969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="548.5" x2="743.5" y1="148.2969" y2="148.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="63" x="562.5" y="163.292">T = 5 ms</text><line style="stroke:#A80036;stroke-width:1.0;" x1="548.5" x2="743.5" y1="170.5938" y2="170.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107" x="562.5" y="187.5889">gère le joystick,</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="108" x="562.5" y="203.8857">la vie du joueur,</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="157" x="562.5" y="220.1826">la position du joueur 1,</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="156" x="562.5" y="236.4795">et l'affichage du joueur</text><!--MD5=[62df73be7b2a179ccf4a8ae9cdbeb620]
entity t_ennemie--><rect fill="#FEFECE" filter="url(#f1niwivitcd56f)" height="94.8906" style="stroke:#A80036;stroke-width:1.5;" width="169" x="602.5" y="1189"/><rect fill="#FEFECE" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="751.5" y="1194"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="749.5" y="1196"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="749.5" y="1200"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="122" x="617.5" y="1221.9951">Tread : Ennemies</text><line style="stroke:#A80036;stroke-width:1.0;" x1="603.5" x2="770.5" y1="1225.2969" y2="1225.2969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="603.5" x2="770.5" y1="1227.2969" y2="1227.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="81" x="617.5" y="1242.292">T = 200 ms</text><line style="stroke:#A80036;stroke-width:1.0;" x1="603.5" x2="770.5" y1="1249.5938" y2="1249.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="129" x="617.5" y="1266.5889">gère les ennemies</text><!--MD5=[544d2830dc448f0bb49970fedf76460b]
entity t_proj--><rect fill="#FEFECE" filter="url(#f1niwivitcd56f)" height="111.1875" style="stroke:#A80036;stroke-width:1.5;" width="171" x="406.5" y="775"/><rect fill="#FEFECE" height="10" style="stroke:#A80036;stroke-width:1.5;" width="15" x="557.5" y="780"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="555.5" y="782"/><rect fill="#FEFECE" height="2" style="stroke:#A80036;stroke-width:1.5;" width="4" x="555.5" y="786"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="116" x="421.5" y="807.9951">Tread : projectile</text><line style="stroke:#A80036;stroke-width:1.0;" x1="407.5" x2="576.5" y1="811.2969" y2="811.2969"/><line style="stroke:#A80036;stroke-width:1.0;" x1="407.5" x2="576.5" y1="813.2969" y2="813.2969"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="72" x="421.5" y="828.292">T = 10 ms</text><line style="stroke:#A80036;stroke-width:1.0;" x1="407.5" x2="576.5" y1="835.5938" y2="835.5938"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="131" x="421.5" y="852.5889">gère les projectiles</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="120" x="421.5" y="868.8857">gère les colisions</text><!--MD5=[4566f7c90fc7d40128a534bc733957c4]
link t_j1 to CAN--><path d="M744.71,182.94 C907.86,185.38 1242.45,201.18 1511,284 C1572.83,303.07 1640,286.79 1640,351.5 C1640,351.5 1640,351.5 1640,1414.5 C1640,1476.48 1572.96,1525.98 1539.95,1546.61 " fill="none" id="t_j1-to-CAN" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1538.2688,1557.496 A9,9 0 0 0 1529.5202 1543.0198" style="stroke:#A80036;stroke-width:1.5;fill:none;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="69" x="1641" y="835.0669">lit la valeur</text><!--MD5=[145f872e4232b79fc53d20d7471ee528]
link t_proj to Queue_E--><path d="M492,886.03 C492,925.68 492,977.56 492,1008.18 " fill="none" id="t_proj-to-Queue_E" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="492,1013.28,496,1004.28,492,1008.28,488,1004.28,492,1013.28" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="44" x="493" y="929.0669">touché</text><!--MD5=[3fc62d9f5d25a1938f56e39d302f579d]
link t_proj to Queue_J--><path d="M406.2,820.89 C310.95,809.44 165.86,785.76 130,745 C37.52,639.88 50.98,170.37 55.8,54.44 " fill="none" id="t_proj-to-Queue_J" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="56.02,49.19,51.6383,58.0105,55.8059,54.1854,59.631,58.353,56.02,49.19" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="44" x="59" y="417.0669">touché</text><!--MD5=[37e88d3088571bad0ff0500dcfc6c8b9]
link Queue_E to t_ennemie--><path d="M512.13,1056.6 C541.51,1086.65 597.04,1143.46 637.67,1185.03 " fill="none" id="Queue_E-to-t_ennemie" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="641.3,1188.75,637.8575,1179.5224,637.8004,1185.1789,632.1438,1185.1218,641.3,1188.75" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[d768f2c87dbe9ed4b3e12ba366ba0f07]
link Queue_J to t_j1--><path d="M108.24,41.77 C204.82,66.77 415.47,121.31 542.58,154.22 " fill="none" id="Queue_J-to-t_j1" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="547.44,155.48,539.7168,149.3683,542.5969,154.2371,537.7282,157.1172,547.44,155.48" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[63418c0d14b85510d4db28945ef11ee0]
link t_j1 to Queue_F--><path d="M547.24,204.89 C504.74,219.73 459.14,244.18 434,284 C426.32,296.16 426.24,312.17 428.23,325.55 " fill="none" id="t_j1-to-Queue_F" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="429.11,330.72,431.5357,321.1745,428.2672,325.7915,423.6501,322.5231,429.11,330.72" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="68" x="435" y="297.0669">plus de vie</text><!--MD5=[d3b41d5c960760d31a8e6d2054d6c1d6]
link t_ennemie to Queue_F--><path d="M638.83,1188.71 C625.06,1178.01 609.32,1168.03 593,1162 C574.01,1154.99 425.58,1168.04 411,1154 C187.45,938.78 371.93,490.41 422.9,378.98 " fill="none" id="t_ennemie-to-Queue_F" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="425.08,374.24,417.6896,380.7502,422.9938,378.784,424.96,384.0881,425.08,374.24" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="97" x="315" y="741.0669">plus d'ennemie</text><!--MD5=[a83bbca1d75f2bd39d4c34ad54ba3913]
link Queue_F to t_gm--><path d="M476.7,357.2 C542.03,363.69 664.7,378.88 700,404 C715.11,414.75 727.11,430.35 736.41,446.41 " fill="none" id="Queue_F-to-t_gm" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="738.96,450.95,738.0477,441.1435,736.5148,446.5887,731.0696,445.0558,738.96,450.95" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[04079861af4c57138da428edb0d50b64]
link t_gm to Queue_N--><path d="M631.27,576.05 C615.03,585.76 599.18,596.46 585,608 C570.13,620.11 556.49,636.79 546.51,650.55 " fill="none" id="t_gm-to-Queue_N" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="543.53,654.71,552.0177,649.7142,546.4375,650.6423,545.5094,645.0621,543.53,654.71" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="144" x="586" y="621.0669">nouveau tire du joueur</text><!--MD5=[ba6c9e56622063232619a88eab2d6b76]
link t_j1 to Queue_N--><path d="M611.9,254.01 C592.95,296.55 570.71,352.26 558,404 C536.3,492.36 531.4,600.9 530.31,649.65 " fill="none" id="t_j1-to-Queue_N" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="530.2,654.73,534.3792,645.8118,530.3,649.731,526.3808,645.6518,530.2,654.73" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="167" x="559" y="417.0669">nouveau tire des ennemie</text><!--MD5=[92546dfced51ba7d2a94112243967cb4]
link Queue_N to t_proj--><path d="M524.8,698.32 C520.18,716.76 513.22,744.62 506.89,769.92 " fill="none" id="Queue_N-to-t_proj" style="stroke:#A80036;stroke-width:1.0;"/><polygon fill="#A80036" points="505.64,774.95,511.7034,767.1889,506.8527,770.0993,503.9423,765.2486,505.64,774.95" style="stroke:#A80036;stroke-width:1.0;"/><!--MD5=[4ba196a3d16e75ebe13aa6fd0757216d]
link t_j1 to emc_lcd--><path d="M744.54,194.6 C895.06,215.1 1165,264.05 1165,351.5 C1165,351.5 1165,351.5 1165,737.5 C1165,804.22 1164.82,822.95 1143,886 C1130.11,923.25 1117.01,927.94 1099,963 C1093.15,974.38 1022.51,1129.12 990.08,1200.22 " fill="none" id="t_j1-to-emc_lcd" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="988,1204.78,995.3657,1198.2419,990.069,1200.2282,988.0828,1194.9315,988,1204.78" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="23" x="1166" y="681.0669">use</text><!--MD5=[93977f77a825d7e9f7d06639d52ac989]
link t_ennemie to emc_lcd--><path d="M771.56,1236.5 C806.86,1236.5 847.92,1236.5 883.8,1236.5 " fill="none" id="t_ennemie-to-emc_lcd" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="889.06,1236.5,880.06,1232.5,884.06,1236.5,880.06,1240.5,889.06,1236.5" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="23" x="819" y="1229.5669">use</text><!--MD5=[45578707b6683518be5b85ee32e2b9bf]
link t_proj to emc_lcd--><path d="M577.66,855.11 C641.34,875.82 727.63,910.87 790,963 C871.15,1030.83 931.22,1143.23 958.22,1200.14 " fill="none" id="t_proj-to-emc_lcd" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="960.41,1204.81,960.2016,1194.9633,958.2831,1200.2849,952.9615,1198.3664,960.41,1204.81" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="23" x="906" y="1039.5669">use</text><!--MD5=[7456b3aed8b446603555d7e0f9151b7a]
link t_gm to emc_lcd--><path d="M894.55,556.72 C945.59,581.61 992,619.6 992,675.5 C992,675.5 992,675.5 992,1036 C992,1093.41 984.51,1159.74 979.2,1199.61 " fill="none" id="t_gm-to-emc_lcd" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="978.5,1204.82,983.6718,1196.4383,979.1711,1199.8652,975.7442,1195.3646,978.5,1204.82" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="23" x="993" y="835.0669">use</text><!--MD5=[81a38e4d79a04c4765419f70c9f89bf1]
link emc_lcd to mut_lcd--><path d="M889.39,1263.1 C860.6,1275.01 829.93,1291.61 807,1314 C789.36,1331.22 777.28,1356.26 769.65,1376.77 " fill="none" id="emc_lcd-to-mut_lcd" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="767.9,1381.62,774.7227,1374.5172,769.6007,1376.9181,767.1997,1371.7961,767.9,1381.62" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="23" x="808" y="1327.0669">use</text><!--MD5=[f3192e23f6b6ea7e3cddb66c3a44ac1b]
link emc_lcd to LCD--><path d="M987.39,1268.17 C1008.88,1315.07 1054.56,1405.81 1112,1469 C1142.99,1503.09 1189.03,1532.39 1214.12,1547.03 " fill="none" id="emc_lcd-to-LCD" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1224.4559,1543.192 A9,9 0 0 0 1216.0432 1557.866" style="stroke:#A80036;stroke-width:1.5;fill:none;"/><!--MD5=[5b510cc36fef449fefd102eec5939f42]
link t_gm to t_j1--><path d="M748.5,450.84 C744.51,435.41 739.92,419.01 735,404 C718.94,354.99 697.41,301.29 679.55,259.1 " fill="none" id="t_gm-to-t_j1" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="677.5,254.27,677.3318,264.1174,679.4524,258.8731,684.6967,260.9936,677.5,254.27" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="54" x="726" y="357.0669">suspend</text><!--MD5=[5508e672fdcfb87573203e5e1b3ce91a]
link t_gm to t_ennemie--><path d="M788.37,578.08 C840.43,710.82 950.29,1015.94 899,1107 C872.66,1153.77 821.67,1185.47 776.29,1205.68 " fill="none" id="t_gm-to-t_ennemie" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="771.64,1207.72,781.4887,1207.7773,776.2208,1205.7159,778.2821,1200.448,771.64,1207.72" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="54" x="891" y="835.0669">suspend</text><!--MD5=[abf0e0d4d11132f33d6cf00392d30e8b]
link t_gm to t_proj--><path d="M754.01,578.18 C749.87,594.26 743.82,610.96 735,625 C696.64,686.09 634.02,738.14 581.96,774.45 " fill="none" id="t_gm-to-t_proj" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="577.6,777.47,587.2709,775.6061,581.7022,774.6113,582.697,769.0426,577.6,777.47" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="54" x="714" y="681.0669">suspend</text><!--MD5=[946d33ff46947bb8c51034d1cae9879c]
link t_j1 to J--><path d="M547.15,193.05 C456.1,205.24 319.13,231.13 211,284 C134.92,321.19 104.04,329.93 63,404 C17.1,486.84 37,520.79 37,615.5 C37,615.5 37,615.5 37,1237.5 C37,1311.76 115.17,1360.18 177.02,1386.87 " fill="none" id="t_j1-to-J" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="181.82,1388.91,175.1044,1381.7058,177.2191,1386.9525,171.9724,1389.0672,181.82,1388.91" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="30" x="38" y="741.0669">ecris</text><!--MD5=[3191d9b1d452ad3043f63b91a0cecbdb]
link t_ennemie to table--><path d="M663.95,1284.4 C649.61,1313.59 631.46,1350.53 618.33,1377.23 " fill="none" id="t_ennemie-to-table" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="616.11,1381.76,623.6644,1375.4409,618.3117,1377.2708,616.4817,1371.9182,616.11,1381.76" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="30" x="651" y="1327.0669">ecris</text><!--MD5=[f08fd9cf91e954e90073180a4921d1bd]
link t_proj to J--><path d="M440.88,886.06 C433.06,895.67 425.45,905.86 419,916 C406.72,935.31 406.23,941.65 398,963 C339.52,1114.6 283.61,1300.44 261.24,1376.98 " fill="none" id="t_proj-to-J" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="259.82,1381.86,266.18,1374.34,261.22,1377.06,258.5,1372.1,259.82,1381.86" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="13" x="338" y="1150.0669">lis</text><!--MD5=[293d72948d285c8e99a9299f2c13c748]
link t_proj to table--><path d="M451.23,886.16 C436.8,908.74 422.34,935.93 415,963 C398.25,1024.77 406.38,1043.58 415,1107 C425.99,1187.88 421.77,1214.15 464,1284 C477.1,1305.68 524.75,1348.36 560.19,1378.58 " fill="none" id="t_proj-to-table" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="564.01,1381.83,559.7441,1372.9529,560.2007,1378.5913,554.5623,1379.0479,564.01,1381.83" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="13" x="422" y="1150.0669">lis</text><!--MD5=[d66047aacef3cb2a95d8d42b86c60923]
link t_gm to rempli--><path d="M894.79,557.14 C929.67,570.85 966.38,587.86 998,608 C1094.65,669.56 1326.77,857.71 1372,963 C1397.26,1021.8 1401.44,1050.17 1372,1107 C1364.77,1120.95 1293.45,1168.93 1242.27,1202.14 " fill="none" id="t_gm-to-rempli" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="1238,1204.9,1247.7276,1203.3594,1242.1952,1202.1796,1243.375,1196.6471,1238,1204.9" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="23" x="1320" y="835.0669">use</text><!--MD5=[d0be5ad3330e403936c1a81c799219b6]
link rempli to table--><path d="M1118.02,1268.04 C1104.16,1273.58 1089.7,1279.14 1076,1284 C1008.16,1308.06 992.01,1319.21 921,1331 C895.77,1335.19 714.93,1330 691,1339 C669.07,1347.25 648.51,1363.15 632.59,1378.05 " fill="none" id="rempli-to-table" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="628.65,1381.81,637.9252,1378.4978,632.27,1378.361,632.4068,1372.7058,628.65,1381.81" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="30" x="992" y="1327.0669">ecris</text><!--MD5=[b5aae1ec9aacd4863ed3aea5ff6d246c]
link rempli to proba--><path d="M1190,1268.38 C1190,1298.62 1190,1344.67 1190,1376.54 " fill="none" id="rempli-to-proba" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="1190,1381.93,1194,1372.93,1190,1376.93,1186,1372.93,1190,1381.93" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="23" x="1191" y="1327.0669">use</text><!--MD5=[6246f36b3839376fbd73b8bc160d84b7]
link t_ennemie to proba--><path d="M771.5,1279.75 C808,1297.03 851.54,1316.35 892,1331 C970.36,1359.38 1063.38,1383.33 1124.4,1397.78 " fill="none" id="t_ennemie-to-proba" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="1129.47,1398.97,1121.6215,1393.0201,1124.6022,1397.828,1119.7943,1400.8086,1129.47,1398.97" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="23" x="893" y="1327.0669">use</text><!--MD5=[adc317ba3657a43c71747efc3eb24a48]
link t_j1 to charge--><path d="M547.25,198.17 C410.2,222.07 179,273.87 179,351.5 C179,351.5 179,351.5 179,617.5 C179,711.9 166,735.1 166,829.5 C166,829.5 166,829.5 166,1146.5 C166,1177.67 313.83,1314.07 385.69,1378.52 " fill="none" id="t_j1-to-charge" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="389.47,1381.91,385.4391,1372.9238,385.7472,1378.5723,380.0987,1378.8804,389.47,1381.91" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="45" x="173" y="741.0669">lis/ecrit</text><!--MD5=[5125ac1455f3ac8fbb725ec0ba70d193]
link t_chargeur to charge--><path d="M616.57,1082.56 C589.85,1104.48 559.93,1132.3 538,1162 C487.13,1230.89 451.61,1326.09 434.89,1377.01 " fill="none" id="t_chargeur-to-charge" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="433.33,1381.79,439.9114,1374.463,434.8725,1377.0339,432.3017,1371.995,433.33,1381.79" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="45" x="539" y="1241.0669">lis/ecrit</text><!--MD5=[2c0b859c09233666d13c9d1e9102898c]
link t_j1 to update_led--><path d="M744.64,182.58 C964.2,184.3 1474,204.16 1474,351.5 C1474,351.5 1474,351.5 1474,677.5 C1474,875.88 1433.58,1111.37 1416.98,1199.69 " fill="none" id="t_j1-to-update_led" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="1416.02,1204.79,1421.6215,1196.6892,1416.9483,1199.8769,1413.7606,1195.2038,1416.02,1204.79" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="23" x="1475" y="681.0669">use</text><!--MD5=[e629d0f8b39bd234f1689df73c77ed07]
link t_chargeur to update_led--><path d="M748.14,1082.62 C764.52,1092.02 782.39,1100.88 800,1107 C946.58,1157.97 991.48,1139.62 1146,1154 C1181,1157.26 1270.72,1150.66 1304,1162 C1328.83,1170.46 1353.13,1186.57 1372.19,1201.55 " fill="none" id="t_chargeur-to-update_led" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="1376.42,1204.93,1371.8676,1196.1964,1372.5073,1201.817,1366.8867,1202.4567,1376.42,1204.93" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="23" x="1147" y="1150.0669">use</text><!--MD5=[bb569e0092165c675d89de77b4ef6b61]
link t_j1 to gpio--><path d="M744.75,188.93 C932.32,201.23 1332.85,232.71 1461,284 C1507.75,302.71 1552,301.14 1552,351.5 C1552,351.5 1552,351.5 1552,1414.5 C1552,1444.03 1538.01,1451.81 1514,1469 C1491.81,1484.88 1476.84,1469.63 1455,1486 C1436.8,1499.64 1424.08,1522.99 1416.92,1539.17 " fill="none" id="t_j1-to-gpio" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1422.0007,1548.9994 A9,9 0 0 0 1406.3859 1542.4973" style="stroke:#A80036;stroke-width:1.5;fill:none;"/><!--MD5=[0abb3585fd9d2e10f4d20bb73aacf44f]
link update_led to gpio--><path d="M1410,1268.14 C1410,1333.77 1410,1486.25 1410,1538.81 " fill="none" id="update_led-to-gpio" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1418.4572,1545.8618 A9,9 0 0 0 1401.5428 1545.8618" style="stroke:#A80036;stroke-width:1.5;fill:none;"/><!--MD5=[79aab9e1324045bb650ade94b2b7c328]
link t_HUD to emc_lcd--><path d="M1215.54,1107.14 C1207.19,1125.21 1195.44,1142.69 1179,1154 C1160.09,1167.01 1097.56,1154.11 1076,1162 C1052.18,1170.72 1028.97,1186.67 1010.72,1201.49 " fill="none" id="t_HUD-to-emc_lcd" style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#A80036" points="1006.67,1204.83,1016.1564,1202.1828,1010.5251,1201.646,1011.062,1196.0146,1006.67,1204.83" style="stroke:#A80036;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="23" x="1197" y="1150.0669">use</text><!--MD5=[86447da9017ed33d3a418336ea202ed5]
link proba to rng--><path d="M1232.76,1445.05 C1247.71,1456.88 1264,1471.14 1277,1486 C1291.59,1502.67 1304.43,1524.72 1312.42,1539.8 " fill="none" id="proba-to-rng" style="stroke:#A80036;stroke-width:1.0;"/><path d="M1323.2565,1542.3778 A9,9 0 0 0 1308.2107 1550.106" style="stroke:#A80036;stroke-width:1.5;fill:none;"/><!--MD5=[d2eccdec102014a3301bb2b387040ec9]
@startuml Architecture_projet
package "HAL" {
interface "CAN Joystick" as CAN
interface "Ecran" as LCD
interface "GPIO" as gpio
interface "rng" as rng
}
Queue "Queue_J\nchoc joueur" as Queue_J
Queue "Queue_E\nchoc ennemie" as Queue_E
Queue "Queue_F\nfin du jeu" as Queue_F
Queue "Queue_N\nnouveau projectile" as Queue_N
package "Varriables partagées" {
component "Table_ennemis" as table <<black board>>
component "joueur" as J <<black board>>
component "Charge" as charge <<black board>>
component "LCD" as mut_lcd <<Mutex>>
}
package "Fonctions globales"{
component "Probabilité" as proba <<functions>>
component "Encapsulation LCD" as emc_lcd <<functions>>
component "Remplissage ennemis" as rempli <<function>>
component "Mise à jour des leds" as update_led <<function>>
}
component t_gm[
Thread : game_master
===
Bloqué en attente de messages
- - -
gère l'apparition des porjectiles,
gère les autres Thread,
fait l'affichage des scores
]
component t_HUD[
Thread : HUD
===
T = 100 ms
- - -
Affiche :
- La vie,
- Le numéro de la vague,
- Le nombre de monstre tué.
]
component t_chargeur[
Thread : Chargeur
===
T = 5/8 s
- - -
Incremente la charge
]
component t_j1[
Tread : joueur_1
===
T = 5 ms
- - -
gère le joystick,
la vie du joueur,
la position du joueur 1,
et l'affichage du joueur
]
component t_ennemie[
Tread : Ennemies
===
T = 200 ms
- - -
gère les ennemies
]
component t_proj[
Tread : projectile
===
T = 10 ms
- - -
gère les projectiles
gère les colisions
]
[t_j1] - -( CAN : lit la valeur
[t_proj] - -> Queue_E : touché
[t_proj] - -> Queue_J : touché
Queue_E - -> [t_ennemie]
Queue_J - -> [t_j1]
[t_j1] - -> Queue_F : plus de vie
[t_ennemie] - -> Queue_F : plus d'ennemie
Queue_F - -> [t_gm]
[t_gm] - -> Queue_N : nouveau tire du joueur
[t_j1] - -> Queue_N : nouveau tire des ennemie
Queue_N - -> [t_proj]
[t_j1] ..> emc_lcd : use
[t_ennemie] ..> emc_lcd : use
[t_proj] ..> emc_lcd : use
[t_gm] ..> emc_lcd : use
emc_lcd .> mut_lcd : use
emc_lcd - -( LCD
[t_gm]..>[t_j1] : suspend
[t_gm]..>[t_ennemie] : suspend
[t_gm]..>[t_proj] : suspend
[t_j1] ..> J : ecris
[t_ennemie] ..> table : ecris
[t_proj] ..> J : lis
[t_proj] ..> table : lis
t_gm ..> rempli : use
rempli ..> table : ecris
rempli ..> proba : use
t_ennemie ..> proba : use
t_j1 ..> charge : lis/ecrit
t_chargeur ..> charge : lis/ecrit
t_j1 ..> update_led : use
t_chargeur ..> update_led : use
t_j1 - -( gpio
update_led - -( gpio
t_HUD ..> emc_lcd : use
proba - -( rng
@enduml
PlantUML version 1.2021.7(Sun May 23 14:40:07 CEST 2021)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: fr
Country: FR
--></g></svg>