🎮 بازی سایمون

چهار رنگ، یک حافظه‌ی قوی.

سطح: چالشی ⭐⭐⭐ · مود: آردوینو (سه‌بعدی + کد)

قطعات لازم

کد کامل پروژه

const int leds[] = {2, 3, 4, 5};
const int btns[] = {8, 9, 10, 11};
const int notes[] = {262, 330, 392, 523};
const int buzzer = 12;

int sequence[50];
int level = 0;

void play(int i) {
  digitalWrite(leds[i], HIGH);
  tone(buzzer, notes[i]);
  delay(350);
  digitalWrite(leds[i], LOW);
  noTone(buzzer);
  delay(120);
}

int waitForPress() {
  while (true) {
    for (int i = 0; i < 4; i++) {
      if (digitalRead(btns[i]) == LOW) {
        play(i);
        while (digitalRead(btns[i]) == LOW) { }
        return i;
      }
    }
  }
}

void setup() {
  for (int i = 0; i < 4; i++) {
    pinMode(leds[i], OUTPUT);
    pinMode(btns[i], INPUT_PULLUP);
  }
  randomSeed(analogRead(A0));
  Serial.begin(9600);
}

void loop() {
  sequence[level] = random(0, 4);
  level++;
  Serial.print("marhale:");
  Serial.println(level);

  for (int i = 0; i < level; i++) play(sequence[i]);

  for (int i = 0; i < level; i++) {
    if (waitForPress() != sequence[i]) {
      tone(buzzer, 120, 700);
      delay(1200);
      level = 0;
      return;
    }
  }
  delay(700);
}

چطور اجرایش کنم؟

  1. شبیه‌ساز تینکرکد فارسی را باز کن و «مود آردوینو» را انتخاب کن.
  2. از پنل «نمونه‌ها»، «بازی سایمون» را بارگذاری کن — مدار و کد با هم می‌آیند.
  3. دکمه‌ی اجرا ▶ را بزن و خروجی Serial و رفتار قطعات را تماشا کن.
  4. حالا کد را تغییر بده — عددها، پین‌ها، ترتیب — و دوباره اجرا کن!
این پروژه را رایگان در شبیه‌ساز اجرا کن 🤖