Console de jeu matricielle Arduino (4 / 7 étapes)

Étape 4: La Console de programmation

Pour travailler le croquis de l’Arduino correctement il faut LedControl bibliothèque reliée à cette étape. J’ai télécharger le Arduino Sketch complet pour le jeu de serpent de Nokia téléphone. Vous pouvez développer votre propre jeu. Pour télécharger le croquis première Ajouter la bibliothèque à votre environnement arduino, juste télécharger le croquis sur votre arduino, retirer le microcontrôleur de la carte et le mettre à votre console de jeu. Je vais télécharger plus de jeu pour la console à l’avenir. . Juste il.

 #include "LedControl.h" // connection to MAX7219 (data, clik, load, #of dispplay) LedControl lc = LedControl(11,13,10,1); // direction const int TOP = 0; const int RIGHT = 1; const int BOTTOM = 2; const int LEFT = 3; // Snake length const int MAX_SNAKE_LENGTH = 16; // Variables //Adafruit_8x8matrix matrix = Adafruit_8x8matrix(); // Display int direction = RIGHT; // direction of movement int snakeX[MAX_SNAKE_LENGTH]; // X-coordinates of snake int snakeY[MAX_SNAKE_LENGTH]; // Y-coordinates of snake int snakeLength = 3; int score = 3;// unsigned long prevTime = 0; // for gamedelay (ms) unsigned long delayTime = 500; // Game step in ms int fruitX, fruitY; unsigned long fruitPrevTime = 0; unsigned long fruitBlinkTime = 100; unsigned long bonusTime = 0; unsigned long bonusPrevTime = 0; int fruitLed = true; int bonusLed = true; int bonusX, bonusY; void setup(){ ////wake up the MAX72XX from power-saving mode lc.shutdown(0,false); //set a medium brightness for the Leds lc.setIntensity(0, 15); //Switch all Leds on the display off. lc.clearDisplay(0); Serial.begin(9600); randomSeed(analogRead(0)); pinMode(0,INPUT); //pinMode(17,INPUT); pinMode(1,INPUT); pinMode(2,INPUT); pinMode(3,INPUT); pinMode(4,INPUT); pinMode(5,INPUT); //buzzer pinMode(12,OUTPUT); snakeX[0] = 0; snakeY[0] = 4; for(int i=1; i<MAX_SNAKE_LENGTH; i++){ snakeX[i] = snakeY[i] = -1; } makeFruit(); } void loop(){ delay(10); checkButtons(); // if any button is pressed or not unsigned long currentTime = millis(); if(currentTime - prevTime >= delayTime){ nextstep(); prevTime = currentTime; } draw(); // make snack & food } void checkButtons(){ if(digitalRead(3)==0) direction = TOP; else if(digitalRead(4)==0) direction = RIGHT; else if(digitalRead(5)==0) direction = LEFT; else if(digitalRead(2)==0) direction = BOTTOM; } void draw(){ lc.clearDisplay(0); drawSnake(); drawFruit(); } void drawSnake(){ for(int i=0; i<snakeLength; i++){ lc.setLed(0,snakeX[i], snakeY[i], true); } } void drawFruit(){ if(inPlayField(fruitX, fruitY)){ unsigned long currenttime = millis(); if(currenttime - fruitPrevTime >= fruitBlinkTime){ fruitLed = (fruitLed == true) ? false : true; fruitPrevTime = currenttime; } lc.setLed(0,fruitX, fruitY, fruitLed); } } boolean inPlayField(int x, int y){ return (x>=0) && (x<8) && (y>=0) && (y<8); } void nextstep(){ for(int i=snakeLength-1; i>0; i--){ if((direction == RIGHT)&&(snakeX[0]-snakeLength == 7)) snakeX[0] = -1; else if((direction == LEFT)&&(snakeX[0]+ snakeLength == 0)) snakeX[0] = 8; else snakeX[i] = snakeX[i-1]; if((direction == TOP) && (snakeY[0]+snakeLength == 0)) snakeY[0]=8; else if((direction == BOTTOM) && (snakeY[0]-snakeLength == 7)) snakeY[0]=-1; else snakeY[i] = snakeY[i-1]; } switch(direction){ case TOP: snakeY[0] = snakeY[0]-1; break; case RIGHT: snakeX[0] = snakeX[0]+1; break; case BOTTOM: snakeY[0] = snakeY[0]+1; break; case LEFT: snakeX[0]=snakeX[0]-1; break; } if((snakeX[0] == fruitX) && (snakeY[0] == fruitY)){ snakeLength++; score++; tone(12,4500,50); if(snakeLength < MAX_SNAKE_LENGTH){ makeFruit(); } else { fruitX = fruitY = -1; } if(score%8==0) { snakeLength = 3; delayTime = delayTime - 100; } } snakeItSelf(); } void makeFruit(){ int x, y; x = random(0, 8); y = random(0, 8); while(isPartOfSnake(x, y)){ x = random(0, 8); y = random(0, 8); } fruitX = x; fruitY = y; } boolean isPartOfSnake(int x, int y){ for(int i=0; i<snakeLength-1; i++){ if((x == snakeX[i]) && (y == snakeY[i])){ return true; } } return false; } void snakeItSelf(){ // check if snack touch itself for(int i=1;i<snakeLength;i++){ if((snakeX[0] == snakeX[i]) && (snakeY[0] == snakeY[i])) gameOver(); } } void gameOver(){ // game over sound tone(12,1000,100); delay(100); tone(12,1500,200); delay(200); tone(12,2000,300); delay(300); tone(12, 494,500); delay(500); lc.clearDisplay(0); for(int r = 0; r < 8; r++){ for(int c = 0; c < 8; c++){ lc.setLed(0, r, c, HIGH); delay(50); }delay(50); } delay(300); score = 3; snakeLength = 3; direction = RIGHT; snakeX[0]=3; snakeY[0]=4; delayTime = 500; loop(); } void drawBonus(){ if(inPlayField(fruitX, fruitY)){ unsigned long bonusTime = millis(); if(bonusTime - bonusPrevTime >= 300){ bonusLed = (bonusLed == true) ? false : true; bonusPrevTime = bonusTime; } lc.setLed(0,bonusX, bonusY, bonusLed); } } void makeBonus(){ int x, y; x = random(0, 8); y = random(0, 8); while(isPartOfSnake(x, y)){ x = random(0, 8); y = random(0, 8); } bonusX = x; bonusY = y; } 

Articles Liés

Console de jeu ultime classique manette pour adaptateur USB

Console de jeu ultime classique manette pour adaptateur USB

Cet article décrit comment utiliser un Arduino Leonardo ou Arduino Micro pour mettre à la disposition d'un ordinateur modern (p. ex. Windows PC, Mac ou Linux) jusqu'à trois manettes de console classique (Atari 2600, ColecoVision et éventuellement d'a
Microduino est de retour sur Kickstarter avec manette - une console de jeu 8 bits libres & plus !

Microduino est de retour sur Kickstarter avec manette - une console de jeu 8 bits libres & plus !

À la 25e anniversaire de la console Game Boy, nous publions maintenant Joypad - console de jeux multifonction 8 bits pour afficher nos respects à Gameboy--la console de jeu plus classique dans l'histoire.Avec cette manette peu élégantes, nous espéron
Console de jeu portable Pi framboise 20 $

Console de jeu portable Pi framboise 20 $

Il y a des tonnes d'émulateurs jeu rétro Raspberry Pi autour sur l'internet, mais la plupart sont assez cher. Avec le nouveau $5 Raspberry Pi Zero, dans ce Instructable je vais vous montrer comment construire une batterie complètement portable alimen
Raspi Pip-boy, console de jeu Portable / ordinateur

Raspi Pip-boy, console de jeu Portable / ordinateur

Salut, je voudrais présenter mon premier projet de framboise-pi.Un Pip-boy comme ordinateur personnel (si vous êtes un Fan de Fallout, vous voyez ce que je veux dire) ! :Vue d'ensemble :- Framboise-pi modèle B + un écran tactile 2.8 LCD 8bits en para
Comment faire une poche portable Nintendo 64 N64 console de jeu - iNto64

Comment faire une poche portable Nintendo 64 N64 console de jeu - iNto64

Ever voulais faire votre console de jeu Nintendo 64 (N64) dans un appareil portable portatif pour « sur le pouce » jouer ?Ce système fonctionne sur des batteries Li-ion sont assez puissants pour faire fonctionner le système, qui sont également des pi
Console de jeu ultime Cooler

Console de jeu ultime Cooler

ce Instructable est pour le jeu Console Cooler ultime.  Après avoir ma PS3 et la Xbox 360 envoyé en réparation (plusieurs fois), que j'ai décidé que je devais arriver à une meilleure façon de garder la chaleur vers le bas à ces consoles de jeux cher.
El Jugador : Console de jeu DIY Retro

El Jugador : Console de jeu DIY Retro

sais un peu BASIC ou C ? Vous pouvez faire des jeux avec El Jugador, une console de jeu open source rétro basée sur une hélice de parallaxe.Nouveau!  Nous avons amélioré El Jugador, ça s'appelle Joueur rapide et vous pouvez le vérifier ici.Caractéris
Consoles de jeu vidéo!!!

Consoles de jeu vidéo!!!

S'il vous plaît jeter un oeil à ce que d'autres disent de mon travail comme MTV , PC WORLD , 1UP.COM , FANBOY et CRAZIESTGADGETSMerci de vérifier sur mon entrée.  J'ai fait des consoles de jeu vidéo et de l'électronique personnalisé depuis 04' - 05'.
Smart Phone Console de jeu

Smart Phone Console de jeu

Ce Instructable est pour savoir comment mettre votre téléphone intelligent une console de jeu et de jouer à des jeux de toutes sortes de systèmes tels que Nintendo et Playstation ! Les téléphones intelligents viennent dans toutes les différentes form
Fait maison de Console de jeu Pentium III

Fait maison de Console de jeu Pentium III

Bonjour à tous ! Il y a plusieurs mois, je me suis embarqué sur un projet de construction d'une console de jeu 100 % à partir de zéro, basé sur le processeur Pentium III. Eh bien, tout, sauf la fourniture de CD drive et puissance. Il s'agit d'un trav
AVRelay - gites programmation console de jeu de poche AVR

AVRelay - gites programmation console de jeu de poche AVR

Salut!Je veux vous montrer mon projet « AVRelay ». C'est un mini-ordinateur poche d'AVR. Si vous êtes en mesure de charger à partir d'une application ou jeu de cartes SD, il charge système au démarrage. Sur la vidéo vous pouvez voir une version plus
Console de jeu rétro All-In-One

Console de jeu rétro All-In-One

aimez-vous votre NES ? Qu'en est-il votre SNES, Game Boy, Megadrive ou la N64 ?Pourquoi ne pas combiner tous ces systèmes dans un seul système fluid tous enfermé dans la boîte bien-aimé, connue comme la Nintendo Entertainment System ? Eh bien, je vai
Xbox 360 console de jeu de contrôleur et de guide / stand magizine

Xbox 360 console de jeu de contrôleur et de guide / stand magizine

il s'agit d'un stand, j'ai fait pour ma xbox 360. Sur le fond, elle détient que la 360 dans le compartiment qui précède est l'espace pour les guides de jeu ou des magazines. ci-dessus le porte-revues est l'une tablette aux jeux hold16 cela peut être
Mettre un 19 pouces Tv et Console de jeu dans votre voiture

Mettre un 19 pouces Tv et Console de jeu dans votre voiture

un voyage en pierre jaune de rabotage est ma famille et il sera environ de 36 heures de route aller/retour. Alors j'ai fait un montage pour un 19 pouces tv et une suite pour alimenter le téléviseur et ma Xbox.Etape 1: Montage du téléviseur De monter