Menu
CoddyTech

אוכל

שיעור 5 מתוך 14 בקורס משחק Unity: נחש תלת־ממדי של Coddy.

המזון נמצא בתא אקראי. התאים הם מספרים שלמים, לכן בחרו ערכי x ו-z באמצעות גרסת int של Random.Range. כשמשתמשים במספרים שלמים, הערך המרבי אינו נכלל: Random.Range(1, 7) מטיל קובייה ומחזיר מספר בין 1 ל-6. כדי לכלול מספר, בקשו מספר שגדול ממנו באחד. עם מספרים עשרוניים מתקבלים מספרים כמו 3.62, ולא מרכז של תא.

בלוח שאורך הצלע שלו הוא 4, העמודות נעות מ-4- עד 4:

int x = Random.Range(-4, 5);   // מ-4 עד 4

הלוח מכיל פריט מזון אחד בכל פעם, לכן המשחק יוצר אותו פעם אחת, ב-Start(), ומעביר אותו למקום חדש בכל פעם שנדרש. GameManager קורא את גודל הלוח מהערך edge של הנחש באמצעות השדה snake שלו.

challenge icon

אתגר

בינוני

הנח את המזון בתא אקראי בלוח.

  1. ב־GameManager, הוסף public Snake snake;, public GameObject foodPrefab; ו־private Transform food; (הסצנה מקשרת את שני הראשונים).
  2. ב־Start(), הוסף food = Instantiate(foodPrefab).transform;, ואז קרא ל־MoveFood().
  3. void MoveFood(): הצב את המזון במיקום אקראי לפי x ו־z, כל אחד בטווח שבין -snake.edge ל־snake.edge, ו־y יהיה 0.

לחץ על שחק: כדור אדום נמצא על תא, ובכל פעם במקום חדש. לאחר מכן לחץ על בדיקה.

נסו בעצמכם

using UnityEngine;

public class GameManager : MonoBehaviour
{
    // מנהל את המשחק: האוכל, הניקוד וסיום המשחק. בפרק 2 נמלא אותו בתוכן.
}

כל השיעורים ביחידה משחק Unity: נחש תלת־ממדי

תרגלו בעצמכם: Unity אונליין