面向过程简单的五子棋逻辑
来源:互联网 发布:河北大学工商学院 知乎 编辑:程序博客网 时间:2024/06/05 16:29
import java.util.Scanner;
public class WuZiQi {
public static void main(String[] args) {
int[][] maps = new int[9][9];
for (int i = 0; i < maps.length; i++) {
for (int j = 0; j < maps[i].length; j++) {
System.out.print(maps[i][j] + " ");
}
System.out.println();
}
while (true) {
// 黑棋;
System.out.println("请输入黑棋的横纵坐标:");
Scanner scanner = new Scanner(System.in);
int blackrow = scanner.nextInt();
int blackcol = scanner.nextInt();
if (maps[blackrow][blackcol] !=0) {
System.out.println("你输入的位置已经有棋子了");
break;
}
if (blackrow > 8 || blackcol < 0) {
System.out.println("您输入的数字超出棋盘范围");
return;
}
maps[blackrow][blackcol] = 1;
for (int i = 0; i < maps.length; i++) {
for (int j = 0; j < maps[i].length; j++) {
if (i == blackrow & j == blackcol ) {
maps[i][j] = maps[blackrow][blackcol] ;
}
System.out.print(maps[i][j] + " ");
}
System.out.println();
}
//黑棋赢
for (int i = 0; i < maps.length; i++) {
for (int j = 0; j < maps.length; j++) {
if (maps[i][j] == 1 && maps[i][j + 1] == 1 && maps[i][j + 2] == 1 && maps[i][j + 3] == 1
&& maps[i][j + 4] == 1) {
// sum++;
System.out.println("黑棋win");
return;
} else if (maps[i][j] == 1 && maps[i + 1][j] == 1 && maps[i + 2][j] == 1 && maps[i + 3][j] == 1
&& maps[i + 4][j] == 1) {
System.out.println("黑棋win");
return;
} else if (maps[i][j] == 1 && maps[i + 1][j + 1] == 1 && maps[i + 2][j + 2] == 1
&& maps[i + 3][j + 3] == 1 && maps[i + 4][j + 4] == 1) {
System.out.println("黑棋win");
return;
}
}
}
// 白棋
System.out.println("请输入白棋的横纵坐标:");
Scanner scanner1 = new Scanner(System.in);
int whiterow = scanner1.nextInt();
int whitecol = scanner1.nextInt();
if (maps[whiterow][whitecol] !=0) {
System.out.println("你输入的位置已经有棋子了");
break;
}
if (whiterow > 8 ||whitecol < 0) {
System.out.println("您输入的数字超出棋盘范围");
return;
}
maps[whiterow][whitecol] = 2;
for (int i = 0; i < maps.length; i++) {
for (int j = 0; j < maps[i].length; j++) {
if (i == whiterow & j == whitecol) {
maps[i][j] = maps[whiterow][whitecol];
}
System.out.print(maps[i][j] + " ");
}
System.out.println();
}
//白棋赢
for (int i = 0; i < maps.length; i++) {
for (int j = 0; j < maps.length; j++) {
if (maps[i][j] == 2 && maps[i][j + 1] == 2 && maps[i][j + 2] == 2 && maps[i][j + 3] == 2
&& maps[i][j + 4] == 2) {
System.out.println("白棋win");
return;
} else if (maps[i][j] == 2 && maps[i + 1][j] == 2 && maps[i + 2][j] == 2 && maps[i + 3][j] == 2
&& maps[i + 4][j] == 2) {
System.out.println("白棋win");
return;
} else if (maps[i][j] == 2 && maps[i + 1][j + 1] == 2 && maps[i + 2][j + 2] == 2
&& maps[i + 3][j + 3] == 2 && maps[i + 4][j + 4] == 2) {
System.out.println("白棋win");
return;
}
}
}
}
}
}
public class WuZiQi {
public static void main(String[] args) {
int[][] maps = new int[9][9];
for (int i = 0; i < maps.length; i++) {
for (int j = 0; j < maps[i].length; j++) {
System.out.print(maps[i][j] + " ");
}
System.out.println();
}
while (true) {
// 黑棋;
System.out.println("请输入黑棋的横纵坐标:");
Scanner scanner = new Scanner(System.in);
int blackrow = scanner.nextInt();
int blackcol = scanner.nextInt();
if (maps[blackrow][blackcol] !=0) {
System.out.println("你输入的位置已经有棋子了");
break;
}
if (blackrow > 8 || blackcol < 0) {
System.out.println("您输入的数字超出棋盘范围");
return;
}
maps[blackrow][blackcol] = 1;
for (int i = 0; i < maps.length; i++) {
for (int j = 0; j < maps[i].length; j++) {
if (i == blackrow & j == blackcol ) {
maps[i][j] = maps[blackrow][blackcol] ;
}
System.out.print(maps[i][j] + " ");
}
System.out.println();
}
//黑棋赢
for (int i = 0; i < maps.length; i++) {
for (int j = 0; j < maps.length; j++) {
if (maps[i][j] == 1 && maps[i][j + 1] == 1 && maps[i][j + 2] == 1 && maps[i][j + 3] == 1
&& maps[i][j + 4] == 1) {
// sum++;
System.out.println("黑棋win");
return;
} else if (maps[i][j] == 1 && maps[i + 1][j] == 1 && maps[i + 2][j] == 1 && maps[i + 3][j] == 1
&& maps[i + 4][j] == 1) {
System.out.println("黑棋win");
return;
} else if (maps[i][j] == 1 && maps[i + 1][j + 1] == 1 && maps[i + 2][j + 2] == 1
&& maps[i + 3][j + 3] == 1 && maps[i + 4][j + 4] == 1) {
System.out.println("黑棋win");
return;
}
}
}
// 白棋
System.out.println("请输入白棋的横纵坐标:");
Scanner scanner1 = new Scanner(System.in);
int whiterow = scanner1.nextInt();
int whitecol = scanner1.nextInt();
if (maps[whiterow][whitecol] !=0) {
System.out.println("你输入的位置已经有棋子了");
break;
}
if (whiterow > 8 ||whitecol < 0) {
System.out.println("您输入的数字超出棋盘范围");
return;
}
maps[whiterow][whitecol] = 2;
for (int i = 0; i < maps.length; i++) {
for (int j = 0; j < maps[i].length; j++) {
if (i == whiterow & j == whitecol) {
maps[i][j] = maps[whiterow][whitecol];
}
System.out.print(maps[i][j] + " ");
}
System.out.println();
}
//白棋赢
for (int i = 0; i < maps.length; i++) {
for (int j = 0; j < maps.length; j++) {
if (maps[i][j] == 2 && maps[i][j + 1] == 2 && maps[i][j + 2] == 2 && maps[i][j + 3] == 2
&& maps[i][j + 4] == 2) {
System.out.println("白棋win");
return;
} else if (maps[i][j] == 2 && maps[i + 1][j] == 2 && maps[i + 2][j] == 2 && maps[i + 3][j] == 2
&& maps[i + 4][j] == 2) {
System.out.println("白棋win");
return;
} else if (maps[i][j] == 2 && maps[i + 1][j + 1] == 2 && maps[i + 2][j + 2] == 2
&& maps[i + 3][j + 3] == 2 && maps[i + 4][j + 4] == 2) {
System.out.println("白棋win");
return;
}
}
}
}
}
}
阅读全文
0 0
- 面向过程简单的五子棋逻辑
- 面向对象与面向过程的“五子棋“诠释
- 用面向过程写简单推箱子逻辑
- 用面向过程写一个五子棋
- 简单的小型五子棋
- 五子棋的简单AI
- 五子棋的简单实现
- 简单的面向过程分页
- 简单的面向过程分页
- 浅析两大类编程中五子棋,面向过程的设计思路
- [001]新手,用java面向过程思维写的五子棋小游戏。
- 简单的控制台五子棋游戏
- 简单AI的五子棋程序
- 一个简单的五子棋程序
- 简单的控制台五子棋游戏
- java实现简单的五子棋
- 五子棋的简单实现方式
- Java简单实现的五子棋
- ubuntu下的Python的运行版本
- Caffe基础知识学习
- RabbitMQ学习01
- 3.列表(一个打了激素的数组)
- (3)window事件、广告弹出
- 面向过程简单的五子棋逻辑
- python求解括号匹配的相关问题
- ACM训练日记—8月5日
- Hibernate学习5 事务管理简单例子购买股票
- Cocos2d-x实战项目开发:运动的小球
- javascript 实现父节点下子节点的倒序排列
- PYTHON机器学习实战——朴素贝叶斯
- Dream City ZOJ
- sstream与相比stdio.h的好处