World of Electronics

Funny Arduino Game – Full Tutorial

For this tutorial, you’ll need:

  1. Arduino UNO
  2. 9 x Resistor 330E
  3. 1 x Resistor 10K
  4. BreadBoard
  5. Jumper Wires
  6. 9 x Led 5MM
  7. 1x Push Button

Watch this full video:

This video is sponsored by C.B.Electronics & Produced by Lebanese Park

Full Code:

#define led1 4
#define led2 5
#define led3 6
#define led4 7
#define led5 8
#define led6 9
#define led7 10


#define ledWin 11
#define ledLoose 12


#define button 2


int ledNumber = 0;
int numberOfLed = 7;


int randomNumber = 0;


int currentNumber = 0;


void turnLedON (int ); // define lal function


int play (); //play


void win();
void loose();


void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);


for (int i=led1; i<=led7; i++)
{
  pinMode(i, OUTPUT);
  digitalWrite(i, LOW);
}
  pinMode(button, INPUT);
  
    pinMode(ledWin, OUTPUT);
  digitalWrite(ledWin, LOW);
    pinMode(ledLoose, OUTPUT);
  digitalWrite(ledLoose, LOW);
}


void loop() {
  // put your main code here, to run repeatedly:


  if(digitalRead(button) == HIGH)
  {
    currentNumber = play();
    delay(50);
    digitalWrite(ledLoose, LOW);
    digitalWrite(ledWin, LOW);


  }
  else
  {
    if(currentNumber!=0)
    {
      if(currentNumber%2==0) // le reste de la division par 2 est = 0
        {  
          win();
        }
      else


        {
          loose();
        }
    }
  }




}



void turnLedON (int number) //keep in mind we can use switch next time and we will
{
    if(number == 0)
    {
      for (int i = led1; i<=led7; i++)
      {
        digitalWrite(i, LOW);
      }
    }


    if(number == 1)
    {
      digitalWrite(led2, LOW);
      digitalWrite(led3, LOW);
      digitalWrite(led4, LOW);
      digitalWrite(led5, LOW);
      digitalWrite(led6, LOW);
      digitalWrite(led7, LOW);
      digitalWrite(led1, HIGH);
    }


    
    if(number == 2)
    {
      digitalWrite(led1, LOW);
      digitalWrite(led3, LOW);
      digitalWrite(led4, LOW);
      digitalWrite(led5, LOW);
      digitalWrite(led6, LOW);
      digitalWrite(led7, LOW);
      digitalWrite(led2, HIGH);
    }


    
    if(number == 3)
    {
      digitalWrite(led2, LOW);
      digitalWrite(led1, LOW);
      digitalWrite(led4, LOW);
      digitalWrite(led5, LOW);
      digitalWrite(led6, LOW);
      digitalWrite(led7, LOW);
      digitalWrite(led3, HIGH);
    }


    
    if(number == 4)
    {
      digitalWrite(led2, LOW);
      digitalWrite(led3, LOW);
      digitalWrite(led1, LOW);
      digitalWrite(led5, LOW);
      digitalWrite(led6, LOW);
      digitalWrite(led7, LOW);
      digitalWrite(led4, HIGH);
    }


    
    if(number == 5)
    {
      digitalWrite(led2, LOW);
      digitalWrite(led3, LOW);
      digitalWrite(led4, LOW);
      digitalWrite(led1, LOW);
      digitalWrite(led6, LOW);
      digitalWrite(led7, LOW);
      digitalWrite(led5, HIGH);
    }


    
    if(number == 6)
    {
      digitalWrite(led2, LOW);
      digitalWrite(led3, LOW);
      digitalWrite(led4, LOW);
      digitalWrite(led5, LOW);
      digitalWrite(led1, LOW);
      digitalWrite(led7, LOW);
      digitalWrite(led6, HIGH);
    }


    
    if(number == 7)
    {
      digitalWrite(led2, LOW);
      digitalWrite(led3, LOW);
      digitalWrite(led4, LOW);
      digitalWrite(led5, LOW);
      digitalWrite(led6, LOW);
      digitalWrite(led1, LOW);
      digitalWrite(led7, HIGH);
    }




    
}


int play ()
{
  randomNumber = random(1, numberOfLed+1); //random(1, 5) -> 1 2 3 4 options
  turnLedON(randomNumber);
  return (randomNumber);
}


void win()
{
  digitalWrite(ledWin, HIGH);
  delay(500);
  digitalWrite(ledWin, LOW);
  delay(500);
}


void loose()
{
  digitalWrite(ledLoose, HIGH);
  delay(500);
  digitalWrite(ledLoose, LOW);
  delay(500);
}