ایجاد سیستم امتیازدهی ساده
💡 در مونتاژ بلوکهای Scratch مشکل دارید؟ نمیدانید منطق کد را چگونه پیادهسازی کنید؟ 🚀 همین حالا کمک بگیرید
GameMaker456
Posted on January 20, 2024 • Intermediate
🎮 به کمک برای سیستم امتیازدهی نیاز دارم
سلام همه! روی اولین بازی خودم در Scratch کار میکنم که در آن بازیکن سکه جمع میکند و دشمنان را شکست میدهد. میخواهم سیستم امتیازدهی اضافه کنم که:
- هنگام جمعآوری سکهها امتیاز افزایش یابد
- برای شکست دادن دشمنان امتیاز بدهد
- امتیاز را روی صفحه نمایش دهد
من در متغیرها و مکانیکهای بازی تازهکارم. هر کمکی قدردانی میشود! 🙏
ScratchCoder_Pro
Replied 2 hours later • ⭐ Best Answer
سوال عالی @GameMaker456! سیستمهای امتیازدهی پیادهسازی کردن بسیار سرگرمکننده است. در اینجا راهنمای گام به گام است که به شما کمک میکند:
🔧 گام 1: ایجاد متغیر امتیاز
ابتدا، متغیری به نام Score
ایجاد کنید و مطمئن شوید که روی “برای همه اسپرایتها” تنظیم شده تا در همه جا قابل دسترسی باشد.
when flag clicked set [Score v] to [0]
💰 گام 2: سیستم جمعآوری سکه
برای اسپرایتهای سکه خود، این کد را اضافه کنید:
when flag clicked forever if <touching [Player v]?> then change [Score v] by [10] play sound [coin collect v] hide stop [this script v] end end
⚔️ گام 3: سیستم شکست دشمن
برای اسپرایتهای دشمن هنگام شکست:
// When enemy is defeated (example: when touched by player's attack) when I receive [enemy defeated v] change [Score v] by [50] play sound [enemy defeat v] hide
📺 گام 4: نمایش امتیاز
یک اسپرایت متن ایجاد کنید یا از نمایش متغیر داخلی استفاده کنید:
گزینه الف: نمایش متغیر داخلی
- روی متغیر Score در پالت متغیرها کلیک راست کنید
- ”نمایش” را انتخاب کنید تا در صحنه نمایش داده شود
- میتوانید آن را به جایی که میخواهید بکشید
گزینه ب: نمایش امتیاز سفارشی
یک اسپرایت متن با این کد ایجاد کنید:
when flag clicked forever set [text v] to (join [Score: ] (Score)) go to x: [-200] y: [150] end
🚀 گام 5: ویژگیهای پیشرفته (اختیاری)
اگر میخواهید پیچیدهتر کنید، در اینجا چند اضافه جالب است:
سیستم کمبو:
// اضافه کردن ضریب کمبو when flag clicked set [Combo v] to [1] set [Combo Timer v] to [0] forever if <(Combo Timer) > [0]> then change [Combo Timer v] by [-1] else set [Combo v] to [1] end end // When collecting items when I receive [item collected v] change [Score v] by ((base points) * (Combo)) change [Combo v] by [1] set [Combo Timer v] to [180] // 3 seconds at 60 FPS
سیستم بالاترین امتیاز:
when flag clicked if <(Score) > (High Score)> then set [High Score v] to (Score) broadcast [new high score v] end
امیدوارم این کمک کند! اگر نیاز به توضیح در مورد هر قسمت دارید، به من اطلاع دهید! 😊
GameMaker456
Replied 30 minutes later
@ScratchCoder_Pro این فوقالعاده است! خیلی ممنون! 🎉
سیستم امتیازدهی پایه کاملاً کار میکند. یک سوال سریع - چگونه میتوانم نمایش امتیاز را زیباتر کنم؟ در حال حاضر فقط عدد خام را نشان میدهد.
UIDesigner_Sarah
Replied 1 hour later
@GameMaker456 سوال عالی! در اینجا نحوه فرمت کردن اعداد بزرگ به شکل زیبا آمده است:
// Custom block: format score define format score (number) if <(number) > [999999]> then set [formatted score v] to (join (round ((number) / [1000000])) [M]) else if <(number) > [999]> then set [formatted score v] to (join (round ((number) / [1000])) [K]) else set [formatted score v] to (number) end end
این “1.2K” را به جای “1200” و “2.5M” را به جای “2500000” نشان میدهد. خیلی تمیزتر! ✨
GameTutor_Mike
Replied 2 hours later
دوست دارم ببینم مبتدیان با مکانیکهای بازی دست و پنجه نرم میکنند! 🎮 در اینجا چند نکته حرفهای برای بهتر کردن سیستم امتیازدهی شما آمده است:
- مقادیر امتیاز متفاوت: بر اساس سختی جمعآوری، به اقلام مختلف امتیازهای متفاوت بدهید
- امتیازدهی جایزه: جوایز زمانی یا جوایز تکمیل کامل اضافه کنید
- بازخورد امتیاز: هنگام کسب امتیاز، متن شناور نشان دهید
- ذخیره بالاترین امتیازها: از متغیرهای ابری برای ذخیره بالاترین امتیازها به صورت آنلاین استفاده کنید
به آزمایش ادامه دهید و از آن لذت ببرید!
Vibelf_Community
Pinned Message • Moderator
🚀 میخواهید توسعه بازی خود را به سطح بالاتری ببرید؟
بحث عالی همه! برای کسانی که به دنبال ایجاد سیستمهای امتیازدهی پیشرفتهتر هستند، جامعه ما میتواند در پیادهسازی موارد زیر کمک کند:
- 🏆 جدول امتیازات
- 🎖️ سیستمهای دستاورد
- 🧮 الگوریتمهای امتیازدهی پیچیده
- 🔓 قابلیتهای قفلگشایی بر اساس امتیاز
📚 بحثهای مرتبط
- چگونه بالاترین امتیازها را به طور دائم ذخیره کنیم؟
- ایجاد سیستمهای دستاورد
- اضافه کردن جلوههای بصری امتیاز
آماده هستید مهارتهای توسعه بازی خود را به سطح بعدی ببرید؟ راهنمایی شخصیسازی شده از مربیان متخصص ما در اپلیکیشن Vibelf دریافت کنید!