XOX Oyunu
package alıştırmalar;
import java.util.*;
public class xox_Game {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String strMatrix[][] = new String[3][3];
 
//ilk değer yükleme
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
strMatrix[i][j]= " "; 
}
}
 
for (int i = 0; i < 9; i++) { //9 tur
printTable(strMatrix); 
 
String player ="";
player = setPlayer(i); //sıra hangi oyuncuda?
 
int row,column;
System.out.print("Enter a row (1,2 or 3) for player " + player + ": ");
row = scanner.nextInt();
System.out.print("Enter a column (1,2 or 3) for player " + player + ": ");
column = scanner.nextInt();
 
boolean isVictory = false;
if (row >= 1 && row <=3 && column >= 1 && column <=3) {
if (strMatrix[row-1][column-1].equals(" ")) {
strMatrix[row-1][column-1] = player;
 
isVictory = controlTable(strMatrix); //oyun bitti mi kontrolü
if (isVictory) {
printTable(strMatrix);
System.out.println("player " + player + " won!");
return;
}
} else{
System.out.println("Row-column is fill");
i--; //tur--
}
} else{
System.out.println("Row-column is wrong value");
i--;
}
}
System.out.println("draw");
}
 
private static String setPlayer(int i) {
String player;
if (i % 2 == 1) {
player = "O";
} else {
player = "X";
}
return player;
}
 
private static boolean controlTable(String[][] strMatrix) {
//sütun kontrolü
boolean ret = false;
 
ret = checkColumn(strMatrix);
if (ret) return true;
 
//satır kontrolü
ret = checkRow(strMatrix);
if(ret) return true;
 
//Köşegen kontrolü
ret = checkDiagonal(strMatrix);
if(ret) return true;
 
return false;
}
 
private static boolean checkDiagonal(String[][] strMatrix) {
//köşegendeki değerler eşitse oyunu kazanmıştır.
//1. ve 2. köşegenleri kontrol eder.
String val00 = strMatrix[0][0];
String val11 = strMatrix[1][1];
String val22 = strMatrix[2][2];
String val02 = strMatrix[0][2];
String val20 = strMatrix[2][0];
 
if ((!val00.equals(" ")) && val00.equals(val11) && val11.equals(val22)) {
return true;
}
if ((!val02.equals(" ")) && val02.equals(val11) && val11.equals(val20)) {
return true;
}
return false;
}
 
private static boolean checkRow(String[][] strMatrix) {
for (int j = 0; j < 3; j++) { //j. satırdaki değerler eşitse oyunu kazanmıştır.
String row0 = strMatrix[0][j];
String row1 = strMatrix[1][j];
String row2 = strMatrix[2][j];
if ((!row0.equals(" ")) && row0.equals(row1) && row1.equals(row2)) {
return true;
}
}
return false;
}
 
private static boolean checkColumn(String[][] strMatrix) {
for (int j = 0; j < 3; j++) { //j. sütundaki değerler eşitse oyunu kazanmıştır.
String column0 = strMatrix[j][0];
String column1 = strMatrix[j][1];
String column2 = strMatrix[j][2];
if ((!column0.equals(" ")) && column0.equals(column1) && column1.equals(column2)) {
return true;
}
}
return false;
}
 
private static void printTable(String[][] strMatrix) {
for (int i = 0; i < 3; i++) {
System.out.println("-------------");
System.out.print("|");
for (int j = 0; j < 3; j++) {
System.out.print(" ");
System.out.print(strMatrix[i][j]);
System.out.print(" ");
System.out.print("|");
}
System.out.println("");
}
System.out.println("-------------");
}
}
 
 
SAAT
 
Facebook beğen
 
 
Bugün 21 ziyaretçi (30 klik) kişi burdaydı!
DFGHJKÖ B Bu web sitesi ücretsiz olarak Bedava-Sitem.com ile oluşturulmuştur. Siz de kendi web sitenizi kurmak ister misiniz?
Ücretsiz kaydol