...And finally, fourth part!
if (gamemode == 5) {//And finally my favourite, keno
if (keno == 0) {
intro5();
countDown();
mymatrix.clear();
delay(500);
keno = 1;
}
if (t == 0) {
mymatrix.write(1, 1, n5);
delay(1000);
mymatrix.clear();
t = 1;
}
mymatrix.clear();
getNumbers();
delay(1000);
if (digitalRead(push) == LOW) {
getKeno();
delay(500);
for (int i = 0; i < 4; i++) {
for (int a = 0; a < 13; a++) {
mymatrix.write(kenox[a], kenoy[a], HIGH);
}
delay(500);
for (int a = 0; a < 13; a++) {
mymatrix.write(kenox[a], kenoy[a], LOW);
}
delay(500);
}
getMoney();
mymatrix.clear();
for (int s = 0; s < 13; s++) {
for (int d = 0; d < 8; d++) {
if (kenox[s] == varx[d] && kenoy[s] == vary[d]) {
kenonumbers++;
mymatrix.write(varx[d], vary[d], HIGH);
}
}
delay(100);
}
delay(1000);
mymatrix.clear();
if (kenonumbers > 3) {
kenopayout = kenonumbers - 2;
winner();
delay(500);
mymatrix.clear();
for (int f = 0; f < kenopayout; f++) {
doSmiley();
payOut2();
delay(400);
}
}
else if (kenonumbers == 3) {
winner();
delay(500);
mymatrix.clear();
doSmiley();
payOut2();
}
else {
doUnSmiley();
delay(1000);
}
kenonumbers = 0;
}
}
}
else {//There happens the changing between the game modes
if (digitalRead(push) == LOW) {
gamemode++;
t = 0;
delay(500);
if (gamemode == 6) {
gamemode = 1;
}
}
mymatrix.clear();
if (gamemode == 1) {
mymatrix.write(1, 1, n1);
}
else if (gamemode == 2) {
mymatrix.write(1, 1, n2);
}
else if (gamemode == 3) {
mymatrix.write(1, 1, n3);
}
else if (gamemode == 4) {
mymatrix.write(1, 1, n4);
}
else {
mymatrix.write(1, 1, n5);
}
delay(100);
}
}
Quite massive set of coding, but it works, anyway.