#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 REDB = 7;
int GREENB = 6;
int BLUEB = 5;
int RJAY_state = 0;
int GMARK_state = 0;
int BJILOCA_state = 0;
void setup() {
// put your setup code here, to run once:
pinMode(REDB , INPUT);
pinMode(GREENB, INPUT);
pinMode(BLUEB , 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");
RJAY_state = digitalRead(REDB);
GMARK_state = digitalRead(GREENB);
BJILOCA_state = digitalRead(BLUEB);
//PAPER
if(RJAY_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(GMARK_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(BJILOCA_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();
}
}