top of page

ROLLING THE DICE CODE:

//הגדרת משתנה לפין

int first = 2;

int second = 3;

int third = 4;

int fourth = 5;

int fifth = 6;

int sixth = 7;

 

// הגדרת כפתור לפין

int button = 11;

// משתנה כדי לבדוק האם הכפתור נלחץ

int pressed = 0;

 

void setup() {

  //הגדרת לדים

  for (int i=first; i<=sixth; i++) {

    pinMode(i, OUTPUT);

  }

  // הגדרת הכפתור

  pinMode(button, INPUT);

 

 

  randomSeed(analogRead(0));

 

  // if we're debugging, connect to serial

  #ifdef DEBUG

    Serial.begin(9600);

  #endif

 

}

 

void buildUpTension() {

  // הדלק את הנורות משמאל לימין עד לחיצת כפתור

  // left to right

  for (int i=first; i<=sixth; i++) {

    if (i!=first) {

      digitalWrite(i-1, LOW);

    }

    digitalWrite(i, HIGH);

    delay(200);

  }

  // right to left ימין לשמאל

  for (int i=sixth; i>=first; i--) {

    if (i!=sixth) {

      digitalWrite(i+1, LOW);

    }

    digitalWrite(i, HIGH);

    delay(200);

  }

}


 

void showNumber(int number) { // הגדרת פונקציה בשם showNumber שמדליקה מספר מנורות לפי המספר הרנדומלי

 

 

  digitalWrite(first, HIGH);

  if (number >= 2) {

    digitalWrite(second, HIGH);

  }

  if (number >= 3) {

    digitalWrite(third, HIGH);    

  }

  if (number >= 4) {

    digitalWrite(fourth, HIGH);    

  }

  if (number >= 5) {

    digitalWrite(fifth, HIGH);    

  }

  if (number == 6) {

    digitalWrite(sixth, HIGH);    

  }

}

 

int throwDice() { // הכנסה למשתנה מספר אקראי

 

  int randNumber = random(1,7); // קבל מספר אקראי בין 1 ל 6

 

  #ifdef DEBUG

    Serial.println(randNumber);

  #endif

  return randNumber;//פלט מספר אקראי

}


 

void setAllLEDs(int value) {

  for (int i=first; i<=sixth; i++) {

    digitalWrite(i, value);

  }

}

 

void loop() {

 

  pressed = digitalRead(button);

 

  if (pressed == HIGH) { // אם הכפתור לחוץ

 

    setAllLEDs(LOW); // התחל את כל הנורות

   

 

    int thrownNumber = throwDice(); //תכניס את המספר הרנדומלי למשתנה

    showNumber(thrownNumber); //הכנס את המספר הרנדומלי לפונקציה שמדליקה נורות לפי המספר הרנדומלי

  }

 

}

©2022 by Nissim Peretz. Proudly created with Wix.com

bottom of page