ENIB 2022 : Snake Player : Différence entre versions
(→Que fait ce projet ?) |
m |
||
| (2 révisions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 9 : | Ligne 9 : | ||
* Arduino UNO | * Arduino UNO | ||
| − | * | + | * 8x32 Led Matrix |
| − | * | + | * Analog Joystick |
| − | + | * breadboard (generic) | |
| − | *breadboard (generic) | + | * Jumpers |
| − | * | + | * potentiomètre |
| + | |||
==Code== | ==Code== | ||
<pre> | <pre> | ||
| − | + | // Dahddammm Robotics// | |
| − | </pre> | + | |
| + | #include <MD_KeySwitch.h> | ||
| + | #include <MD_MAX72xx.h> | ||
| + | #define MAX_DEVICES 5 | ||
| + | #define CLK_PIN 13 // or SCK | ||
| + | #define DATA_PIN 11 // or MOSI | ||
| + | #define CS_PIN 10 // or SS | ||
| + | #define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW | ||
| + | MD_MAX72XX mx = MD_MAX72XX(HARDWARE_TYPE,CS_PIN, MAX_DEVICES); | ||
| + | |||
| + | const int potmeter = 3; | ||
| + | int coord[200][2]; | ||
| + | int leng = 1; | ||
| + | int prev; | ||
| + | int point[5][2] {{10,5},{3,1},{25,3},{15,7},{11,3}}; | ||
| + | |||
| + | int ch1 = 5; | ||
| + | int ch2 = 8; | ||
| + | int ch3 = 9; | ||
| + | int ch4 = 4; | ||
| + | int aa = 6; | ||
| + | int bb = 19; | ||
| + | int cc = 2; | ||
| + | int dd = 1; | ||
| + | int ee = 0; | ||
| + | int ff = 7; | ||
| + | int gg = 3; | ||
| + | int dot = 25; | ||
| + | int delay1=3; | ||
| + | |||
| + | int blue = 12; | ||
| + | int green = 18; | ||
| + | |||
| + | int screens = 1; | ||
| + | int record; | ||
| + | int points; | ||
| + | int screenpick = 0; | ||
| + | int diff = 0; | ||
| + | int speedx; | ||
| + | int supermode; | ||
| + | int doublepoints; | ||
| + | long counter; | ||
| + | |||
| + | |||
| + | void slide() | ||
| + | { | ||
| + | for(int x = 99; x > 0; x--) | ||
| + | { | ||
| + | coord[x][0] = coord[x-1][0]; | ||
| + | coord[x][1] = coord[x-1][1]; | ||
| + | } | ||
| + | return; | ||
| + | } | ||
| + | |||
| + | |||
| + | |||
| + | int Joystick() | ||
| + | { | ||
| + | // 0 = up | ||
| + | // 1 = down | ||
| + | // 2 = right | ||
| + | // 3 = left | ||
| + | // 4 = nothing | ||
| + | // 5 = click | ||
| + | const int VRx = 0; | ||
| + | const int VRy = 1; | ||
| + | const int SW = 2; | ||
| + | if(analogRead(VRy) > 900) | ||
| + | { | ||
| + | prev = 0; | ||
| + | return 0; | ||
| + | } | ||
| + | if(analogRead(VRy) < 120) | ||
| + | { | ||
| + | prev = 1; | ||
| + | return 1; | ||
| + | } | ||
| + | if(analogRead(VRx) > 900) | ||
| + | { | ||
| + | prev = 2; | ||
| + | return 2; | ||
| + | } | ||
| + | if(analogRead(VRx) < 120) | ||
| + | { | ||
| + | prev = 3; | ||
| + | return 3; | ||
| + | } | ||
| + | if(analogRead(SW) == 0) | ||
| + | { | ||
| + | return 5; | ||
| + | } | ||
| + | return prev; | ||
| + | } | ||
| + | |||
| + | // Dahddammm Robotics// | ||
| + | |||
| + | |||
| + | void setup() | ||
| + | { | ||
| + | mx.begin(); | ||
| + | coord[1][0] = coord[0][0] = 5; | ||
| + | coord[1][1] = coord[0][1] = 5; | ||
| + | pinMode(ch1, OUTPUT); | ||
| + | pinMode(ch2, OUTPUT); | ||
| + | pinMode(ch3, OUTPUT); | ||
| + | pinMode(ch4, OUTPUT); | ||
| + | pinMode(aa, OUTPUT); | ||
| + | pinMode(bb, OUTPUT); | ||
| + | pinMode(cc, OUTPUT); | ||
| + | pinMode(dd, OUTPUT); | ||
| + | pinMode(ee, OUTPUT); | ||
| + | pinMode(ff, OUTPUT); | ||
| + | pinMode(gg, OUTPUT); | ||
| + | pinMode(dot, OUTPUT); | ||
| + | pinMode(blue, OUTPUT); | ||
| + | pinMode(green, OUTPUT); | ||
| + | } | ||
| + | |||
| + | void led(int x, int y) | ||
| + | { | ||
| + | mx.setPoint(y-1, x-1, 1); | ||
| + | return; | ||
| + | } | ||
| + | |||
| + | |||
| + | |||
| + | void loop() | ||
| + | { | ||
| + | while(screens == 1) | ||
| + | { | ||
| + | supermode = 0; | ||
| + | doublepoints = 0; | ||
| + | digitalWrite(blue,0); | ||
| + | digitalWrite(green,0); | ||
| + | mx.clear(); | ||
| + | if (points > record) | ||
| + | { | ||
| + | record = points; | ||
| + | } | ||
| + | coord[1][0] = coord[0][0] = 5; | ||
| + | coord[1][1] = coord[0][1] = 5; | ||
| + | while(screens == 1) | ||
| + | { | ||
| + | diff = analogRead(potmeter) / 100; | ||
| + | if (Joystick() == 5) | ||
| + | { | ||
| + | screens = 0; | ||
| + | speedx = (12-diff)*9; | ||
| + | screenpick = 0; | ||
| + | leng = 1; | ||
| + | points = 0; | ||
| + | } | ||
| + | if (analogRead(0) > 1000) | ||
| + | { | ||
| + | screenpick++; | ||
| + | if(screenpick > 2) screenpick = 0; | ||
| + | mx.clear(); | ||
| + | delay(1000); | ||
| + | } | ||
| + | if (analogRead(0) < 150) | ||
| + | { | ||
| + | screenpick--; | ||
| + | if(screenpick < 0) screenpick = 2; | ||
| + | mx.clear(); | ||
| + | delay(1000); | ||
| + | } | ||
| + | switch(screenpick) | ||
| + | { | ||
| + | case 0: | ||
| + | printNumber(points,0); | ||
| + | // E | ||
| + | led(30,7); | ||
| + | led(30,3); | ||
| + | led(30,4); | ||
| + | led(30,5); | ||
| + | led(30,6); | ||
| + | led(29,3); | ||
| + | led(28,3); | ||
| + | led(29,7); | ||
| + | led(28,7); | ||
| + | led(28,5); | ||
| + | led(29,5); | ||
| + | |||
| + | // N | ||
| + | led(21,3); | ||
| + | led(21,4); | ||
| + | led(21,5); | ||
| + | led(21,6); | ||
| + | led(21,7); | ||
| + | led(22,4); | ||
| + | led(23,5); | ||
| + | led(24,6); | ||
| + | led(25,3); | ||
| + | led(25,4); | ||
| + | led(25,5); | ||
| + | led(25,6); | ||
| + | led(25,7); | ||
| + | |||
| + | //I | ||
| + | led(19,3); | ||
| + | led(19,4); | ||
| + | led(19,5); | ||
| + | led(19,6); | ||
| + | led(19,7); | ||
| + | |||
| + | //B | ||
| + | |||
| + | led(14,4); | ||
| + | |||
| + | led(14,6); | ||
| + | |||
| + | |||
| + | led(15,3); | ||
| + | led(15,5); | ||
| + | led(15,7); | ||
| + | |||
| + | led(16,3); | ||
| + | led(16,5); | ||
| + | led(16,7); | ||
| + | |||
| + | led(17,3); | ||
| + | led(17,4); | ||
| + | led(17,5); | ||
| + | led(17,6); | ||
| + | led(17,7); | ||
| + | |||
| + | |||
| + | // FACE | ||
| + | led(1,3); | ||
| + | led(1,4); | ||
| + | led(1,5); | ||
| + | led(1,6); | ||
| + | |||
| + | led(2,2); | ||
| + | led(2,7); | ||
| + | |||
| + | led(3,1); | ||
| + | led(3,4); | ||
| + | led(3,6); | ||
| + | led(3,8); | ||
| + | |||
| + | led(4,1); | ||
| + | led(4,3); | ||
| + | led(4,8); | ||
| + | |||
| + | led(5,1); | ||
| + | led(5,3); | ||
| + | led(5,8); | ||
| + | |||
| + | led(6,1); | ||
| + | led(6,4); | ||
| + | led(6,6); | ||
| + | led(6,8); | ||
| + | |||
| + | led(7,2); | ||
| + | led(7,7); | ||
| + | |||
| + | led(8,3); | ||
| + | led(8,4); | ||
| + | led(8,5); | ||
| + | led(8,6); | ||
| + | |||
| + | break; | ||
| + | |||
| + | case 1: | ||
| + | printNumber(record,0); | ||
| + | // E | ||
| + | led(30,7); | ||
| + | led(30,3); | ||
| + | led(30,4); | ||
| + | led(30,5); | ||
| + | led(30,6); | ||
| + | led(29,3); | ||
| + | led(28,3); | ||
| + | led(29,7); | ||
| + | led(28,7); | ||
| + | led(28,5); | ||
| + | led(29,5); | ||
| + | |||
| + | // N | ||
| + | led(21,3); | ||
| + | led(21,4); | ||
| + | led(21,5); | ||
| + | led(21,6); | ||
| + | led(21,7); | ||
| + | led(22,4); | ||
| + | led(23,5); | ||
| + | led(24,6); | ||
| + | led(25,3); | ||
| + | led(25,4); | ||
| + | led(25,5); | ||
| + | led(25,6); | ||
| + | led(25,7); | ||
| + | |||
| + | //I | ||
| + | led(19,3); | ||
| + | led(19,4); | ||
| + | led(19,5); | ||
| + | led(19,6); | ||
| + | led(19,7); | ||
| + | |||
| + | //B | ||
| + | |||
| + | led(14,4); | ||
| + | |||
| + | led(14,6); | ||
| + | |||
| + | |||
| + | led(15,3); | ||
| + | led(15,5); | ||
| + | led(15,7); | ||
| + | |||
| + | led(16,3); | ||
| + | led(16,5); | ||
| + | led(16,7); | ||
| + | |||
| + | led(17,3); | ||
| + | led(17,4); | ||
| + | led(17,5); | ||
| + | led(17,6); | ||
| + | led(17,7); | ||
| + | |||
| + | |||
| + | // FACE | ||
| + | led(1,3); | ||
| + | led(1,4); | ||
| + | led(1,5); | ||
| + | led(1,6); | ||
| + | |||
| + | led(2,2); | ||
| + | led(2,7); | ||
| + | |||
| + | led(3,1); | ||
| + | led(3,4); | ||
| + | led(3,6); | ||
| + | led(3,8); | ||
| + | |||
| + | led(4,1); | ||
| + | led(4,3); | ||
| + | led(4,8); | ||
| + | |||
| + | led(5,1); | ||
| + | led(5,3); | ||
| + | led(5,8); | ||
| + | |||
| + | led(6,1); | ||
| + | led(6,4); | ||
| + | led(6,6); | ||
| + | led(6,8); | ||
| + | |||
| + | led(7,2); | ||
| + | led(7,7); | ||
| + | |||
| + | led(8,3); | ||
| + | led(8,4); | ||
| + | led(8,5); | ||
| + | led(8,6); | ||
| + | |||
| + | break; | ||
| + | |||
| + | case 2: | ||
| + | printNumber(diff,0); | ||
| + | // E | ||
| + | led(30,7); | ||
| + | led(30,3); | ||
| + | led(30,4); | ||
| + | led(30,5); | ||
| + | led(30,6); | ||
| + | led(29,3); | ||
| + | led(28,3); | ||
| + | led(29,7); | ||
| + | led(28,7); | ||
| + | led(28,5); | ||
| + | led(29,5); | ||
| + | |||
| + | // N | ||
| + | led(21,3); | ||
| + | led(21,4); | ||
| + | led(21,5); | ||
| + | led(21,6); | ||
| + | led(21,7); | ||
| + | led(22,4); | ||
| + | led(23,5); | ||
| + | led(24,6); | ||
| + | led(25,3); | ||
| + | led(25,4); | ||
| + | led(25,5); | ||
| + | led(25,6); | ||
| + | led(25,7); | ||
| + | |||
| + | //I | ||
| + | led(19,3); | ||
| + | led(19,4); | ||
| + | led(19,5); | ||
| + | led(19,6); | ||
| + | led(19,7); | ||
| + | |||
| + | //B | ||
| + | |||
| + | led(14,4); | ||
| + | |||
| + | led(14,6); | ||
| + | |||
| + | |||
| + | led(15,3); | ||
| + | led(15,5); | ||
| + | led(15,7); | ||
| + | |||
| + | led(16,3); | ||
| + | led(16,5); | ||
| + | led(16,7); | ||
| + | |||
| + | led(17,3); | ||
| + | led(17,4); | ||
| + | led(17,5); | ||
| + | led(17,6); | ||
| + | led(17,7); | ||
| + | |||
| + | |||
| + | // FACE | ||
| + | led(1,3); | ||
| + | led(1,4); | ||
| + | led(1,5); | ||
| + | led(1,6); | ||
| + | |||
| + | led(2,2); | ||
| + | led(2,7); | ||
| + | |||
| + | led(3,1); | ||
| + | led(3,4); | ||
| + | led(3,6); | ||
| + | led(3,8); | ||
| + | |||
| + | led(4,1); | ||
| + | led(4,3); | ||
| + | led(4,8); | ||
| + | |||
| + | led(5,1); | ||
| + | led(5,3); | ||
| + | led(5,8); | ||
| + | |||
| + | led(6,1); | ||
| + | led(6,4); | ||
| + | led(6,6); | ||
| + | led(6,8); | ||
| + | |||
| + | led(7,2); | ||
| + | led(7,7); | ||
| + | |||
| + | led(8,3); | ||
| + | led(8,4); | ||
| + | led(8,5); | ||
| + | led(8,6); | ||
| + | |||
| + | break; | ||
| + | |||
| + | } | ||
| + | } | ||
| + | |||
| + | } | ||
| + | for (int x = 0; x < speedx; x++) | ||
| + | { | ||
| + | printNumber(points,0); | ||
| + | } | ||
| + | slide(); | ||
| + | counter++; | ||
| + | if(counter == 40) | ||
| + | { | ||
| + | supermode = 0; | ||
| + | doublepoints = 0; | ||
| + | digitalWrite(blue,0); | ||
| + | digitalWrite(green,0); | ||
| + | } | ||
| + | switch(Joystick()) | ||
| + | { | ||
| + | case 0: | ||
| + | coord[0][1] = coord[1][1]+1; //y+1 | ||
| + | break; | ||
| + | case 1: | ||
| + | coord[0][1] = coord[1][1]-1; //y-1 | ||
| + | break; | ||
| + | case 2: | ||
| + | coord[0][0] = coord[1][0]+1; //x+1 | ||
| + | break; | ||
| + | case 3: | ||
| + | coord[0][0] = coord[1][0]-1; //x-1 | ||
| + | break; | ||
| + | } | ||
| + | for (int x = 0; x < 5; x++) | ||
| + | { | ||
| + | if (coord[0][0] == point[x][0] && coord[0][1] == point[x][1]) | ||
| + | { | ||
| + | if (random(0,diff+1) == 0) | ||
| + | { | ||
| + | supermode = 1; | ||
| + | counter = 0; | ||
| + | digitalWrite(blue,1); | ||
| + | } | ||
| + | if (random(0,9) == 0) | ||
| + | { | ||
| + | doublepoints = 1; | ||
| + | counter = 0; | ||
| + | digitalWrite(green,1); | ||
| + | } | ||
| + | leng++; | ||
| + | points += 5; | ||
| + | if(doublepoints == 1) points += 5; | ||
| + | if (speedx > (10-diff)*3 + 10) | ||
| + | { | ||
| + | speedx--; | ||
| + | } | ||
| + | point[x][0] = random(1,32); | ||
| + | point[x][1] = random(1,8); | ||
| + | } | ||
| + | } | ||
| + | if (supermode == 1) | ||
| + | { | ||
| + | if(coord[0][0] == 0) | ||
| + | { | ||
| + | coord[0][0] = 32; | ||
| + | } | ||
| + | if(coord[0][0] == 33) | ||
| + | { | ||
| + | coord[0][0] = 1; | ||
| + | } | ||
| + | if(coord[0][1] == 0) | ||
| + | { | ||
| + | coord[0][1] = 8; | ||
| + | } | ||
| + | if(coord[0][1] == 9) | ||
| + | { | ||
| + | coord[0][1] = 1; | ||
| + | } | ||
| + | } | ||
| + | mx.clear(); | ||
| + | for (int x = 0; x < leng; x++) | ||
| + | { | ||
| + | led(coord[x][0],coord[x][1]); | ||
| + | } | ||
| + | for (int x = 0; x < 5; x++) | ||
| + | { | ||
| + | led(point[x][0],point[x][1]); | ||
| + | } | ||
| + | if (supermode == 0) | ||
| + | { | ||
| + | if (coord[0][0] == 0 || coord[0][0] == 33 || coord[0][1] == 0 || coord[0][1] == 9) | ||
| + | { | ||
| + | screens = 1; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | |||
| + | for(int x = 1; x < leng; x++) | ||
| + | { | ||
| + | if (coord[0][0] == coord[x][0] && coord[0][1] == coord[x][1]) | ||
| + | { | ||
| + | screens = 1; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | void printNumber(long number,int place) | ||
| + | { | ||
| + | int num1 = number / 1000; | ||
| + | int num2 = number / 100 - num1 * 10; | ||
| + | int num3 = number / 10 - num1 * 100 - num2 * 10; | ||
| + | int num4 = number - num1 * 1000- num2 * 100 - num3 * 10; | ||
| + | |||
| + | //charachter 1 | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,0); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | digitalWrite(dot,0); | ||
| + | |||
| + | digitalWrite(ch1,0); | ||
| + | digitalWrite(ch2,1); | ||
| + | digitalWrite(ch3,1); | ||
| + | digitalWrite(ch4,1); | ||
| + | |||
| + | if(place==1) | ||
| + | { | ||
| + | digitalWrite(dot,1); | ||
| + | } | ||
| + | |||
| + | switch(num1) | ||
| + | { | ||
| + | case 0: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | |||
| + | case 1: | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | |||
| + | case 2: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,0); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 3: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 4: | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 5: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 6: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 7: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | |||
| + | case 8: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 9: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | default: | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,0); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | } | ||
| + | |||
| + | delay(delay1); | ||
| + | |||
| + | |||
| + | //charachter 2 | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,0); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | digitalWrite(dot,0); | ||
| + | |||
| + | digitalWrite(ch1,1); | ||
| + | digitalWrite(ch2,0); | ||
| + | digitalWrite(ch3,1); | ||
| + | digitalWrite(ch4,1); | ||
| + | |||
| + | if(place==2) | ||
| + | { | ||
| + | digitalWrite(dot,1); | ||
| + | } | ||
| + | |||
| + | switch(num2) | ||
| + | { | ||
| + | case 0: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | |||
| + | case 1: | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | |||
| + | case 2: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,0); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 3: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 4: | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 5: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 6: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 7: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | |||
| + | case 8: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 9: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | default: | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,0); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | } | ||
| + | |||
| + | delay(delay1); | ||
| + | |||
| + | |||
| + | //charachter 3 | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,0); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | digitalWrite(dot,0); | ||
| + | |||
| + | digitalWrite(ch1,1); | ||
| + | digitalWrite(ch2,1); | ||
| + | digitalWrite(ch3,0); | ||
| + | digitalWrite(ch4,1); | ||
| + | |||
| + | if(place==3) | ||
| + | { | ||
| + | digitalWrite(dot,1); | ||
| + | } | ||
| + | |||
| + | switch(num3) | ||
| + | { | ||
| + | case 0: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | |||
| + | // Dahddammm Robotics// | ||
| + | |||
| + | |||
| + | case 1: | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | |||
| + | case 2: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,0); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 3: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 4: | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 5: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 6: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 7: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | |||
| + | case 8: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 9: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | default: | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,0); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | } | ||
| + | |||
| + | |||
| + | |||
| + | delay(delay1); | ||
| + | |||
| + | |||
| + | //charachter 4 | ||
| + | digitalWrite(dot,0); | ||
| + | |||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,0); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | |||
| + | digitalWrite(ch1,1); | ||
| + | digitalWrite(ch2,1); | ||
| + | digitalWrite(ch3,1); | ||
| + | digitalWrite(ch4,0); | ||
| + | if(place==4) | ||
| + | { | ||
| + | digitalWrite(dot,1); | ||
| + | } | ||
| + | |||
| + | switch(num4) | ||
| + | { | ||
| + | case 0: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | |||
| + | case 1: | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | |||
| + | case 2: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,0); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 3: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 4: | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 5: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 6: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 7: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | |||
| + | case 8: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,1); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | case 9: | ||
| + | digitalWrite(aa,1); | ||
| + | digitalWrite(bb,1); | ||
| + | digitalWrite(cc,1); | ||
| + | digitalWrite(dd,1); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,1); | ||
| + | digitalWrite(gg,1); | ||
| + | break; | ||
| + | |||
| + | default: | ||
| + | digitalWrite(aa,0); | ||
| + | digitalWrite(bb,0); | ||
| + | digitalWrite(cc,0); | ||
| + | digitalWrite(dd,0); | ||
| + | digitalWrite(ee,0); | ||
| + | digitalWrite(ff,0); | ||
| + | digitalWrite(gg,0); | ||
| + | break; | ||
| + | } | ||
| + | |||
| + | // Dahddammm Robotics// | ||
| + | |||
| + | delay(delay1); | ||
| + | }</pre> | ||
==sources == | ==sources == | ||
| − | * https://create.arduino.cc/projecthub/ | + | * https://create.arduino.cc/projecthub/rishab8551/arduino-snake-game-using-arduino-and-martix-6c230c |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
* https://www.instructables.com/8x8-Matrix-Snake-Game/ | * https://www.instructables.com/8x8-Matrix-Snake-Game/ | ||
Version actuelle datée du 17 janvier 2022 à 16:03
Sommaire
photo de l'équipe
Que fait ce projet ?
Le snakeGame est un genre de jeu vidéo dans lequel le joueur dirige un serpent qui grandit et constitue ainsi lui-même un obstacle.
Liste des composants
- Arduino UNO
- 8x32 Led Matrix
- Analog Joystick
- breadboard (generic)
- Jumpers
- potentiomètre
Code
// Dahddammm Robotics//
#include <MD_KeySwitch.h>
#include <MD_MAX72xx.h>
#define MAX_DEVICES 5
#define CLK_PIN 13 // or SCK
#define DATA_PIN 11 // or MOSI
#define CS_PIN 10 // or SS
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
MD_MAX72XX mx = MD_MAX72XX(HARDWARE_TYPE,CS_PIN, MAX_DEVICES);
const int potmeter = 3;
int coord[200][2];
int leng = 1;
int prev;
int point[5][2] {{10,5},{3,1},{25,3},{15,7},{11,3}};
int ch1 = 5;
int ch2 = 8;
int ch3 = 9;
int ch4 = 4;
int aa = 6;
int bb = 19;
int cc = 2;
int dd = 1;
int ee = 0;
int ff = 7;
int gg = 3;
int dot = 25;
int delay1=3;
int blue = 12;
int green = 18;
int screens = 1;
int record;
int points;
int screenpick = 0;
int diff = 0;
int speedx;
int supermode;
int doublepoints;
long counter;
void slide()
{
for(int x = 99; x > 0; x--)
{
coord[x][0] = coord[x-1][0];
coord[x][1] = coord[x-1][1];
}
return;
}
int Joystick()
{
// 0 = up
// 1 = down
// 2 = right
// 3 = left
// 4 = nothing
// 5 = click
const int VRx = 0;
const int VRy = 1;
const int SW = 2;
if(analogRead(VRy) > 900)
{
prev = 0;
return 0;
}
if(analogRead(VRy) < 120)
{
prev = 1;
return 1;
}
if(analogRead(VRx) > 900)
{
prev = 2;
return 2;
}
if(analogRead(VRx) < 120)
{
prev = 3;
return 3;
}
if(analogRead(SW) == 0)
{
return 5;
}
return prev;
}
// Dahddammm Robotics//
void setup()
{
mx.begin();
coord[1][0] = coord[0][0] = 5;
coord[1][1] = coord[0][1] = 5;
pinMode(ch1, OUTPUT);
pinMode(ch2, OUTPUT);
pinMode(ch3, OUTPUT);
pinMode(ch4, OUTPUT);
pinMode(aa, OUTPUT);
pinMode(bb, OUTPUT);
pinMode(cc, OUTPUT);
pinMode(dd, OUTPUT);
pinMode(ee, OUTPUT);
pinMode(ff, OUTPUT);
pinMode(gg, OUTPUT);
pinMode(dot, OUTPUT);
pinMode(blue, OUTPUT);
pinMode(green, OUTPUT);
}
void led(int x, int y)
{
mx.setPoint(y-1, x-1, 1);
return;
}
void loop()
{
while(screens == 1)
{
supermode = 0;
doublepoints = 0;
digitalWrite(blue,0);
digitalWrite(green,0);
mx.clear();
if (points > record)
{
record = points;
}
coord[1][0] = coord[0][0] = 5;
coord[1][1] = coord[0][1] = 5;
while(screens == 1)
{
diff = analogRead(potmeter) / 100;
if (Joystick() == 5)
{
screens = 0;
speedx = (12-diff)*9;
screenpick = 0;
leng = 1;
points = 0;
}
if (analogRead(0) > 1000)
{
screenpick++;
if(screenpick > 2) screenpick = 0;
mx.clear();
delay(1000);
}
if (analogRead(0) < 150)
{
screenpick--;
if(screenpick < 0) screenpick = 2;
mx.clear();
delay(1000);
}
switch(screenpick)
{
case 0:
printNumber(points,0);
// E
led(30,7);
led(30,3);
led(30,4);
led(30,5);
led(30,6);
led(29,3);
led(28,3);
led(29,7);
led(28,7);
led(28,5);
led(29,5);
// N
led(21,3);
led(21,4);
led(21,5);
led(21,6);
led(21,7);
led(22,4);
led(23,5);
led(24,6);
led(25,3);
led(25,4);
led(25,5);
led(25,6);
led(25,7);
//I
led(19,3);
led(19,4);
led(19,5);
led(19,6);
led(19,7);
//B
led(14,4);
led(14,6);
led(15,3);
led(15,5);
led(15,7);
led(16,3);
led(16,5);
led(16,7);
led(17,3);
led(17,4);
led(17,5);
led(17,6);
led(17,7);
// FACE
led(1,3);
led(1,4);
led(1,5);
led(1,6);
led(2,2);
led(2,7);
led(3,1);
led(3,4);
led(3,6);
led(3,8);
led(4,1);
led(4,3);
led(4,8);
led(5,1);
led(5,3);
led(5,8);
led(6,1);
led(6,4);
led(6,6);
led(6,8);
led(7,2);
led(7,7);
led(8,3);
led(8,4);
led(8,5);
led(8,6);
break;
case 1:
printNumber(record,0);
// E
led(30,7);
led(30,3);
led(30,4);
led(30,5);
led(30,6);
led(29,3);
led(28,3);
led(29,7);
led(28,7);
led(28,5);
led(29,5);
// N
led(21,3);
led(21,4);
led(21,5);
led(21,6);
led(21,7);
led(22,4);
led(23,5);
led(24,6);
led(25,3);
led(25,4);
led(25,5);
led(25,6);
led(25,7);
//I
led(19,3);
led(19,4);
led(19,5);
led(19,6);
led(19,7);
//B
led(14,4);
led(14,6);
led(15,3);
led(15,5);
led(15,7);
led(16,3);
led(16,5);
led(16,7);
led(17,3);
led(17,4);
led(17,5);
led(17,6);
led(17,7);
// FACE
led(1,3);
led(1,4);
led(1,5);
led(1,6);
led(2,2);
led(2,7);
led(3,1);
led(3,4);
led(3,6);
led(3,8);
led(4,1);
led(4,3);
led(4,8);
led(5,1);
led(5,3);
led(5,8);
led(6,1);
led(6,4);
led(6,6);
led(6,8);
led(7,2);
led(7,7);
led(8,3);
led(8,4);
led(8,5);
led(8,6);
break;
case 2:
printNumber(diff,0);
// E
led(30,7);
led(30,3);
led(30,4);
led(30,5);
led(30,6);
led(29,3);
led(28,3);
led(29,7);
led(28,7);
led(28,5);
led(29,5);
// N
led(21,3);
led(21,4);
led(21,5);
led(21,6);
led(21,7);
led(22,4);
led(23,5);
led(24,6);
led(25,3);
led(25,4);
led(25,5);
led(25,6);
led(25,7);
//I
led(19,3);
led(19,4);
led(19,5);
led(19,6);
led(19,7);
//B
led(14,4);
led(14,6);
led(15,3);
led(15,5);
led(15,7);
led(16,3);
led(16,5);
led(16,7);
led(17,3);
led(17,4);
led(17,5);
led(17,6);
led(17,7);
// FACE
led(1,3);
led(1,4);
led(1,5);
led(1,6);
led(2,2);
led(2,7);
led(3,1);
led(3,4);
led(3,6);
led(3,8);
led(4,1);
led(4,3);
led(4,8);
led(5,1);
led(5,3);
led(5,8);
led(6,1);
led(6,4);
led(6,6);
led(6,8);
led(7,2);
led(7,7);
led(8,3);
led(8,4);
led(8,5);
led(8,6);
break;
}
}
}
for (int x = 0; x < speedx; x++)
{
printNumber(points,0);
}
slide();
counter++;
if(counter == 40)
{
supermode = 0;
doublepoints = 0;
digitalWrite(blue,0);
digitalWrite(green,0);
}
switch(Joystick())
{
case 0:
coord[0][1] = coord[1][1]+1; //y+1
break;
case 1:
coord[0][1] = coord[1][1]-1; //y-1
break;
case 2:
coord[0][0] = coord[1][0]+1; //x+1
break;
case 3:
coord[0][0] = coord[1][0]-1; //x-1
break;
}
for (int x = 0; x < 5; x++)
{
if (coord[0][0] == point[x][0] && coord[0][1] == point[x][1])
{
if (random(0,diff+1) == 0)
{
supermode = 1;
counter = 0;
digitalWrite(blue,1);
}
if (random(0,9) == 0)
{
doublepoints = 1;
counter = 0;
digitalWrite(green,1);
}
leng++;
points += 5;
if(doublepoints == 1) points += 5;
if (speedx > (10-diff)*3 + 10)
{
speedx--;
}
point[x][0] = random(1,32);
point[x][1] = random(1,8);
}
}
if (supermode == 1)
{
if(coord[0][0] == 0)
{
coord[0][0] = 32;
}
if(coord[0][0] == 33)
{
coord[0][0] = 1;
}
if(coord[0][1] == 0)
{
coord[0][1] = 8;
}
if(coord[0][1] == 9)
{
coord[0][1] = 1;
}
}
mx.clear();
for (int x = 0; x < leng; x++)
{
led(coord[x][0],coord[x][1]);
}
for (int x = 0; x < 5; x++)
{
led(point[x][0],point[x][1]);
}
if (supermode == 0)
{
if (coord[0][0] == 0 || coord[0][0] == 33 || coord[0][1] == 0 || coord[0][1] == 9)
{
screens = 1;
}
}
for(int x = 1; x < leng; x++)
{
if (coord[0][0] == coord[x][0] && coord[0][1] == coord[x][1])
{
screens = 1;
}
}
}
void printNumber(long number,int place)
{
int num1 = number / 1000;
int num2 = number / 100 - num1 * 10;
int num3 = number / 10 - num1 * 100 - num2 * 10;
int num4 = number - num1 * 1000- num2 * 100 - num3 * 10;
//charachter 1
digitalWrite(aa,0);
digitalWrite(bb,0);
digitalWrite(cc,0);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
digitalWrite(dot,0);
digitalWrite(ch1,0);
digitalWrite(ch2,1);
digitalWrite(ch3,1);
digitalWrite(ch4,1);
if(place==1)
{
digitalWrite(dot,1);
}
switch(num1)
{
case 0:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,1);
digitalWrite(gg,0);
break;
case 1:
digitalWrite(aa,0);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
break;
case 2:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,0);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,0);
digitalWrite(gg,1);
break;
case 3:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,1);
break;
case 4:
digitalWrite(aa,0);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 5:
digitalWrite(aa,1);
digitalWrite(bb,0);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,0);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 6:
digitalWrite(aa,1);
digitalWrite(bb,0);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 7:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
break;
case 8:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 9:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,0);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
default:
digitalWrite(aa,0);
digitalWrite(bb,0);
digitalWrite(cc,0);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
break;
}
delay(delay1);
//charachter 2
digitalWrite(aa,0);
digitalWrite(bb,0);
digitalWrite(cc,0);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
digitalWrite(dot,0);
digitalWrite(ch1,1);
digitalWrite(ch2,0);
digitalWrite(ch3,1);
digitalWrite(ch4,1);
if(place==2)
{
digitalWrite(dot,1);
}
switch(num2)
{
case 0:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,1);
digitalWrite(gg,0);
break;
case 1:
digitalWrite(aa,0);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
break;
case 2:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,0);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,0);
digitalWrite(gg,1);
break;
case 3:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,1);
break;
case 4:
digitalWrite(aa,0);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 5:
digitalWrite(aa,1);
digitalWrite(bb,0);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,0);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 6:
digitalWrite(aa,1);
digitalWrite(bb,0);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 7:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
break;
case 8:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 9:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,0);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
default:
digitalWrite(aa,0);
digitalWrite(bb,0);
digitalWrite(cc,0);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
break;
}
delay(delay1);
//charachter 3
digitalWrite(aa,0);
digitalWrite(bb,0);
digitalWrite(cc,0);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
digitalWrite(dot,0);
digitalWrite(ch1,1);
digitalWrite(ch2,1);
digitalWrite(ch3,0);
digitalWrite(ch4,1);
if(place==3)
{
digitalWrite(dot,1);
}
switch(num3)
{
case 0:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,1);
digitalWrite(gg,0);
break;
// Dahddammm Robotics//
case 1:
digitalWrite(aa,0);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
break;
case 2:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,0);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,0);
digitalWrite(gg,1);
break;
case 3:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,1);
break;
case 4:
digitalWrite(aa,0);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 5:
digitalWrite(aa,1);
digitalWrite(bb,0);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,0);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 6:
digitalWrite(aa,1);
digitalWrite(bb,0);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 7:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
break;
case 8:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 9:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,0);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
default:
digitalWrite(aa,0);
digitalWrite(bb,0);
digitalWrite(cc,0);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
break;
}
delay(delay1);
//charachter 4
digitalWrite(dot,0);
digitalWrite(aa,0);
digitalWrite(bb,0);
digitalWrite(cc,0);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
digitalWrite(ch1,1);
digitalWrite(ch2,1);
digitalWrite(ch3,1);
digitalWrite(ch4,0);
if(place==4)
{
digitalWrite(dot,1);
}
switch(num4)
{
case 0:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,1);
digitalWrite(gg,0);
break;
case 1:
digitalWrite(aa,0);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
break;
case 2:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,0);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,0);
digitalWrite(gg,1);
break;
case 3:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,1);
break;
case 4:
digitalWrite(aa,0);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 5:
digitalWrite(aa,1);
digitalWrite(bb,0);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,0);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 6:
digitalWrite(aa,1);
digitalWrite(bb,0);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 7:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
break;
case 8:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,1);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
case 9:
digitalWrite(aa,1);
digitalWrite(bb,1);
digitalWrite(cc,1);
digitalWrite(dd,1);
digitalWrite(ee,0);
digitalWrite(ff,1);
digitalWrite(gg,1);
break;
default:
digitalWrite(aa,0);
digitalWrite(bb,0);
digitalWrite(cc,0);
digitalWrite(dd,0);
digitalWrite(ee,0);
digitalWrite(ff,0);
digitalWrite(gg,0);
break;
}
// Dahddammm Robotics//
delay(delay1);
}
sources
- https://create.arduino.cc/projecthub/rishab8551/arduino-snake-game-using-arduino-and-martix-6c230c
- https://www.instructables.com/8x8-Matrix-Snake-Game/
Catégories
Jeu

