java五子棋小游戏
时间: 2023-11-10 22:04:19 浏览: 120
好的,我可以为您提供一些关于Java五子棋小游戏的信息。五子棋是一种非常受欢迎的策略游戏,它可以在控制台或图形用户界面中实现。以下是一个简单的Java五子棋小游戏的示例代码:
```java
import java.util.Scanner;
public class Gobang {
private static int BOARD_SIZE = 15;
private String[][] board;
public void initBoard() {
board = new String[BOARD_SIZE][BOARD_SIZE];
for (int i = 0; i < BOARD_SIZE; i++) {
for (int j = 0; j < BOARD_SIZE; j++) {
board[i][j] = "+";
}
}
}
public void printBoard() {
for (int i = 0; i < BOARD_SIZE; i++) {
for (int j = 0; j < BOARD_SIZE; j++) {
System.out.print(board[i][j]);
}
System.out.print("\n");
}
}
public void play() {
Scanner scanner = new Scanner(System.in);
int x = 0, y = 0;
String color = "x";
while (true) {
System.out.print("请输入x坐标:");
x = scanner.nextInt();
System.out.print("请输入y坐标:");
y = scanner.nextInt();
if (board[x][y].equals("+")) {
board[x][y] = color;
if (isWin(x, y)) {
System.out.println(color + "赢了!");
break;
}
color = color.equals("x") ? "o" : "x";
} else {
System.out.println("该位置已经有棋子了,请重新输入!");
}
printBoard();
}
}
public boolean isWin(int x, int y) {
String color = board[x][y];
int count = 1;
// 横向
for (int i = x - 1; i >= 0; i--) {
if (board[i][y].equals(color)) {
count++;
} else {
break;
}
}
for (int i = x + 1; i < BOARD_SIZE; i++) {
if (board[i][y].equals(color)) {
count++;
} else {
break;
}
}
if (count >= 5) {
return true;
}
// 纵向
count = 1;
for (int i = y - 1; i >= 0; i--) {
if (board[x][i].equals(color)) {
count++;
} else {
break;
}
}
for (int i = y + 1; i < BOARD_SIZE; i++) {
if (board[x][i].equals(color)) {
count++;
} else {
break;
}
}
if (count >= 5) {
return true;
}
// 左上到右下
count = 1;
for (int i = x - 1, j = y - 1; i >= 0 && j >= 0; i--, j--) {
if (board[i][j].equals(color)) {
count++;
} else {
break;
}
}
for (int i = x + 1, j = y + 1; i < BOARD_SIZE && j < BOARD_SIZE; i++, j++) {
if (board[i][j].equals(color)) {
count++;
} else {
break;
}
}
if (count >= 5) {
return true;
}
// 右上到左下
count = 1;
for (int i = x - 1, j = y + 1; i >= 0 && j < BOARD_SIZE; i--, j++) {
if (board[i][j].equals(color)) {
count++;
} else {
break;
}
}
for (int i = x + 1, j = y - 1; i < BOARD_SIZE && j >= 0; i++, j--) {
if (board[i][j].equals(color)) {
count++;
} else {
break;
}
}
if (count >= 5) {
return true;
}
return false;
}
public static void main(String[] args) {
Gobang game = new Gobang();
game.initBoard();
game.printBoard();
game.play();
}
}
```
这个示例代码实现了一个简单的五子棋游戏,玩家可以在控制台中输入坐标来下棋,程序会判断是否有玩家获胜。
阅读全文