Sorry about that! Here is the code! I have to break it apart because it has a character limit...
#include "LedControl.h"
#include <time.h>
LedControl lc1= LedControl (23,24,22,1);
// 4 digit board pins. They go from A-G; then C1-C4
int pin2 = 40;
int pin3 = 32;
int pin4 = 37;
int pin5 = 41;
int pin6 = 43;
int pin7 = 38;
int pin8 = 35;
int pin9 = 42;
int pin10 = 36;
int pin11 = 34;
int pin12 = 33;
// Joystick pins
int analogJoysPinX = 1;
int analogJoysPinY = 2;
int joystickButton = 10;
// 8 x 8 LED screen pins
int ledPin1 = 23;
int ledPin2 = 22;
int ledPin3 = 24;
/*
top right is (0,0)
top left is (7,0)
bottom left is (7,7)
bottom right is (0,7)
code for light is lc1.setLed(0, x, y, boolean);
true=on, false=off
*/
int tailX[63];
int tailY[63];
int snakeHeadX = 7;
int snakeHeadY = 3;
int snakeTailLength = 1;
int score = 0;
int appleX;
int appleY;
int numberPosition = 1;
bool snakeGotApple = false;
int directionVar = 1; // 0 is up, 1 is right, 2 is down, 3 is left
bool gameOverVar = false; //when false, game is in progress, when true, game is over
void clearScreen() {
for (int x = 0; x < 8; x++) {
for (int y = 0; y < 8; y++) {
lc1.setLed(0, x, y, false);
}
}
}
void clearSnakeTail () {
for (int x = 0; x < 63; x++) {
tailX[x] = -1;
tailY[x] = -1;
}
}
void snakeRight() {
if (snakeHeadX == 0) {
snakeHeadX = 7;
}
else{
snakeHeadX = snakeHeadX - 1;
}
directionVar = 1;
}
void snakeLeft() {
if (snakeHeadX == 7) {
snakeHeadX = 0;
}
else {
snakeHeadX = snakeHeadX + 1;
}
directionVar = 3;
}
void snakeUp() {
if (snakeHeadY == 0) {
snakeHeadY = 7;
}
else {
snakeHeadY = snakeHeadY - 1;
}
directionVar = 0;
}
void snakeDown() {
if (snakeHeadY == 7) {
snakeHeadY = 0;
}
else{
snakeHeadY = snakeHeadY + 1;
}
directionVar = 2;
}
void writeScore() {
int firstDigit = score / 1000;
int secondDigit = (score / 100) - ((score / 1000)*10);
int thirdDigit = (score / 10) - ((score / 100)*10);
int fourthDigit = score - ((firstDigit*1000) + (secondDigit*100) + (thirdDigit*10));
digitalWrite(pin9, HIGH);
digitalWrite(pin10, HIGH);
digitalWrite(pin11, HIGH);
digitalWrite(pin12, HIGH);
Serial.begin(19200);
Serial.print(firstDigit);
Serial.print(secondDigit);
Serial.print(thirdDigit);
Serial.print(fourthDigit);
Serial.print('\n');
digitalWrite(pin9, LOW);
displayNumberScore(5);
digitalWrite(pin10, LOW);
displayNumberScore(6);
digitalWrite(pin11, LOW);
displayNumberScore(9);
digitalWrite(pin12, LOW);
displayNumberScore(8);
}
void displayNumberScore(int x) {
if (x == 0) {
digitalWrite(pin2, HIGH);
digitalWrite(pin3, HIGH);
digitalWrite(pin4, HIGH);
digitalWrite(pin5, HIGH);
digitalWrite(pin6, HIGH);
digitalWrite(pin7, HIGH);
digitalWrite(pin8, LOW);
}
else if (x == 1) {
digitalWrite(pin2, LOW);
digitalWrite(pin3, HIGH);
digitalWrite(pin4, HIGH);
digitalWrite(pin5, LOW);
digitalWrite(pin6, LOW);
digitalWrite(pin7, LOW);
digitalWrite(pin8, LOW);
}
else if (x == 2) {
digitalWrite(pin2, HIGH);
digitalWrite(pin3, HIGH);
digitalWrite(pin4, LOW);
digitalWrite(pin5, HIGH);
digitalWrite(pin6, HIGH);
digitalWrite(pin7, LOW);
digitalWrite(pin8, HIGH);
}
else if (x == 3) {
digitalWrite(pin2, HIGH);
digitalWrite(pin3, HIGH);
digitalWrite(pin4, HIGH);
digitalWrite(pin5, HIGH);
digitalWrite(pin6, LOW);
digitalWrite(pin7, LOW);
digitalWrite(pin8, HIGH);
}
else if (x == 4) {
digitalWrite(pin2, LOW);
digitalWrite(pin3, HIGH);
digitalWrite(pin4, HIGH);
digitalWrite(pin5, LOW);
digitalWrite(pin6, LOW);
digitalWrite(pin7, HIGH);
digitalWrite(pin8, HIGH);
}
else if (x == 5) {
digitalWrite(pin2, HIGH);
digitalWrite(pin3, LOW);
digitalWrite(pin4, HIGH);
digitalWrite(pin5, HIGH);
digitalWrite(pin6, LOW);
digitalWrite(pin7, HIGH);
digitalWrite(pin8, HIGH);
}
else if (x == 6) {
digitalWrite(pin2, HIGH);
digitalWrite(pin3, LOW);
digitalWrite(pin4, HIGH);
digitalWrite(pin5, HIGH);
digitalWrite(pin6, HIGH);
digitalWrite(pin7, HIGH);
digitalWrite(pin8, HIGH);
}
else if (x == 7) {
digitalWrite(pin2, HIGH);
digitalWrite(pin3, HIGH);
digitalWrite(pin4, HIGH);
digitalWrite(pin5, LOW);
digitalWrite(pin6, LOW);
digitalWrite(pin7, LOW);
digitalWrite(pin8, LOW);
}
else if (x == 8) {
digitalWrite(pin2, HIGH);
digitalWrite(pin3, HIGH);
digitalWrite(pin4, HIGH);
digitalWrite(pin5, HIGH);
digitalWrite(pin6, HIGH);
digitalWrite(pin7, HIGH);
digitalWrite(pin8, HIGH);
}
else if (x == 9) {
digitalWrite(pin2, HIGH);
digitalWrite(pin3, HIGH);
digitalWrite(pin4, HIGH);
digitalWrite(pin5, HIGH);
digitalWrite(pin6, LOW);
digitalWrite(pin7, HIGH);
digitalWrite(pin8, HIGH);
}
}