五子棋总结

[align=center][size=medium]五子棋总结[/size][/align]
一 窗体设置
窗体分为两部分,一部分是五子棋棋盘的绘制,一部分是人机对战、人人对战选择面板的绘制,用到的还是JFrame、JPanel。五子棋棋盘用重绘方法重写JFrame中Paint方法,将棋盘线条绘制在棋盘面板上;将人机对战、人人对战按钮添加在新面板上并将新面板添加到程序窗体上。

二 添加监听器 人人对战的实现
  在棋盘面板上添加鼠标监听器,并在人机对战、人人对战选择按钮上添加动作监听器,使得鼠标选择人机对战或是人人对战时产生不同的对战效果。在棋盘上添加鼠标监听器,在人人对战中,使得鼠标点击时,在棋盘中绘制黑棋或是白棋,棋子颜色通过定义的整形count的数值改变来改变,每点击一次,count大小改变一次,棋子颜色改变一次。又通过在鼠标点击的坐标的一定范围内限定棋子绘制的位置来保证棋子绘制在棋盘上横向线与纵向线的交叉处。

三 胜负判断
  建立二元数组chess,把所绘制的棋子的位置和颜色存储起来,在Paint方法中重绘,并且在输赢判断的方法中统计每颗棋子周围相同颜色的棋子个数,用numb计数,当横向或者纵向或者斜向出现相同颜色的五颗棋子时,判定该颜色胜出。

四 人机对战的实现
  列出权值表,在鼠标点击下棋之后,程序判断所下棋子的位置附近未下棋子位置的权值,在权值最大的地方下一颗颜色相反的棋子。
  
  
五 程序优化
  包括界面美化、权值表的优化使程序更为美观、完善,我的五子棋程序还未进行最后的美化,目前依然比较粗糙。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值