实现一个基本的单机五子棋功能

该五子棋棋盘大小为19*19的网格,玩家可以通过鼠标点击棋盘来落子,当出现五连珠时,提示一方胜出~

1)模块划分

主模块:调用其他模块实现五子棋功能

棋盘模块:绘制五子棋棋盘、画棋子、判断胜负和行棋方转换、让玩家在合法位置上落子

棋子类模块

2)数据结构设计

棋盘上的棋子信息:(19+1)*(19+1)的二维数组

棋子类:颜色(int型,0-黑色,1-白色),放置信息(boolean false-未放置棋子,true-已放置棋子),遍历时当前匹配的连珠数目(int 初始为1)

坐标变换:为了编程方便,设立棋盘坐标系:棋盘范围(0,0)-(18,18)。实际设备坐标系,单位是像素,左上角为坐标原点,坐标轴正方向采用x轴向右,y轴向下。

3)实现过程

Java实现一个简单的两人五子棋游戏(二) 画棋盘:http://blog.csdn.net/v_xchen_v/article/details/53420203 Java实现一个简单的两人五子棋游戏(三) 画棋子:http://blog.csdn.net/v_xchen_v/article/details/53431670
Java实现一个简单的两人五子棋游戏(四) 落子动作的实现:http://blog.csdn.net/v_xchen_v/article/details/53438858
Java实现一个简单的两人五子棋游戏(五) 判断是否有一方胜出:http://blog.csdn.net/v_xchen_v/article/details/53440319
Java实现一个简单的两人五子棋游戏(六) 行棋方变换:http://blog.csdn.net/v_xchen_v/article/details/53447709
Java实现一个简单的两人五子棋游戏(七) 提示信息 end:http://blog.csdn.net/v_xchen_v/article/details/53448076


4)代码

我将完整的项目代码存放于Github上,地址:https://github.com/xchen100/SimpleGobang.git

参考:http://www.jikexueyuan.com/course/2055.html

Java实现一个简单的两人五子棋游戏(一) 系统设计相关推荐

  1. Java实现一个简单的两人五子棋游戏(六) 行棋方变换

    1)选择棋子 ✔️ 2)画棋子 ✔️ 3)判断胜负 ✔️ 4)交换行棋方 目标 前面我们已经画好棋盘和棋子,并可以自由落子,且可以判断棋盘中是否有五连珠.接下来的工作是,每次落子后交换行棋方(即将下一 ...

  2. java五子棋盘_Java实现一个简单的两人五子棋游戏(二) 画棋盘

    棋盘模块: 画五子棋棋盘:19条横线.19条竖线 步骤一:显示棋盘 我有一张名为chessboard.png的棋盘,位置为根目录/res/drawable/chessboard/png,现在我要显示这 ...

  3. 如何用java编写一个简单的多人PK游戏

    如何用java编写一个简单的多人PK游戏 类与对象---PK游戏的编写 素材取用----王者荣耀和BILIBILI 创建两个对战的角色(PK游戏最少需要两名角色) 创建孙尚香和Van 设置孙尚香和Va ...

  4. java画五子棋盘_Java实现两人五子棋游戏(二) 画出棋盘

    本文为大家分享了java画出五子棋游戏棋盘的方法,供大家参考,具体内容如下 棋盘模块: 画五子棋棋盘:19条横线.19条竖线 步骤一:显示棋盘 我有一张名为chessboard.png的棋盘,位置为根 ...

  5. java五子棋棋盘_Java实现两人五子棋游戏(二) 画出棋盘

    此文为大家分享了java画出五子棋游戏棋盘的方法,供大家参考,具体内容如下 棋盘模块: 画五子棋棋盘:19条横线.19条竖线 步骤一:显示棋盘 我有一张名为chessboard.png的棋盘,位置为根 ...

  6. 无聊的时候怎么办?教你用java写一个简单挂机打金币小游戏吧!

    无聊的时候怎么办?教你用java写一个超简单挂机打金币小游戏吧! Java写一个挂机打金币程序 1.Java的面向对象 2.基础打金的分析 3. Robot介绍以及Demo演示 4.挂机打金程序如何去 ...

  7. java五子棋实验报告6_Java实现两人五子棋游戏(六) 行棋方变换

    前面我们已经画好棋盘和棋子,并可以自由落子,且可以判断棋盘中是否有五连珠.接下来的工作是,每次落子后交换行棋方(即将下一棋子颜色由白->黑或黑->白),并将胜出判断增加颜色判断条件(棋盘上 ...

  8. 如何利用JAVA编写一个简单的石头剪刀布的小游戏

    楼主为了完成作业,花了一小会时间自己琢磨了一下,写出了这个石头剪刀布的小游戏. 思路很简单,就是令石头=2,剪刀=1,布=0,那么电脑随机生成一个数,分别去对应,游戏者同时也输入一个数字,也是对应着前 ...

  9. C语言简单五子棋两人/五子棋人机

    对于初学C语言的同学,五子棋不可谓不是一个好的练习.我们不但要考虑玩家及电脑的落子,还要考虑棋盘是否已满.是否有一方已经获得胜利.因此我们要考虑好各种情况,设定好函数及循环. 下面是两人五子棋的简单代 ...

最新文章

  1. 2016/08/27 What I Learned About Going Fast at eBay and Google
  2. Sql Server数据库连接Oracle数据库
  3. R画月亮阴晴圆缺:corrplot绘图相关系数矩阵
  4. mixed content 混合内容
  5. Tomcat服务在Eclipse中能够正常启动,但页面出现404错误的解决方法
  6. 汇编语言--可屏蔽中断
  7. 二进制转16进制转文本[BJDCTF 2nd]cat_flag
  8. windows编程,消息函数中拦截消息的问题
  9. 区块链 | 基础链 ICO 白皮书分析
  10. linux tcp keepalive,[20170504]Linux TCP keepalive timers.txt
  11. Eclipse 全部快捷一览表(具TM全)
  12. accdb原有的数据怎么清除_VBA中利用数组对数据批量处理的方法
  13. 搜索场景下的智能推荐演变之路
  14. sql基础之DDL(Data Definition Languages)
  15. SQL必知必会-联结
  16. jstl的formatNumber标签的四舍五入问题
  17. APUE学习笔记-守护进程的创建
  18. IDEA工作常用快捷键
  19. 《多多自走棋》、《全民超神》均停服:盘点那些凉得最快的游戏
  20. 短线交易有这些特点的,慎做短线交易

热门文章

  1. 倒计时实现方案总结 Timer Handler
  2. 什么是4K H.265解码?一起来深度了解下
  3. facebook+cocos2d-x (三)排行榜、获取用户头像
  4. 中国口腔清洁用品市场竞争渠道与产销需求调研报告2022版
  5. 最女孩子不要急,容易追到的不长久
  6. CANanlystII 基于linux的二次开发实践
  7. 中国人去美国做计算机软件,中国人在国外都从事什么工作?
  8. html 标签中 title 的换行
  9. Qml界面切换时,字体消失或乱码
  10. 【计算机图形学算法工具技巧】如何制作mask