Menu
CoddyTech
flag Ar iconالعربيةdown icon

عبور الطريق

جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 66 من 67.

ينتظر ضفدع عند حافة طريق مزدحم. تأتي السيارات من اليسار في ثلاثة مسارات وتعبر الطريق. يقفز اللاعب إلى الأمام أو إلى الخلف مسارًا واحدًا في كل مرة باستخدام سهمي الأعلى والأسفل، وعليه أن يختار توقيت كل قفزة ليصل إلى الجانب الآخر. إذا اصطدمت سيارة بالضفدع، تعيده إلى نقطة البداية.

اكتب اللعبة كاملةً في سكربت واحد، Crossing، على الضفدع.

challenge icon

التحدي

صعب

اكتب النص البرمجي Crossing على القافز، الذي يبدأ عند z = -4، أسفل طريق ذي ثلاثة مسارات. يضبط Inspector قيمة carPrefab (النموذج الأولي للسيارة)، وlanes (مواضع z للمسارات: -2 و0 و2)، وspawnEvery (1)، وcarSpeed (5).

  • كل ضغطة على السهم للأعلى تجعل القافز يقفز وحدتين إلى الأمام (+z). وكل ضغطة على السهم للأسفل تجعله يقفز وحدتين إلى الخلف، لكن لا يعود أبدًا إلى ما وراء نقطة بدايته.
  • كل spawnEvery ثانية، تظهر سيارة عند x = -9 وy = 0.5، في مسار عشوائي من lanes. تسير السيارات على طول +x بسرعة carSpeed وحدة في الثانية، وتُدمَّر السيارة التي تتجاوز قيمة x فيها 9.
  • تصطدم السيارة بالقافز عندما يكون الفرق بين موضعي x أقل من 1.5، والفرق بين موضعي z أقل من 1. يسجّل الاصطدام Hit! ويعيد القافز إلى نقطة بدايته.
  • عندما يصل القافز إلى z = 4، أي الجانب البعيد، سجّل You made it! وأوقف النص البرمجي.

اضغط Play واعبر الطريق، ثم اضغط Check.

جرّب بنفسك

using System.Collections.Generic;
using UnityEngine;

public class Crossing : MonoBehaviour
{
    [SerializeField] private GameObject carPrefab;
    [SerializeField] private float[] lanes;
    [SerializeField] private float spawnEvery = 1f;
    [SerializeField] private float carSpeed = 5f;

    void Start()
    {
    }

    void Update()
    {
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس أساسيات البرمجة النصية في Unity