五子棋人机大战(Java菜鸟学习笔记)
逻辑是:
1、绘制棋盘;
2、人机开始各执行一次操作,每进行一次操作就进行判断输赢
其中判断输赢主要分成四个方向,横向、纵向以及交叉向,此时可以画图来找规律实现代码(图就不展示了,画的乱七八糟了—)
代码如下(暴力解法):
package com.kaikeba.demo;
import java.util.Scanner;
public class Demo4 {
//五子棋
public static void main(String[] args) {
int[][] nums = new int[16][16];//定义一个二维数组用来存放棋盘
for(int i=0;i<16;i++) {
for(int j=0;j<16;j++) {
if(i==0) {
nums[i][j] = j;
}else if(j==0){
nums[i][j] = i;
}else {
nums[i][j] = 0;
}
System.out.print(nums[i][j]+"\t");//打印棋盘对应行的列
}
System.out.println();//换行
}
int heiCount = 0;//定义黑方棋子连续累计数
int baiCount = 0;//定义白方棋子连续累计数
while(heiCount!=5 && baiCount!=5 ) {
//循环直到其中一个连续累计数为5就结束循环
Scanner scanner = new Scanner(System.in);
System.out.println("请黑方输入横坐标数:");
int heiI = scanner.nextInt();
System.out.println("请黑方输入纵坐标数:");
int heiJ = scanner.nextInt();
nums[heiI][heiJ] = 1;//黑方改变棋盘中对应位置
for(int i=0;i<16;i++) {
//打印黑方下完棋之后
for(int j=0;j<16