آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

در بازی تیک تاک برنده رو اشتباه معرفی میکنه یعنی اصلا درست اجازه نمیده بازی انجام بشه

mehdihosiny  11 سال پیش  11 سال پیش
0 0


   package com.app.nine.Home;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
import android.widget.Toast;


public class NineHomeActivity extends Activity {

    public ImageView[] images    = new ImageView[9];
    public byte[][]    cell      = new byte[3][3];
    public boolean     playerone = true;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        images[0] = (ImageView) findViewById(R.id.img1);
        images[1] = (ImageView) findViewById(R.id.img2);
        images[2] = (ImageView) findViewById(R.id.img3);
        images[3] = (ImageView) findViewById(R.id.img4);
        images[4] = (ImageView) findViewById(R.id.img5);
        images[5] = (ImageView) findViewById(R.id.img6);
        images[6] = (ImageView) findViewById(R.id.img7);
        images[7] = (ImageView) findViewById(R.id.img8);
        images[8] = (ImageView) findViewById(R.id.img9);

        OnClickListener imageclick = new OnClickListener() {

            @Override
            public void onClick(View view) {
                ImageView imageView = (ImageView) view;
                int tag = (Integer) imageView.getTag();
                int row = (int) Math.floor(tag / 3);
                int col = tag % 3;
                Log.i("Log", " row col :" + row + col);
                if (playerone) {
                    imageView.setImageResource(R.drawable.tic1);
                    cell[row][col] = 1;

                } else {
                    imageView.setImageResource(R.drawable.tic2);
                    cell[row][col] = 2;
                }
                checkwin();
                playerone = !playerone;

            }
        };

        for (int i = 0; i < 9; i++) {
            images[i].setTag(i);
            images[i].setOnClickListener(imageclick);

        }

    }


    public void resetgame() {
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                cell[i][j] = 0;
            }
        }
        for (int i = 0; i < 9; i++) {
            images[i].setImageResource(0);

        }
    }


    public void winer(int winerId) {
        Toast.makeText(NineHomeActivity.this, "player :" + winerId + "wins", Toast.LENGTH_SHORT).show();
        resetgame();
    }


    public void checkwin() {
        for (int i = 0; i < 3; i++) {
            if (cell[i][0] != 0 && cell[i][0] == cell[i][1] && cell[i][1] == cell[i][2]) {
                winer(cell[i][0]);
                return;
            }

        }
        for (int i = 0; i < 3; i++) {
            if (cell[0][i] != 0 && cell[0][1] == cell[1][i] && cell[1][i] == cell[2][i]) {
                winer(cell[0][i]);
                return;
            }

        }

        if (cell[0][0] != 0 && cell[0][2] == cell[1][1] && cell[1][1] == cell[2][2]) {
            winer(cell[0][0]);
            return;

        }
        if (cell[0][2] != 0 && cell[2][0] == cell[1][1] && cell[1][1] == cell[2][0]) {
            winer(cell[0][2]);
            return;

        }

    }
}

+1 0
trace کنین راحت تر می تونین بفهمین مشکل از کجاست. (11 سال پیش)
0 0
حمید جان trace کردن یعنی چی لینک /؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ (11 سال پیش)
0 0
یعنی با اجرای خط به خط ببینین مشکل از کجاست . یعنی با trace کردن برنامه رو دیباگ کنید .برای اطلاعات بیشتر کلمه ی دیباگ یا debug را جستجو کنید . (11 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
سعید کاظمی  11 سال پیش
0 0

         for (int i = 0; i < 3; i++) {
            if (cell[0][i] != 0 && cell[0][1] == cell[1][i] && cell[1][i] == cell[2][i]) {
                winer(cell[0][i]);
                return;
            }
 به جای cell[0][1] 
بزار
cell[0][i]

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