کلیدستان

نسخه‌ی کامل: راهنمایی برای ساخت قسمت امتیازات مثل بازی ها (برنامه نویسی اندروید)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
 سلام
چطور می تونم:
بازی من سه تا مرحله داره(و بیشتر) که با عبور از هر مرحله 1امتیاز به کاربر داده میشه و یک قسمت که با ورود با این بخش می تواند با امتازات خود از مراحل عبور کند.
مشکل اینجاست، یک تکست ویو در بالای کادر دارم و امتیازات(امتیاز اولیه یک هست) رو نشون میده و با عبور از هر مرحله یک امتیاز(جمع امتیازات میشه دو) به کاربر میده.چطور می تونم وقتی در یک مرحله به کابر 1 امتیاز داده شد وقتی دوباره کابر برگشت به مرحله قبل دوباره اون امتیاز رو دریافت نکنه.چطور می تونم وقتی جمع امتیازات 2 هست و برای رد شدن از مرحله نیاز به 3امتیاز است اجازه رد شدن رو نده.چطور می تونم وقتی جمع امتیازات 2 هست و برای آسون کردن مرحله نیاز به 2 امتیازات است اون 2امتیاز رو کم کنه
ممنون میشه اگه راهنماییم کنید، چه منبع معرفی کنید یا از همین جا راهنماییم کنید. لطفا اگه توضیح می دید کدهای مربوط به اون توضیح رو بنویسید.
نگران ذخیره شدن یا نشدن اطاعات بازی نیستم.
با تشکر فراوان
سلام.
شما باید اطلاعات مربوط به وضعیت کاربر در بازی را در متغیرهایی ذخیره کنید. چون می خواهیم وقتی کاربر از برنامه اندروید خارج می شود، اطلاعات از دست نرود، متغیرها را با استفاده از SharedPreferences ذخیره کنید (یا با روش های دیگر مثل ذخیره در database) :

کلید شماره 288

یک متغیر برای مقدار امتیاز کاربر (با مقدار اولیه برابر 0) در نظر بگیرید.
یک آرایه (Array) هم تعریف می کنیم که عناصر آن می توانند دارای مقدار 0 یا 1 باشند. این آرایه، نشان می دهد که آیا کاربر امتیاز هر مرحله را دریافت کرده است یا نه. ابتدا تمام عناصر آن برابر 0 خواهد بود، بعد امتیاز هر مرحله که به کاربر داده شود، عنصر متناظر با آن مرحله را از 0 به 1 تبدیل می کنیم. پس کاربر هر مرحله را که کامل کرد، چک می کنیم که اگر قبلا امتیاز آن را گرفته (مقدار متناظر برابر 1 باشد)، دوباره به وی امتیاز داده نشود، اگر هم که نگرفته بود (مقدار 0)، امتیاز مرحله را با مقدار موجود در متغیر مربوط به امتیاز کاربر، جمع می کنیم (و مقدار متناظر با آن مرحله را از 0 به 1 تبدیل می کنیم) (چک کردن شرط ها، با استفاده از if و else می باشد).
برای رد شدن از مراحل، به صورت داشتن حداقل امتیاز نیز از همان if باید استفاده کنید که مقدار ذخیره در متغیر مربوط به امتیاز کاربر را چک می کند.
اگر هم مراحل به صورت باز یا بسته بودن نمایش داده شوند، می توان یک آرایه (Array) با عناصر برابر 0 یا 1 تعریف کرد که مقدار 0 یعنی مرحله بسته است و مقدار 1 یعنی مرحله باز است. 

با سلام
خیلی ممنون بابت توضیحات
اگه زحمتی نیست کدهای مربوط به توضیحات خودتون رو بنویسید مخصوصا قسمت هایی که عبارت شرطی می گیره، چون زیاد با شرط گذاری آشنا نیستم. بازم ممنون