Handheld Game

Here's half of the Arduino code:

int btnPin = 2;    // Digital 2 ; 'Toggle' Button
int irPin = 3;     // Digital 4 ; IR Detector
int bryPin = 5;   // Digital 5 ; Bottom Right Yellow LED
int trgPin = 6;   // Digital 6 ; Top Right Green LED
int blgPin = 7;   // Digital 7 ; Bottom Left Green LED
int tlyPin = 8;   // Digital 8 ; Top Left Yellow LED
int clockPin = 9; // Digital 9 ; SH_CP on Shift Register
int latchPin = 10; // Digital 10 ; ST_CP on Shift Register
int dataPin = 11;    // Digital 11 ; DATA on Shift register
int blPin = 0;    // Analog 0 ; Blue RGB LED
int cdsPin = 2;   // Analog 2 ; CdS Cell
int rdPin = 3;    // Analog 3 ; Red RGB LED
int gnPin = 4;    // Analog 4 ; Green RGB LED

int irval = 1;
int btnval = 1;
int cdsval = 0;
int pos = 0;
int i = 0;;

void setup()
{
  Serial.begin(9600);
  pinMode(latchPin, OUTPUT);
  pinMode(btnPin, INPUT);
  //pinMode(irPin, INPUT);
  pinMode(bryPin, OUTPUT);
  pinMode(trgPin, OUTPUT);
  pinMode(tlyPin, OUTPUT);
  pinMode(blPin, OUTPUT);
  pinMode(rdPin, OUTPUT);
  pinMode(gnPin, OUTPUT);
  clearLCD();
  Serial.print(0xFE, BYTE);
  Serial.print(0x0C, BYTE);
  determineBacklight();
  delay(100);
  selectLineOne();
  delay(100);
  Serial.print("Main Menu");
  delay(500);
  for(i = 0; i < 10; i++) {
    scrollLeft();
    delay(100);
  }
  delay(1000);
}

void loop()
{  
  clearLCD();
  pos = 130;
  selectLineCustom();
  Serial.print("Select Menu");
  pos = 197;
  selectLineCustom();
  Serial.print("Option");
  delay(700);
  for(i = 0; i < 15; i++) {
    scrollLeft();
    delay(100);
  }
  clearLCD();
  mainMenu();
}

void selectLineOne(){  //puts the cursor at line 0 char 0.
   Serial.print(0xFE, BYTE);   //command flag
   Serial.print(128, BYTE);    //position
}
void selectLineTwo(){  //puts the cursor at line 0 char 0.
   Serial.print(0xFE, BYTE);   //command flag
   Serial.print(192, BYTE);    //position
}
void selectLineCustom() {
   Serial.print(0xFE, BYTE);
   Serial.print(pos, BYTE);
   pos = 0;
}
void scrollRight() {
  Serial.print(0xFE, BYTE);
  Serial.print(0x1C, BYTE);
}
void scrollLeft() {
  Serial.print(0xFE, BYTE);
  Serial.print(0x18, BYTE);
}
void clearLCD(){
   Serial.print(0xFE, BYTE);   //command flag
   Serial.print(0x01, BYTE);   //clear command.
}
void determineBacklight() {
  cdsval = analogRead(cdsPin);
  if(cdsval < 500) {
    backlightOn();
  }
  else if(cdsval > 500) {
    backlightOff();
  }
}

void backlightOn(){  //turns on the backlight
    Serial.print(0x7C, BYTE);   //command flag for backlight stuff
    Serial.print(157, BYTE);    //light level.
}
void backlightOff(){  //turns off the backlight
    Serial.print(0x7C, BYTE);   //command flag for backlight stuff
    Serial.print(128, BYTE);     //light level for off.
}
void serCommand(){   //a general function to call the command flag for issuing all other commands   
  Serial.print(0xFE, BYTE);
}
void End() {
  delay(500);
  End();
}