疯狂java讲义课后习题答案)

疯狂java讲义课后习题答案)

ID:7054001

大小:16.44 MB

页数:483页

时间:2018-02-02

疯狂java讲义课后习题答案)_第1页
疯狂java讲义课后习题答案)_第2页
疯狂java讲义课后习题答案)_第3页
疯狂java讲义课后习题答案)_第4页
疯狂java讲义课后习题答案)_第5页
资源描述:

《疯狂java讲义课后习题答案)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第1章控制台五子棋第1章控制台五子棋1.1引言控制台五子棋,顾名思义,就是在Java控制台运行的五子棋游戏,需要用户用键盘输入棋子的位置来进行游戏。由于是在控制台下面运行的程序,所以并没有漂亮的游戏界面,与及鼠标操作等东西,只是在一片黑色控制台环境下进行游戏,游戏的可玩性并不高,似乎这并不是一个完整的游戏。虽然如此,但事实上,一个程序最重要的并不是界面,而是处理各种业务逻辑与数据的方法,只要掌握了核心的方法,掌握基础的知识,便更容易学习awt,swing等图形用户界面的编写,万变不离其宗,写起有操作界面的程序也会变得更加容易,更加随心应手

2、。而本章的主要目的让读者掌握与理解Java编程的基础知识,因此,掌握本章五子棋的实现原理,对于学习以后的章节将会非常有帮助。作为本书的第一章内容,我们在本章中将使用最简单的方式来实现一个控制台五子棋游戏。1.1.1五子棋介绍五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“连珠”,英译为”Renju”,英文称之为”Gobang”或”FIR”(FiveinaRow的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。五子棋游戏是一个比较大众的棋类游戏,大多数人都会玩这个游戏,五子棋的玩法与规

3、则如下:五子棋是两个人之间进行的竞技活动,由于对黑方白方规则不同,黑棋必须先行(本章节设计的游戏,黑棋与白棋的规则一样,但一样由黑棋先下)。五子棋专用盘为15×15,五连子的方向为横、竖、斜。在棋盘上以对局双方均不可能形成五连为和棋。首先形成五连子的一方为赢。五子棋必须由双方进行游戏,当某一方按照一定规则连成五个棋子的时候,该游戏方就胜利,在本章中,我们并不需要做到对战形式的,我们可以设计一个简单的“电脑”来做我们的对手,当我们下完棋后,这个简单的“电脑”就随便在棋盘中下一个棋,当然,如果想做更强大的“电脑”我们可以编写程序来实现

4、,当我们下棋的时候,这个“电脑”就对我们所下的棋子进行检测,并将棋子下到最恰当的位置。本章主要目的是展现五子棋的实现原理,如果读者有兴趣,可以自行开发强大的“人工智能电脑”来进行游戏。1.1.2输入输出约定玩家必须以(x,y)的方式输入棋盘的坐标,其中,x代表棋坐标,y代表竖坐标。x与y的值必须是1到N(棋盘的大小)的正数。系统询问玩家是否继续游戏时,玩家输入y是代表继续,输入其它则代表退出游戏。“●”代表黑子,“○”代表白子。当玩家以(x,y)的形式输入下棋的坐标后,游戏中就可以根据玩家所下的坐标,再去将棋子放置到棋盘中。我们可以将棋盘

5、看作一个二维数组,填充着棋盘式的标志(“十”),玩家下棋后,将棋子替换原来的标志,最后再执行输入。由于本章是在控制台中进行打印,因此只需要使用System.out.println来进行打印即可,如果需要实现有界面的五子棋游戏,例如使用·2·第1章控制台五子棋swing或者awt,可以使用相应的方法,将二维数组“画”到界面中。因此,不管是使用swing、awt或者其他界面技术,五子棋的实现原理几乎大同小异。1.2了解游戏流程描述在开发五子棋之前,我们先了解一下游戏的整个游戏流程,了解游戏的流程,有助于我们在开发的过程中可以清晰的掌握程序结构

6、,对于实现功能有莫大的帮助,五子棋的具体流程如图1.1所示。图1.1五子棋游戏流程1.2.1玩家输入坐标游戏开始,系统在控制台中打印出棋盘,玩家根据这个棋盘,选定下棋的位置坐标后,在控制台中输入相应的坐标,系统读取玩家所输入的坐标并进行相应的分析,如果玩家所下的棋使得玩家游戏胜利,则系统询问是否继续游戏。系统读取了玩家输入的坐标后,除了判断游戏是否胜利外,还需要判断玩家输入的坐标中是否已经存在了相应的棋子,如果存在的话,需要再次提示玩家,重新输入。第1章控制台五子棋·3·1.2.2“电脑”下棋玩家输入了坐标,系统判断玩家没有游戏胜利后,就

7、应该轮到“电脑”下棋,在本章的开头中我们已经讲到,本章可以实现一个简单的电脑来进行游戏,只需要随便的产生棋盘坐标,就可以让“电脑”在相应的坐标中下棋。如果电脑随机产生的坐标中已经存在棋子,那么我们可以重新随机产生坐标,直到产生的坐标上没有存在棋子为止。当“电脑”下完棋后,就可以使用同样的判断方式(判断是否五子相连)来判断“电脑”所下的棋子是否已经使得游戏胜利,如果游戏胜利,同样地去提示玩家,电脑已经胜利了。在本章我们并不需要实现强大的人工智能“电脑”,只需要简单的随机产生坐标即可。1.3创建游戏的各个对象这里设计三个类来完成游戏的功能,棋

8、盘类(Chessboard),游戏类(GobangGame)与棋子类(Chessman)(枚举类),类的关系如图1.2所示,从图中可以看出,Chessboard依赖于GobangGame,go

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。