#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4);
//Red = Paper (1)
//Green = Scissors (2)
//Blue = Rock (3)
int randNum;
int Rbutton = 7;
int Gbutton = 6;
int Bbutton = 5;
int Rbutton_state = 0;
int Gbutton_state = 0;
int Bbutton_state = 0;
void setup() {
// put your setup code here, to run once:
pinMode(Rbutton, INPUT);
pinMode(Gbutton, INPUT);
pinMode(Bbutton, INPUT);
lcd.init();
lcd.backlight();
Serial.begin(9600);
randomSeed(analogRead(0));
}
void loop() {
lcd.setCursor(1,0);
lcd.print("Jack N' Poy");
lcd.setCursor(1,1);
lcd.print("PRESS A BUTTON");
Rbutton_state = digitalRead(Rbutton);
Gbutton_state = digitalRead(Gbutton);
Bbutton_state = digitalRead(Bbutton);
//PAPER
if(Rbutton_state == HIGH)
{
lcd.clear();
randNum = random(1,4);
Serial.println(randNum);
switch(randNum)
{
case 1:
Serial.println("PLAYER:PAPER");
Serial.println("COMPUTER:PAPER");
Serial.println("DRAW");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("P:PAPER C:PAPER");
lcd.setCursor(0,1);
lcd.print("DRAW");
break;
case 2:
Serial.println("PLAYER:PAPER");
Serial.println("COMPUTER:SCISSORS");
Serial.println("COMPUTER WINS");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("P:PAPER C:SCISS");
lcd.setCursor(0,1);
lcd.print("YOU LOSE");
break;
case 3:
Serial.println("PLAYER:PAPER");
Serial.println("COMPUTER:ROCK");
Serial.println("PLAYER WINS");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("P:PAPER C:ROCK");
lcd.setCursor(0,1);
lcd.print("YOU WIN");
break;
}
delay(1000);
lcd.clear();
}
//SCISSOR
if(Gbutton_state == HIGH)
{
lcd.clear();
randNum = random(1,4);
Serial.println(randNum);
switch(randNum)
{
case 1:
Serial.println("PLAYER:SCISSORS");
Serial.println("COMPUTER:SCISSORS");
Serial.println("DRAW");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("P:SCISSOR C:SCISSOR");
lcd.setCursor(0,1);
lcd.print("DRAW");
break;
case 2:
Serial.println("PLAYER:SCISSORS");
Serial.println("COMPUTER:PAPER");
Serial.println("COMPUTER WINS");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("P:SCISS C:PAPER");
lcd.setCursor(0,1);
lcd.print("YOU WIN");
break;
case 3:
Serial.println("PLAYER:PAPER");
Serial.println("COMPUTER:ROCK");
Serial.println("PLAYER WINS");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("P:PAPER C:ROCK");
lcd.setCursor(0,1);
lcd.print("YOU WIN");
break;
}
delay(1000);
lcd.clear();
}
//ROCK
if(Bbutton_state == HIGH)
{
lcd.clear();
randNum = random(1,4);
Serial.println(randNum);
switch(randNum)
{
case 1:
Serial.println("PLAYER:ROCK");
Serial.println("COMPUTER:ROCK");
Serial.println("DRAW");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("P:ROCK C:ROCK");
lcd.setCursor(0,1);
lcd.print("DRAW");
break;
case 2:
Serial.println("PLAYER:ROCK");
Serial.println("COMPUTER:SCISSORS");
Serial.println("PLAYER WINS");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("P:ROCK C:SCISS");
lcd.setCursor(0,1);
lcd.print("YOU WIN");
break;
case 3:
Serial.println("PLAYER:ROCK");
Serial.println("COMPUTER:PAPER");
Serial.println("COMPUTER WINS");
lcd.clear();
lcd.setCursor(0,0);
lcd.print("P:ROCK C:PAPER");
lcd.setCursor(0,1);
lcd.print("YOU LOSE");
break;
}
delay(1000);
lcd.clear();
}
}