五子棋--开发第一阶段

这篇博客记录了作者在大学期间开发五子棋项目的经历,包括人人对战、保存棋局和初步人机对战功能的实现。项目采用Java语言,开发过程中遇到了repaint问题和判决算法的实现。判决算法基于落子后的上下、左右、斜向检查。未来计划优化AI算法,以提升人机对战体验。
摘要由CSDN通过智能技术生成

           大学以来第一个工程实践项目---五子棋,现在大一,不知道以后还有没有,基本要求是人人对战,但是,还是想试一试人机对战,所以一开始就将人机对战的功能预算在里面了。到现在五子棋能实现人人对战和人机对战,由于没有限定语言,所以就使用Java了,大一寒假的时候用C语言写过一个小游戏,真心不会再用C些游戏了。。所以也就毫无顾忌的选择了Java,虽然是一个很小的工程实践项目,但是,我还是按照自己的想法来进行了开发流程。以下便是我整理的一些开发记录。

           首先设定的是项目需求,一个界面,可以人人对战,人机对战,保存棋局,设定先手等等,然后选择的开发流程是增量开发,首先开发出人人对战,其次是保存棋局,然后是人机对战,当然后面还有什么悔棋啊,选择难度啊,网络对战啊,由于考试月,所以也就只是开发了前面三个。一开始我设定了三个基本对象,画棋盘对象----负责初始化棋盘,画棋子等,玩家----负责改变棋盘状态,整个棋盘是一个数组,也就是说,回通过鼠标适当的点击来改变这个数组,最后一个是判决者----通过棋盘状态判断输赢,也即是说,首先会有一些初始化动作,然后是玩家改变棋盘状态,然后发消息给画棋盘对象,让它画出棋盘,最后画好了后由画棋盘对象发消息给判决者让它判断,但是后来我发现这样不太方便,于是我就将画棋盘和改变棋盘状态并为一个对象,也就是说玩家负责改变棋盘状态和画出棋盘,然后让判决者判断。后来由于需要,继续开发了保存棋盘类,播放音乐类,选择落子类,当然还有一个main类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值