利于二维数组写一个五子棋,棋盘14x14

来源:互联网 发布:网络歌曲女生唱的 编辑:程序博客网 时间:2024/05/22 05:11

package com.lanou.homework0;


import java.util.Scanner;


public class WuZiQi {

publicstatic void main(String[] args) {

Scanner scanner =new Scanner(System.in);

int[ ][ ]map = newint [14][14];

for(inti = 0 ;i < map.length ; i++){

for(intj = 0 ; j <map[i].length ;j++){

System.out.print(map[i][j] + "  ");

}

System.out.println();

}

while(true){

intm;

intn;

do{

do{System.out.println("请输入白棋的横坐标");

m = scanner.nextInt();

}while(m >=map.length ||m < 0);

do{System.out.println("请输入白棋的纵坐标");

n = scanner.nextInt();

}while(n >=map[m].length ||n < 0);

}while(map[m][n] == 1 ||map[m][n] == 2);

map [m][n] = 1;

for(inti = 0 ;i < map.length ; i++){

for(intj = 0 ; j <map[i].length ;j++){

System.out.print(map[i][j] + "  ");

}

System.out.println();

}

//判断条件

for(inth=0;h <= 5;h++){

for(intk=0; k <= 5;k++){       //遍历一次左上的6x6数组   首先确定一个起始点

   

if(map[h][k] == 1 &&map[h][k] ==map[h+1][k+1]&&map[h][k] ==map[h+2][k+2]&&map[h][k] ==map[h+3][k+3]&&map[h][k] ==map[h+4][k+4]

||map[h][k] == 1 &&map[h][k] ==map[h+1][k]&&map[h][k] ==map[h+2][k]&&map[h][k] ==map[h+3][k]&&map[h][k] ==map[h+4][k]

||map[h][k] == 1 &&map[h][k] ==map[h][k+1]&&map[h][k] ==map[h][k+2]&&map[h][k] ==map[h][k+3]&&map[h][k] ==map[h][k+4]

){

System.out.println("白棋获胜" );

return;

}

}

}

for(inth=4;h <= 9;h++){

for(intk=0; k <= 5;k++){

if(map[h][k] == 1 &&map[h][k] ==map[h-1][k+1]&&map[h][k] ==map[h-2][k+2]&&map[h][k] ==map[h-3][k+3]&&map[h][k] ==map[h-4][k+4]){

System.out.println("白棋获胜了");

return;

}

}

}

intx;

inty;

do{

do{

System.out.println("请输入黑棋的横坐标");

x = scanner.nextInt();

}while(x >=map.length ||x < 0);

do{

System.out.println("请输入黑棋的纵坐标");

y = scanner.nextInt();

}while(y >=map[x].length ||y < 0);

}while(map[x][y] == 1 ||map[x][y] == 2);

map [x][y] = 2;

for(inti = 0 ;i < map.length ; i++){

for(intj = 0 ; j <map[i].length ;j++){

System.out.print(map[i][j] + "  ");

}

System.out.println();

}

//判断条件

for(inth=0;h <= 5;h++){

for(intk=0; k <= 5;k++){

    floatsum4=0;

floatsum5=0;

floatsum6=0;

for(intj = 0;j <= 4;j++){

sum4=sum4+map[h+j][k];

sum5 = sum5+map[h][k+j];

sum6 =sum6+map[h+j][k+j];

}

if(sum4/5== 2 || sum5/5 ==2 ||sum6/5 == 2){

System.out.println("黑棋获胜");

return;

}

}

}

for(inth=4;h <= 9;h++){

for(intk=0; k <= 5;k++){

floatsum=0;

for(intj = 0;j <= 4;j++){

sum = sum+map[h-j][k+j];

}

if(sum/5 == 2){

System.out.println("黑棋获胜了");

return;

}

}

}

}

}

}



原创粉丝点击