باب العملات
جزء من قسم برمجة ألعاب Roblox في رحلة Lua على Coddy. الدرس 16 من 24.
يمكن لـ if أن يفعل أكثر من التحقق من nil. يمكنه مقارنة الأعداد، ويُنفَّذ جزء else عندما تكون المقارنة خاطئة:
local score = player.leaderstats.Score.Value
if score >= 10 then
print("You win!")
else
print("Keep going")
endعوامل المقارنة هي == (يساوي)، و~= (لا يساوي)، و<، و>، و<=، و>=. لاحظ == المزدوجة: إشارة = واحدة تُسنِد قيمة إلى متغير، ولا تُجري مقارنة.
تعني >= 3 «3 أو أكثر»؛ أما > 3 فتعني «أكثر من 3»، لذا لن تجتاز القيمة 3 بالضبط الشرط.
التحدي
متوسطتطفو ثلاث عملات على اليمين، ويُغلق باب خشبي الجدار. يحسب العالم العملات نيابةً عنك. يوجد هذا البرنامج النصي داخل الباب، وتعمل دالته Touched عندما يطأ اللاعب المنصة الزرقاء أمامه.
- إذا كان لدى اللاعب
3عملات أو أكثر، فافتح الباب:CanCollidefalseوTransparency0.5. - وإلا، فاطبع بالضبط
You need 3 coins.
اضغط على تشغيل، وجرّب المنصة أولًا، واجمع العملات ثم جرّب مرة أخرى. ثم اضغط على تحقق.
جرّب بنفسك
local Players = game:GetService("Players")
local door = script.Parent
local pad = workspace.DoorPad
pad.Touched:Connect(function(hit)
local player = Players:GetPlayerFromCharacter(hit.Parent)
if player then
local coins = player.leaderstats.Coins.Value
-- 3 عملات أو أكثر: افتح الباب
-- وإلا: اطبع "You need 3 coins"
end
end)
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس برمجة ألعاب Roblox
تدرّب بنفسك: مترجم Lua عبر الإنترنت