بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

پروژه ی tic tac toe

مدیریت گفتگو
ramin301 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام 

من در پروژه ی tic tac toe میخوام کدی بنویسم که اگر بازی مساوی شد مثلا یه پیغامی بده

الان مشکل نوشتن کدی هست که  بفهمه بازی مساوی شد.

من خودم در متد checkWin از حلقه ی for اسفاده کردم 

 for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                if (cells[i][j] > 0) {
                    resetGame();
                    return;
                }

            }
}

ولی خب این باعث شد وقتی رو هر خونه کلیک می کنم اصلا هیچ اتفاقی نیفته.

اگر کسی ایده ای در این زمینه داره کمی راهنمایی کنه.

نظرات

Ghost 11 سال پیش
خب خیلی حالت داره که بازی مساوی بشه ! شما باید هی امتحان کنی وقتی مساوی شد cells اش رو بنویسی ! خیلی راحته !
ramin301 11 سال پیش
:D به قول خدا بیامرز یکیش رو بگو
Ghost 11 سال پیش
خب این حالت کم پیش میاد ! باید هی بزنی تا یکیش مستوی شه و بعدش cells هاش رو بنویسی ! نمیدونم این روش جواب بده یانه !
ramin301 11 سال پیش
من اصلا متوجه منظورت نمیشم. منظورت این هستش که برای هر حالت مساوی یک کد بنویسم؟ اگه این منظورت باشه فکر کنم کلی کد باید بنویسم که عملا کار غیر ممکنی هست.
Ghost 11 سال پیش
خب فکر کنم راهی به غیر از این نباشه ! بازم حالا تحقیق کنید !
ATRAS 11 سال پیش
زمانی بازی مساوی میشه که کسی نبره و زمانی کسی نمیبره که تمام خونه ها کلیک شده باشن.پس بگین اگر تمام سلول هاتون کلیک شده بودن یه پیغام بده یا یه کاری کنه.
ramin301 11 سال پیش
منم با همین تفکر حلقه ی بالا رو نوشتم ولی کلا باعث میشه هیچ خونه ای پر نشه. اگه ممکنه کمی بیشتر راهنمایی کنید.
ATRAS 11 سال پیش
در دقیقیه 45 که استاد کد ایلگان رو میزنن اونجا دقیقا خونه ای که پر شدرو میگیره.حالا شما یک شمارنده بزارید وقتی هر خونه که ایلگان شد یکی به متغیر اظافه کنه و در آخر هم بگین اگر متغیر من مساوی شد با 9 یعنی همه خونه ها پر شده و بازی ریست میشه.
ramin301 11 سال پیش
ایده استفاده از شمارنده به ذهنم زد بعدش شما که نظرتون رو گفتید دقیقا مشکلم حل شد . واقعا ممنونم
ATRAS 11 سال پیش
خواهش میکنم وظیفه بود.موفق باشین.
ramin301 11 سال پیش
فقط یه سوال دیگه به نظر شما از چه نوع دیالوگی استفاده کنم برای معرفی برنده . از خود Dialog استفاده کردم ولی مثل اینکه نمیشه براش setMessage و setButton استفاده کرد
Ghost 11 سال پیش
از دیالوگ Toast (خخخخ)
ATRAS 11 سال پیش
از دیالوگ شخصی استفاده کنین بهتره.خودتون یک xml طراحی کنین بعد وصل کنین به دیالوگ اینجوری گرافیک برنامتون هم قشنگ میشه هم داینامیک میشه کلا چیز خیلی خوبی در میاد.
ramin301 11 سال پیش
در کدوم بخش آموزش استفاده از دیالوگ شخصی توضیح داده شده؟
ATRAS 11 سال پیش
تقریبا آخرای ویدیو آموزش دیالوگ.اون قسمت که استاد یک پروگرس بار میندازن و کادر دورشو آخر برمیدارن.

پاسخ‌ها 1

مجتبی یگانه 11 سال پیش

این همه سوال و جواب رو نخوندم ! ، اما جواب سادست !

  1. آیا کسی برنده شده است ؟! -> اتمام بازی
  2. آیا تمام خانه ها ها پر است ؟ -> اتمام بازی بدون برنده ، یا به اصطلاح Tic Tac Toe بازی گره خورده - Tied Game

برای انجامش توصیه میکنم برای checkWin خروجی boolean تعریف کنید ، که اگر false بود یعنی کسی برنده نشده و کد میشه

if(checkWin()){
showWinAlert();
}
else{
if(isBoardFull()){
showTiedGameAlert();
}
}

نظرات

ajn91 11 سال پیش
مشکل در نظرات به نتیجه رسیده بود

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .