💣 دستورهای روبی

حسگرهای مین در روبی مین‌یاب

ربات روبی در بازی مین‌یاب یک ردیاب دارد. این حسگرها به او می‌گویند کجا مین هست و چند مین در اطرافش پنهان شده.

حسگرهای مین چه کار می‌کنند؟

frontIsMine وقتی بله است که در خانه‌ی جلوی روبی یک مین زنده باشد. leftIsMine، rightIsMine و backIsMine همین را برای چپ، راست و پشت سر روبی می‌پرسند. mineNear یعنی «در یکی از چهار طرف من مین هست؟» که برای کوچک‌ترها ساده‌ترین پرسش است. مینی که خنثی شده، دیگر برای این حسگرها مین حساب نمی‌شود.

دو حسگر عددی هم هست. minesAround عدد مین‌یابی خانه‌ی زیر پای روبی را می‌دهد، یعنی تعداد مین‌ها در هشت خانه‌ی اطراف؛ مین‌های خنثی‌شده هم شمرده می‌شوند تا این عدد زیر پا عوض نشود. minesLeft تعداد مین‌های زنده‌ی باقی‌مانده در کل نقشه است.

شکل بلوکی و شکل کد

حسگرهای مین در حالت کد نوشته می‌شوند و اسم‌های فارسی ساده‌ای دارند تا بچه‌های کوچک‌تر هم بتوانند بنویسند «اگه جلو_مین:». کنارشان بلوک و دستور «🧨 خنثی کن» در مرحله‌های مین‌یاب در دسترس است.

  • ✅ جلو: frontIsMine، mine_ahead، جلو_مین، جلو_بمب
  • ✅ چپ، راست، پشت: leftIsMine، rightIsMine، backIsMine یا چپ_مین، راست_مین، عقب_مین
  • ✅ چهار طرف: mineNear یا مین_نزدیک
  • ✅ عددی: minesAround یا مین_اطراف، minesLeft یا مین_مونده

یک مثال کوچک با ربات روبی

در یک راهرو: repeat(6): و داخلش if frontIsMine: defuse و بعد forward. به فارسی: اگه جلو_مین: خنثی_کن و بعد جلو. برای احتیاط بیشتر با عدد مین‌یاب: if minesAround == 0: forward؛ یعنی فقط وقتی هیچ مینی دور و بر نیست، بی‌خیال جلو برو.

اشتباه‌های رایج

حسگر مین فقط خانه‌های کناری را می‌بیند، نه دورتر را. پس باید در هر قدم دوباره پرسیده شود.

  • ✅ پرسیدن حسگر یک بار بیرون حلقه
  • ✅ اشتباه گرفتن minesAround که هشت خانه را می‌شمارد با mineNear که چهار طرف را می‌بیند
  • ✅ استفاده از frontIsClear برای پیدا کردن مین

در کدام درس‌ها و لیگ‌ها استفاده می‌شود؟

این حسگرها مخصوص بازی روبی مین‌یاب هستند و تمرین کاربردی شرط درس ۱۶ و درس ۱۷ و حلقه‌های تو در توی رده‌ی ۳ به حساب می‌آیند. در مرحله‌های پایانی، روبی باید کل میدان را جارو کند و همه‌ی مین‌ها را خنثی کند.

نکته برای والدین و معلم

این بازی نشان می‌دهد چرا برنامه باید قبل از هر کار از محیط بپرسد. اگر کودک باخت، از او بپرسید «کدام قدم را بدون پرسیدن برداشتی؟». جواب این پرسش، درس اصلی شرط است.

سوال‌های پرتکرار

آیا مین خنثی‌شده هنوز حس می‌شود؟

برای frontIsMine و mineNear نه؛ اما در عدد minesAround هنوز شمرده می‌شود.

minesAround چند خانه را می‌شمارد؟

هشت خانه‌ی اطراف خانه‌ی زیر پای روبی، مثل بازی مین‌یاب کلاسیک.

اسم فارسی frontIsMine چیست؟

جلو_مین؛ جلو_بمب هم پذیرفته می‌شود.