Java实现简单的五子棋小游戏
#代码知识 发布时间: 2026-01-12
五子棋游戏(Java),供大家参考,具体内容如下

思路:
1.首先创建一个棋盘,建立一个二维数组,此文中为一个15*15的二维数组,
2.初始化棋盘,给棋盘上个点赋初始值为“+”;
3.打印棋盘;
4.开始游戏
创建一个下棋的函数(playChess),黑方棋子为“●”,白方棋子为“○”,用奇偶数分别代表黑方和白方;判断输赢,有5个连续一样的棋子即为赢,游戏结束
五个棋子连续条件
本来需要判断8个方向的棋子,但由于棋子没有方向,头尾可调换,所以只要使得有四个方向的棋子5个连续就可以,这四个方向分别为:右边、右上、右下、下边(其他对应方向也可以),如下图所示。
import java.util.Scanner;
public class Demo01WuZiQi {
//1.创建一个15*15的棋盘
public static String[][] board = new String[15][15];
public static Scanner scanner = new Scanner(System.in);
public static int player = 0;
public static void main(String[] args) {
//2.初始化棋盘
initBoard();
//3.打印棋盘
printBoard();
//4.开始游戏
startGame();
}
private static void startGame() {
while (!isGameOver()) {
if (player % 2 == 0) { //黑方下棋
System.out.println(">>>请黑方下棋");
playChess("●");
} else { //白方下棋
System.out.println(">>>请白方下棋");
playChess("○");
}
player++;
}
System.out.println("Game Over");
}
private static boolean isGameOver() {
for (int x = 0; x < board.length; x++) {
for (int y = 0; y < board[x].length; y++) {
if(!board[x][y].equals("+")){
//向右
if (y < 11) {
if(board[x][y].equals(board[x][y+1])
&& board[x][y].equals(board[x][y+2])
&& board[x][y].equals(board[x][y+3])
&& board[x][y].equals(board[x][y+4]))
{
return true;
}
}
//向下
if (x < 11) {
if(board[x][y].equals(board[x+1][y])
&& board[x][y].equals(board[x+2][y])
&& board[x][y].equals(board[x+3][y])
&& board[x][y].equals(board[x+4][y]))
{
return true;
}
}
//向右下
if (x < 11 && y < 11) {
if(board[x][y].equals(board[x+1][y+1])
&& board[x][y].equals(board[x+2][y+2])
&& board[x][y].equals(board[x+3][y+3])
&& board[x][y].equals(board[x+4][y+4]))
{
return true;
}
}
//向右上
if (x > 3 && y < 11) {
if(board[x][y].equals(board[x-1][y+1])
&& board[x][y].equals(board[x-2][y+2])
&& board[x][y].equals(board[x-3][y+3])
&& board[x][y].equals(board[x-4][y+4]))
{
return true;
}
}
}
}
}
return false;
}
private static void playChess(String chess) {
System.out.print(">>>请输入棋子的坐标:");
int x = scanner.nextInt() - 1;
int y = scanner.nextInt() - 1;
if (board[x][y].equals("+")) {
board[x][y] = chess;
printBoard();
} else {
System.out.println(">>>此处已有棋子,请重新输入");
player--;
}
}
public static void printBoard() {
System.out.print(" ");
//打印列号
for (int i = 1; i <= board.length; i++) {
System.out.printf("%-3d",i);
}
System.out.println();
for (int i = 0; i < board.length; i++) {
//打印行号
System.out.printf("%-3d", i + 1);
//打印每一行的棋盘
for (int j = 0; j < board[i].length; j++) {
System.out.print(board[i][j] + " ");
}
System.out.println();
}
}
public static void initBoard() {
for (int i = 0; i < board.length; i++) {
for (int j = 0; j < board[i].length; j++) {
board[i][j] = "+";
}
}
}
}
更多有趣的经典小游戏实现专题,分享给大家:
C++经典小游戏汇总
python经典小游戏汇总
python俄罗斯方块游戏集合
JavaScript经典游戏 玩不停
java经典小游戏汇总
javascript经典小游戏汇总
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
代码知识SEO上一篇 : 针对Vue路由history模式下Nginx后台配置操作
下一篇 : 利用Pycharm + Django搭建一个简单Python Web项目的步骤
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!