Tartalomjegyzék:
- 1. lépés: Áttekintés
- 2. lépés: Anyagok
- 3. lépés: A játék elkészítése
- 4. lépés: Jövőbeli módosítások
- 5. lépés: Következtetés
Videó: Aknakereső: 5 lépés (képekkel)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:43
A CPE 133 végső projektünkhöz Chase és én úgy döntöttünk, hogy létrehozunk egy „Aknakereső” játékot, amely a Basys-3 tábláról és a VHDL kódból származó gombokat és kapcsolókat használja. A játék jobb neve nagyon is az „orosz rulett” lehet, mi azonban családbarátabb névvel akartunk menni. A játék során a felhasználó megnyomja a Basys tábla középső gombját, és véletlenszerűen hozzárendeli a 16 kapcsoló egyikét, hogy „aktív” legyen egy bombával. Ezután két játékos felváltva tekeri fel a kapcsolókat, egyenként, amíg az egyik játékos el nem fordítja a kapcsolót a „bombával”. Amikor ez megtörténik, a hét szegmenses kijelző figyelmezteti a játékosokat, hogy az adott játékos éppen elvesztette a játékot.
1. lépés: Áttekintés
A projekt számos VHDL modult használt fel, amelyeket ebben a negyedévben használtunk. Négybites számlálót használtunk az óra szélével együtt, hogy szimuláljunk egy véletlenszerű négybites számot az egyik kapcsoló aktiválásához. Egy állapotdiagramot is használtak annak érdekében, hogy különböző szavakat vigyenek ki a hét szegmenses kijelzőre, kezdve a „PLAY” -től, amikor a játékosok a játék közepén vannak, és a „LOSE” -ig, amikor az egyik játékos elfordította az aktív kapcsolót.
2. lépés: Anyagok
- Basys3 Development Board, Digilent, Inc.
- Vivado Design Suite BC_DEC.vhd (Ezt a fájlt a Polylearn webhelyről kaptuk, és Bryan Mealy írta)
- 4 bites számláló, T papucsból
- Egy FSM
3. lépés: A játék elkészítése
A játék elkészítésének első lépése az volt, hogy megrajzoltunk egy kapcsolási rajzot az összes használni kívánt összetevővel. A rendszer bemenetei az 1. gomb, a 16 kapcsoló és az óra voltak. A kimenetek a hét szegmenses kijelző és az anódok voltak. A kapcsolási rajz elkészítése után minden forráshoz egyedi forrásfájlokat írtunk a Vivado -ban, és a fő forrásfájl alatt porttérképek segítségével állítottuk össze őket.
A játék alapja a 16 kapcsoló egyikének véletlenszerű hozzárendelése egy bombával, és a játékosok nem tudják, melyik kapcsoló aktív, amíg az aktív kapcsolót fel nem kapcsolják. Véletlen és ál-véletlen számgenerátorokat vizsgáltunk online, de végül úgy döntöttünk, hogy a 4 bites számláló használata és a megfelelő kapcsoló aktívnak való hozzárendelése kellően véletlenszerű ahhoz, amit kerestünk. A korábbi projektben létrehozott 4 bites számlálónkat újrahasznosíthattuk, hogy ezzel a feladattal dolgozhassunk. A számlálót 0-15 közötti véletlen szám létrehozására használtuk; majd a main1 komponensben a véletlen szám tizedes megfelelőjét hozzárendeltük a megfelelő kapcsolóhoz a táblán. Amint a sematikus ábrán látható, mind a main1 komponens X kimenete („aktív bomba”), mind a kapcsolók, amelyeket a játékosok bekapcsolnak, az FSM1 -re lépnek. Az állapotgép egy bites Z értéket ad ki, amelyet a BC_DEC1 olvas. Az általunk használt véges állapotú gépnek két különböző állapota van: az A állapotban a hét szegmenses kijelző „PLAY” kimenetet ad ki, és a gép ebben az állapotban marad, amíg fel nem ismeri, hogy az aktivált kapcsoló el van fordítva. Amint ez megtörténik, az FSM a B állapotba kerül, ahol a „LOSE” értéket adja ki a hét szegmenses kijelzőre, és ebben az állapotban marad, amíg mind a 16 kapcsoló „0” -ra nem áll. Ha ez a feltétel teljesül, az FSM ismét az A állapotba kerül, és várja, hogy a játékosok újabb játékot kezdjenek. A fenti FSM megértését segítő Moore -diagram látható.
4. lépés: Jövőbeli módosítások
Néhány módosítás, amelyet a játékunkon fontolgattunk, többek között további bombák hozzáadása a mezőhöz (esetleg egyről háromra növelve), pontszámláló és több forduló hozzáadása. Végül ezekkel a fejlesztésekkel döntöttünk, mivel azt tapasztaltuk, hogy egy hosszabb, hosszabb játékot általában feszültebb és a végén szórakoztatóbb, mint egy játékot, amely általában három vagy négy váltás után fejeződött be.
5. lépés: Következtetés
Nagyon örültünk a projekt végeredményének; nemcsak azért, mert a játék végső verzióját szórakoztató volt játszani, hanem azért is, mert a projekt létrehozása és programozása megkövetelte, hogy a legtöbbet használjuk, ha nem mindazt, amit ebben a negyedévben tanultunk. Használtuk a papucsokat, számlálókat, FSM -eket, az órát, a felhasználói adatokat a tábláról és a kimenetet a hét szegmenses kijelzőre.
Azt is megtudhattuk, hogy néhány szintaktikai hiba hogyan tudja teljesen megtörni a programot (még akkor is, ha más programozási nyelveken, például a Pythonon vagy a Java -n jónak minősülnének), és hogy csak többszöri szimuláció és többszöri iteráció után, amikor a kódot feltöltötték és tesztelték a tábla, végre ki tudja dolgozni az összes hibát a kódjából.
Ajánlott:
DIY 37 LED Arduino rulett játék: 3 lépés (képekkel)
DIY 37 Leds Arduino Roulette Játék: A rulett egy kaszinójáték, amelyet a francia szóról neveztek el, jelentése kis kerék
Covid védősisak 1. rész: Bevezetés a Tinkercad áramkörökbe!: 20 lépés (képekkel)
Covid védősisak 1. rész: Bevezetés a Tinkercad áramkörökbe!: Helló, barátom! Ebben a kétrészes sorozatban megtanuljuk használni a Tinkercad áramköreit - ez egy szórakoztató, hatékony és oktató eszköz az áramkörök működésének megismerésére! A tanulás egyik legjobb módja, ha megteszed. Tehát először megtervezzük saját projektünket:
Útmutató: A Raspberry PI 4 fej nélküli (VNC) telepítése Rpi-képalkotóval és képekkel: 7 lépés (képekkel)
Útmutató: A Raspberry PI 4 fej nélküli (VNC) telepítése Rpi-képalkotóval és képekkel: Ezt a Rapsberry PI-t tervezem használni egy csomó szórakoztató projektben a blogomban. Nyugodtan nézd meg. Vissza akartam kezdeni a Raspberry PI használatát, de nem volt billentyűzetem vagy egér az új helyen. Rég volt, hogy beállítottam egy málnát
Bolt - DIY vezeték nélküli töltő éjszakai óra (6 lépés): 6 lépés (képekkel)
Bolt - DIY vezeték nélküli töltés éjszakai óra (6 lépés): Az induktív töltés (más néven vezeték nélküli töltés vagy vezeték nélküli töltés) a vezeték nélküli áramátvitel egyik típusa. Elektromágneses indukciót használ a hordozható eszközök áramellátásához. A leggyakoribb alkalmazás a Qi vezeték nélküli töltő
A számítógép szétszerelése egyszerű lépésekkel és képekkel: 13 lépés (képekkel)
A számítógép szétszerelése egyszerű lépésekkel és képekkel: Ez az utasítás a számítógép szétszereléséről szól. A legtöbb alapvető alkatrész moduláris és könnyen eltávolítható. Fontos azonban, hogy szervezett legyen ezzel kapcsolatban. Ez segít elkerülni az alkatrészek elvesztését, és az újra összerakást is