当前位置:首页 > 游戏 >

经典五子棋单机版(无需联网的单机五子棋)

来源:原点资讯(www.yd166.com)时间:2023-05-18 22:40:01作者:YD166手机阅读>>

上一篇文章,使用Java写了一个控制台的五子棋,玩起来不是很友好,这一篇文章把代码做了优化,同样是一个Java文件,单机五子棋玩起来!

直接上代码:代码已经运行通过,直接使用main方法运行;

package store.tbfl; /** * @version 1.0.0 * @ClassName WuZiQiGame.java * @Description TODO * @createTime 2023年04月14日 16:09:00 */ import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class WuZiQiGame extends JFrame implements ActionListener { private JButton[][] boardButtons; // 棋盘按钮 private char[][] board; // 棋盘 private char currentPlayer; // 当前玩家 private boolean gameover; // 游戏是否结束 public WuZiQiGame() { setTitle("伊伊动漫-五子棋"); setSize(500, 500); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new GridLayout(15, 15)); boardButtons = new JButton[15][15]; board = new char[15][15]; currentPlayer = 'X'; gameover = false; // 初始化棋盘按钮和事件监听器 for (int i = 0; i < 15; i ) { for (int j = 0; j < 15; j ) { boardButtons[i][j] = new JButton(); boardButtons[i][j].setFont(new Font("Arial", Font.PLAIN, 30)); boardButtons[i][j].addActionListener(this); add(boardButtons[i][j]); } } setVisible(true); } @Override public void actionPerformed(ActionEvent e) { if (gameover) { return; } JButton clickedButton = (JButton) e.getSource(); // 获取按钮的行列索引 int row = -1; int col = -1; for (int i = 0; i < 15; i ) { for (int j = 0; j < 15; j ) { if (clickedButton == boardButtons[i][j]) { row = i; col = j; break; } } } // 判断按钮是否为空,并落子 if (board[row][col] == '\u0000') { board[row][col] = currentPlayer; clickedButton.setText(String.valueOf(currentPlayer)); clickedButton.setEnabled(false); // 检查胜利条件 if (checkWin(row, col)) { JOptionPane.showMessageDialog(this, "玩家 " currentPlayer " 胜利!"); gameover = true; } else { // 切换下一位玩家 currentPlayer = (currentPlayer == 'X') ? 'O' : 'X'; } } } // 检查胜利条件 private boolean checkWin(int row, int col) { char player = board[row][col]; // 水平方向 int count = 1; int i = row; int j = col - 1; while (j >= 0 && board[i][j] == player) { count ; j--; } j = col 1; while (j < 15 && board[i][j] == player) { count ; j ; } if (count >= 5) { return true; } // 竖直方向 count = 1; i = row - 1; j = col; while (i >= 0 && board[i][j] == player) { count ; i--; } i = row 1; while (i < 15 && board[i][j] == player) { count ; i ; } if (count >= 5) { return true; } // 左上到右下斜线方向 count = 1; i = row - 1; j = col - 1; while (i >= 0 && j >= 0 && board[i][j] == player) { count ; i--; j--; } i = row 1; j = col 1; while (i < 15 && j < 15 && board[i][j] == player) { count ; i ; j ; } if (count >= 5) { return true; } // 右上到左下斜线方向 count = 1; i = row - 1; j = col 1; while (i >= 0 && j < 15 && board[i][j] == player) { count ; i--; j ; } i = row 1; j = col - 1; while (i < 15 && j >= 0 && board[i][j] == player) { count ; i ; j--; } if (count >= 5) { return true; } return false; } public static void main(String[] args) { SwingUtilities.invokeLater(() -> new WuZiQiGame()); } }

经典五子棋单机版,无需联网的单机五子棋(1)

经典五子棋单机版,无需联网的单机五子棋(2)

经典五子棋单机版,无需联网的单机五子棋(3)

栏目热文

五子棋趣味玩法游戏(五子棋游戏玩法规则)

五子棋趣味玩法游戏(五子棋游戏玩法规则)

我下得最多的棋,当属五子棋。最近在微信小游戏中,玩得比较频繁。总共已对弈了300多盘,累计胜率为67%左右。依稀记得我还...

2023-05-18 22:07:08查看全文 >>

五子棋游戏最简单的玩法(五子棋怎么玩得最简单)

五子棋游戏最简单的玩法(五子棋怎么玩得最简单)

banner这是一个关于五子棋实现的系列文,本文是第 1 篇。总共会分成两篇文章:五子棋 - JavaScript 实现...

2023-05-18 22:08:45查看全文 >>

五子棋游戏大全和玩法(旋转五子棋游戏终极玩法)

五子棋游戏大全和玩法(旋转五子棋游戏终极玩法)

五子棋五子棋是一种益智类的竞技体育,下五子棋有利于人的智力发展。在一个棋盘上,对战双方分别持白子和黑子。谁先用自己的棋子...

2023-05-18 22:15:40查看全文 >>

五子棋拓展游戏规则(五子棋的游戏规则六个棋连在一起)

五子棋拓展游戏规则(五子棋的游戏规则六个棋连在一起)

什么?团建暖场游戏你还在捏捏前面人的背,掐掐后面人的腰?拜托,看图猜成语过时了,这几个团建游戏两个字”好玩”,需要的收藏...

2023-05-18 22:36:45查看全文 >>

五子棋游戏套路(五子棋游戏的说明)

五子棋游戏套路(五子棋游戏的说明)

许多小伙伴喜欢棋牌游戏比如象棋、围棋、扑克…当你和对手厮杀的昏天黑地时有没有想过这样一个问题:这些游戏有必胜策略吗?如果...

2023-05-18 22:40:11查看全文 >>

天翼高清机顶盒怎么打开u盘(天翼高清机顶盒怎么连接电视)

天翼高清机顶盒怎么打开u盘(天翼高清机顶盒怎么连接电视)

作为移动存储设备,U盘凭借其小巧便携的特性受到了众多上班族与学生们的青睐。如今的智能设备来说,U盘接口早已变成了必备的,...

2023-05-18 22:12:05查看全文 >>

天翼高清机顶盒怎么申请(天翼高清机顶盒怎么激活)

天翼高清机顶盒怎么申请(天翼高清机顶盒怎么激活)

你花大价钱买了4K电视,却用它来看普通高清内容你用上了最新最快的智能手机,却在忍受电视操作的卡顿你时刻担心小孩看电视会近...

2023-05-18 22:41:21查看全文 >>

天翼高清机顶盒怎么进不去(天翼机顶盒打不开黑屏怎么办)

天翼高清机顶盒怎么进不去(天翼机顶盒打不开黑屏怎么办)

周口生活网 发表 中国电信高清电视机顶盒错误代码和处理方法,...

2023-05-18 22:21:06查看全文 >>

天翼高清机顶盒如何激活(天翼高清机顶盒怎么激活)

天翼高清机顶盒如何激活(天翼高清机顶盒怎么激活)

视频通话安装操作使用步骤视频通话安装操作使用步骤1.什么是视频通话视频通话是一款视频通话产品,可以实现机顶盒之间、机顶盒...

2023-05-18 22:29:37查看全文 >>

天翼高清机顶盒怎么收藏(天翼高清机顶盒怎么用视频教程)

天翼高清机顶盒怎么收藏(天翼高清机顶盒怎么用视频教程)

电视猫中有很多编辑大大们精心挑选制作的专题,不论你喜欢看国产言情狗血剧,或是国外科幻搅基剧,还是各种搞笑逗比剧,这里都能...

2023-05-18 22:22:40查看全文 >>

文档排行