در بازی تیک تاک برنده رو اشتباه معرفی میکنه یعنی اصلا درست اجازه نمیده بازی انجام بشه
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;
}
}
}
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]
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .