Dit project werd afgerond voor de klasse ECE2220, bij de Universiteit van Manitoba, voor de periode van de herfst 2015. Het bestuur gebruikt gedurende het hele project is een Altera DE2 Cyclone IV-board. Codering wordt gedaan met Verilog HDL via Quartus II.
.
"Snake" is een eenvoudig spel waar de gebruiker bepaalt een slang te eten objecten gegenereerd op willekeurige locaties in het afspeelgebied. De slang wordt langer en moeilijker om te bepalen hoe meer items die zij verbruikt. Je verliest als het hoofd van de slang botst met zijn eigen lichaam, of als de slang raakt een van de randen.
Het spel is ontstaan uit de 1976 arcadespel blokkade [1], en variaties op het spel zijn nog steeds rond vandaag. Bijvoorbeeld in de YouTube-website, kun je spelen snake over een video terwijl hij laadt, en Google heeft gemaakt een doodle waarin je spelen kunt een enigszins bijgewerkte versie van de slang.
.
De vier deelnemers aan dit project zijn:
Computer Engineering studenten: Daniel Lovegrove, Ian Sweetland
Elektrotechniek-studenten: Kristjan Jacobson, Roberto Alves
.
Wat nodig is voor het repliceren van dit project:
-Altera DE2-115 bestuur
-VGA-kabel & monitor
-PS/2-toetsenbord (een USB-toetsenbord met een PS/2-adapter kan of kan niet werken, tellen niet op het)
-USB-kabel aan het programma uploaden naar de Raad van bestuur
-Stroomkabel voor board
-Quartus II Software openen de Verilog-code te bewerken
.
Opeenvolgende stappen zal uitleggen van de kenmerken van het spel, en uitleggen van de VGA-uitgang/toetsenbordinvoer zodat toekomstige studenten een beter idee van hoe ze werken, en de implementatie ervan in hun eigen projecten. Dit waren de moeilijkste onderdelen van het project te doen, want er niet een grote hoeveelheid nuttige informatie op het internet is voor de uitvoering van deze functies met Verilog.
.
** Voornamelijk, probeert dit instructable een beknopte richtsnoer voor de toekomstige project-gangers die een verwijzing voor verschillende modules nodig hebben, en om te begrijpen meer van de mogelijkheden van de FPGA-board.
[De broncode is op de laatste pagina (referenties)]