《疯狂Java讲义》——用JAVA实现五子棋

          在学习完《JAVA疯狂讲义》第四章流程控制和数组后,自己想利用现学的东西编一个稍微有意义的东西就是所谓的驱动学习。在这章最后一节提到利用数组可以实现一些小游戏,比如功能简单的五子棋。看了一下书上提供的代码,不懂得东西很多,比如异常的抛出,读取用户键盘输入等知识。

初级篇

    在稍微学习了一下本书第七章和第十章之后,终于能看懂这个代码了大笑。然后自己凭着对代码的理解,实现了一下。

第一步:实现在控制台上输出棋盘


其结果为:


第二步:编译、运行,在控制台显示棋盘以及棋子


其结果为:


     发现一个问题:对试图在已经有棋子的地方再次放棋子的时候,没有提示,于是我改进了一下代码,用throw抛出了一个异常,当出现这种情况时控制台能提示用户重新输入棋子的坐标。


其结果为:

提高篇

     在用初级篇中的代码实现五子棋游戏后,我发现,这个代码还是不够方便,比如输出是在控制台上,而且下棋的时候要输入坐标,太麻烦了。而且还有一个问题就是功能太不完善了,比如五子相连时,不能判赢;也没有实现白棋黑棋交替进行等功能。于是又稍微看了一下第十一章的图形用户界面(GUI)的一些知识,比如组件,事件处理等,实现了一个功能较多的一个五子棋。

第一步:绘制棋盘(因为以前接触AWT比较少,所以在查API文档时,加了很多注释,主要是为了能更好的理解这些函数)

注:在棋盘时,为了能更好的取色,量尺寸。发现一个小软件——FastStone Capture,极力推荐。


其结果为:


                                     

第二步:是处理一些事件,比如鼠标释放应该做什么处理等。目的是可以实现用鼠标点击来确定棋子的位置




第三步:是判赢,就是五子相连时,即赢




其结果为:


第四步:当五子相连时,用一个界面显示出来五子相连



其结果为:


     点击退出游戏按钮,则棋盘将消失。不过现在我还没完全实现重新开始按钮,只能实现当点击该按钮时控制台做出相应的提醒。

     还可以在很多方面进行提高,还可以在此基础上加很多功能,可能现在还有很多知识点没掌握,后面再看看书,再在这个基础上可以实现高级篇大笑



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值