در مقاله قبلی آموزش طراحی اپلیکیشن موبایل
بخشی از کدهای بازی "حدس" را باهم آموختیم و هر قطعه کد را به تفکیک توضیح
دادیم، در این مقاله که آخرین قسمت می باشد ادامه کدها را می گوییم، در
انتهای این مقاله می توانید بازی ساده ios خود را اجرا کنید.
برنامه نوشته شده اکنون بصورت خطی و از بالا به پایین اجرا می شود اما اگر بخواهید برنامه راهی متفاوت را اجرا کند چه؟
برای انجام اینکار باید از دستورات شرطی استفاده کنید.
بازی به سه شرط نیاز دارد:
اگر مقدار عدد حدس زده خیلی بالا باشد: به بازیکن بگوید رقم کمتری را حدس بزند.
اگر مقدار حدس زده شده خیلی کم باشد: به بازیکن بگوید مقدار بالاتری حدس بزند.
اگر عدد درست را حدس بزند: به بازیکن تبریک بگوید.
برنامه
نویسی ساختاری به برنامه نویس کمک می کند در شرایط مختلف در برنامه خود
تغییرات منطقی ایجاد کند.دستورات شرطی این امکان را ایجاد می کنند.برای
اعمال دستورات شرطی در کد قبلی که در مقاله قبل گفتیم بعد از
دستورscanf(“%i”,&guess)
کد زیر را وارد کنید:
if(guess>answer)
{
NSLog(@"Lower!");
}
else if (guess<answer)
{
NSLog(@"Higher");
}
else
{
NSLog(@"Correct!The answer was %",answer);
}
دستور
شرطی باالا با یک دستور if آغاز می شود که یک سری شرایط در داخل پرانتز
توضیح داده می شود. برای مثال دستور if اول به برنامه می گوید اگر guess
(مقدار حدس زده شده) بیشتر از مقدار جواب بود روی خروجی چاپ کن:Lower(مقدار
کمتری حدس بزند) و شروط بعدی نز به همین ترتیب اجرا می شوند. کد با
دستورات if و else اجرا می شود اگر شرط اول درست نباشد برنامه به بررسی شرط
دوم و سوم می پردازد.
در دستورات شرطی می توانید از عبارت زیر برای مقایسه استفاده کنید:
>بزرگتر
<کوچکتر
>=بزرگتر مساوی
<=کوچکتر مساوی
==مساوی
!=مساوی نباشد
استفاده از دستور While
While
ساختاری است که می تواند چندین دستور if را در خود اجرا کند.تفاوتwhile
با if در نحوه اجرا آنها می باشد. دستورif یک بلوک کد را فقط یکبار اجرا
می کند اما دستور while بلوک کد را بارها و بارها تا زمانیکه شرایط درست
نباشد اجرا می کند.
دستور while زیر می تواند جایگزین دستور شرطی قبلی باشد:
while (guess != answer){ // first line to add
NSLog(@"Enter a number between 1 and 100");
scanf("%i", &guess);
if(guess > answer){
NSLog(@"Lower!"); }
else if(guess < answer){
NSLog(@"Higher!"); }
else{
NSLog(@"Correct! The answer was %i", answer); } } // second line to add — end of while loop
در
این کد دستور while تا زمانیکه جواب حدس زده شده با پاسخ یکسان نیست حلقه
را ادامه می دهد. سپس در داخل دستور while دستورات if قرارداده می شوند و
زمانیکه عدد صحیح حدس زده شود برنامه از حلقه while خارج می شود.
اکنون
برنامه شما کاملا کاربردی است فقط نیاز دارید شمارنده ای به نام turn++ را
به کد اضافه کنید،تا برنامه تعداد اعداد حدس زده شده توسط بازیکن را ذخیره
کند.
ممکن است بپرسید چرا مقدار turn را بصورت روبرو ننوشتیم:
turn=turn+1
این روش) (turn++ روشی برای خلاصه نویسی و صرفه جویی در تایپ کردن می باشد.
برای قرار دادن turn در برنامه کد زیر را در میان کدهای نوشته شده پیدا کنید:
NSLog(@"Enter a number between 1 and 100");
و کد زیر را جایگزین آن کنید:
NSLog(@"Guess #%i: Enter a number between 1 and 100", turn);
کد بالا با استفاده از %i مقدار turn را محاسبه می کند.
درست پس از بسته شدن آکولاد while، کد زیر را اضافه کنید:
NSLog(@"It took you %i tries", turn);
این کد در پایان برنامه تعداد حدسهای بازیکن را نمایش می دهد.
در نهایت کدی که در این دو مقاله آموزش دادیم بصورت زیر می باشد:
int main(int argc, const char * argv[])
{
@autoreleasepool {
int answer = 0;
int guess = 0;
int turn = 0;
answer = arc4random() % 100 + 1;
while (guess != answer) {
turn++;
NSLog(@"Guess #%i: Enter a number between 1 and 100", turn);
scanf("%i", &guess);
if (guess > answer) {
NSLog(@"Lower!");
}
else if (guess < answer) {
NSLog(@"Higher!");
}
else {
NSLog(@"Correct! The answer was %i", answer);
}
} // end of while loop
NSLog(@"It took you %i tries", turn);
}
return 0;
}
برنامه آموزش داده شده نمونه ای ساده از برنامه نویسی ios بود
شنبه 11 دیماه سال 1395 ساعت 04:35 ب.ظ