课程设计——五子棋(201521123038)

课程设计——五子棋(201521123038)##课程设计——五子棋(201521123038)##一.团队课程设计博客链接JAVA课程设计——团队博客##二.个人负责模块或任务说明后台算法编程,包括通用棋子的行动判断,电脑玩家的算法等涉及到棋子的部分解决代码bug##三.自己的代码提交记录截图##四.自己负责模块或任务详细说明

大家好,欢迎来到IT知识分享网。

课程设计——五子棋(201521123038)


一.团队课程设计博客链接

JAVA课程设计——团队博客


二.个人负责模块或任务说明

  • 后台算法编程,包括通用棋子的行动判断,电脑玩家的算法等涉及到棋子的部分
  • 解决代码bug

三.自己的代码提交记录截图

课程设计——五子棋(201521123038)


四.自己负责模块或任务详细说明

  • 因为以前没有涉及到游戏设计,遇到棋子的下法还是有点茫然,所以先在网上参考了一些关于棋子方位的判断方法,在有一定的思路之后按照自己的想法编程。

GomokuModel:用来编写棋子的基本下法,在进行人人对战或人机对战时调用

●类内部数组定义数组 Chess[][]board=new Chess[16][16],Chess为枚举类

●将落子信息赋值数组

课程设计——五子棋(201521123038)

● 读取该位置棋子信息

课程设计——五子棋(201521123038)

●用于判断该位置是否已经有棋子

课程设计——五子棋(201521123038)

●清空数组信息,用于清屏

课程设计——五子棋(201521123038)

● 重置棋子,清空该位置的棋子信息,用于悔棋操作

课程设计——五子棋(201521123038)

●用于电脑玩家判断该位置是否能赢

课程设计——五子棋(201521123038)

●上述操作需要异常捕获,因为在代码测试过程中因为逻辑问题产生过数组越界异常,为保证代码安全给予保留

isWin方法,用于判断是否赢棋

  • 以传入棋子的位置为中心点,定义东西南北是个方向的数据
    课程设计——五子棋(201521123038)

  • 由西至东判断,连成五子时返回true,有北至南判断同理
    课程设计——五子棋(201521123038)

  • 在进行两个斜方向判断前要将位置变量复原

  • 由西南至东北判断,东南至西北同理
    课程设计——五子棋(201521123038)

ComputerPlayer:设置电脑玩家,用于制定电脑玩家的落子

● 默认电脑玩家白棋后手

playChess方法,返回位置数组pos

  • 设定变量,获取人类玩家最后的落子信息
    课程设计——五子棋(201521123038)

  • 全盘遍历,将pos定义在临近人类玩家最后落子的位置

  • 判断遍历位置是否能让电脑玩家赢棋,能则返回当前位置信息
    课程设计——五子棋(201521123038)

  • 上述操作没有返回,则从四个方向判断人类玩家是否有三个及三个以上相连棋子,有则将其堵住,没有则将p返回
    课程设计——五子棋(201521123038)

check方法,判断人类玩家是否有三个以上相连棋子和GomokuModel中的isWin方法类似

  • 定义变量
    课程设计——五子棋(201521123038)

  • 主要判断方法
    课程设计——五子棋(201521123038)


Board中关系到棋子操作中的部分

mousePressed

  • 默认人类玩家先手

  • 如果人人对战则将棋子变量colorName置白色,用于下一个人操作

  • 如果人机对战,则不对colorName进行操作,启用ComputerPlayer

  • 无论哪种方式,在下完一步棋之后都有判断是否赢棋

  • 人类玩家操作:
    课程设计——五子棋(201521123038)

  • 电脑玩家:
    课程设计——五子棋(201521123038)

goback:悔棋操作,人人对战退一步,人机对战退两步

课程设计——五子棋(201521123038)

五.课程设计感想

  • 总的来说五子棋对方向判断还是很重要的,需要时刻逻辑清晰,不然后面寻找bug会很艰难。
  • 两个人的磨合还是关键,界面和后台操作的融合都需要不断地修改代码。最后的的代码和最初的理念还是有差别的,这个过程中的交流很关键。
  • 在进行对战模式切换的时候遇到了变量传参的问题,修改了部分方法的返回值。所以实践还是很重要的。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/34749.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信