Taula de continguts:
- Pas 1: Visió general
- Pas 2: materials
- Pas 3: Creació del joc
- Pas 4: futures modificacions
- Pas 5: Conclusió
Vídeo: Minesweeper: 5 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:16
Per al nostre projecte final de CPE 133, Chase i jo vam decidir crear un joc "Minesweeper" que utilitzava l'entrada de botons i canvis des d'una placa Basys-3, així com el codi VHDL. Un millor nom per al joc podria molt bé ser "Ruleta russa", tot i que volíem anar amb un nom més familiar. El joc implica que l'usuari prem el botó central del tauler Basys per assignar a l'atzar un dels 16 commutadors perquè estigui "actiu" amb una bomba. A continuació, dos jugadors alternen els interruptors, un per un, fins que un dels jugadors gira l’interruptor amb la "bomba". Quan això passa, la pantalla de set segments avisa als jugadors que aquest jugador acaba de perdre el joc.
Pas 1: Visió general
El projecte va utilitzar molts dels mòduls VHDL que hem utilitzat al llarg d’aquest trimestre. Es va utilitzar un comptador de quatre bits junt amb la vora del rellotge per tal de simular un número aleatori de quatre bits per activar un dels commutadors. També es va utilitzar un diagrama d’estats per enviar paraules diferents a la pantalla de set segments, que van des de "JUGAR" quan els jugadors es troben a la meitat del seu joc, fins a "PERDRE" quan un dels jugadors ha girat l'interruptor actiu.
Pas 2: materials
- Basys3 Development Board de Digilent, Inc.
- Vivado Design Suite BC_DEC.vhd (Aquest fitxer ens el van proporcionar a Polylearn i va ser escrit per Bryan Mealy)
- Un comptador de 4 bits format amb xancletes T.
- Un FSM
Pas 3: Creació del joc
El primer pas per fer aquest joc va ser dibuixar un diagrama de circuits amb tots els components que farem servir. Les entrades d’aquest sistema eren el botó 1, els 16 commutadors i el rellotge. Les sortides eren la pantalla de set segments i els ànodes. Després de dibuixar el diagrama de circuits, vam escriure fitxers font individuals per a cada component de Vivado i els vam ajuntar mitjançant mapes de ports sota el fitxer font principal.
Tota la base del joc gira al voltant d’assignar a l’atzar un dels 16 commutadors perquè estigui actiu amb una bomba i que els jugadors no sàpiguen quin interruptor està actiu fins que aquest interruptor actiu no s’encengui. Vam examinar en línia els generadors de nombres aleatoris i pseudoreatoris, però finalment vam decidir que utilitzar un comptador de 4 bits i assignar el commutador corresponent per estar actiu és prou aleatori per al que buscàvem. Hem pogut reutilitzar el comptador de 4 bits que vam crear en un projecte anterior per poder treballar en aquesta tasca. Hem utilitzat el comptador per crear un número aleatori entre 0-15; a continuació, al component main1, hem assignat l'equivalent decimal del nombre aleatori al seu corresponent commutador al tauler. Com es veu a l’esquema, tant la sortida X (‘bomba activa’) del component main1 com els commutadors que els reproductors activen passen a FSM1. La màquina d’estats genera un valor Z d’un bit que després llegeix BC_DEC1. La màquina d’estats finits que hem utilitzat té dos estats diferents: a l’estat A, els set segments mostren les sortides ‘PLAY’ i la màquina es manté en aquest estat fins que reconeix que l’interruptor activat es gira. Un cop això passi, l’SMF passa a l’estat B, on surt "PERDRE" a la pantalla de set segments i es manté en aquest estat fins que els 16 commutadors es posin a "0". Quan es compleix aquesta condició, el FSM torna a passar a l'estat A i espera que els jugadors comencin una altra partida. A la part superior es mostra un diagrama de Moore per ajudar a entendre aquest FSM.
Pas 4: futures modificacions
Algunes de les modificacions que estàvem pensant en fer al nostre joc inclouen afegir més bombes al camp (possiblement augmentar d'una a tres), afegir un comptador de puntuacions i diverses rondes. Al final, ens vam decidir en contra d’aquestes millores, ja que vam trobar que jugar a un joc més llarg i llarg solia ser més tens i, al final, més divertit que un joc que normalment acabava després de tres o quatre canvis d’inversió.
Pas 5: Conclusió
Estàvem molt contents del resultat final d’aquest projecte; no només perquè la versió final del joc va ser divertida de jugar, sinó també perquè la creació i la programació del projecte ens obligaven a utilitzar la majoria, si no tot, el que hem après aquest trimestre. Hem utilitzat xancles, comptadors, FSM, el rellotge, l’entrada de l’usuari des del tauler i la sortida a la pantalla de set segments.
També vam aprendre com alguns errors de sintaxi podrien trencar completament el programa (fins i tot si es consideressin bons en altres llenguatges de programació com Python o Java) i que només després de múltiples simulacions i múltiples iteracions del codi carregades i provades al, finalment podreu eliminar tots els errors del vostre codi.
Recomanat:
Porta imatges amb altaveu incorporat: 7 passos (amb imatges)
Suport d'imatges amb altaveu incorporat: aquí teniu un gran projecte per dur a terme durant el cap de setmana, si voleu que us poseu un altaveu que pugui contenir imatges / postals o fins i tot la vostra llista de tasques. Com a part de la construcció, utilitzarem un Raspberry Pi Zero W com a centre del projecte i un
Minesweeper-Raspberry-Pi-Edition: 7 passos (amb imatges)
Minesweeper-Raspberry-Pi-Edition: El meu projecte final per a la sèrie CSC 130 a la Louisiana Tech University és el Minesweeper Raspberry Pi Edition. En aquest projecte, vaig intentar recrear el clàssic joc de minesweeper mitjançant la biblioteca Tkinter de la programació Python
Reconeixement d'imatges amb plaques K210 i Arduino IDE / Micropython: 6 passos (amb imatges)
Reconeixement d’imatges amb plaques K210 i Arduino IDE / Micropython: ja vaig escriure un article sobre com executar demostracions d’OpenMV a Sipeed Maix Bit i també vaig fer un vídeo de demostració de detecció d’objectes amb aquesta placa. Una de les moltes preguntes que la gent ha formulat és: com puc reconèixer un objecte que la xarxa neuronal no és tr
Gesture Hawk: robot controlat amb gestos manuals mitjançant la interfície basada en el processament d’imatges: 13 passos (amb imatges)
Gesture Hawk: robot controlat amb gestos manuals mitjançant interfície basada en el processament d’imatges: Gesture Hawk es va mostrar a TechEvince 4.0 com una interfície simple màquina basada en el processament d’imatges. La seva utilitat rau en el fet que no es requereixen cap sensor addicional ni un dispositiu portàtil, excepte un guant, per controlar el cotxe robòtic que funciona amb diferents
Com desmuntar un ordinador amb passos i imatges senzills: 13 passos (amb imatges)
Com desmuntar un ordinador amb passos i imatges senzills: és una instrucció sobre com desmuntar un ordinador. La majoria dels components bàsics són modulars i fàcilment eliminables. Tanmateix, és important que us organitzeu al respecte. Això us ajudarà a evitar la pèrdua de peces i també a fer el muntatge