java课件第11讲

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第11章项目实践一:贪吃蛇游戏本章主要内容11.1系统简介11.2功能设计11.3界面设计11.4代码实现系统简介本系统提供了贪吃蛇游戏中常见的基本功能,包括游戏的开始、暂停、继续等操作设置,难度等级设置以及界面网格显示设置等。玩家可以通过键盘控制游戏区中贪吃蛇的运动方向,当贪吃蛇出界或者自身相交时,则结束游戏,否则当蛇吃到系统随机设置的食物时,则蛇身就加长,同时玩家总分增加。功能设计11.2.1需求分析11.2.2流程设计11.2.3总体设计11.2.4模块详细设计需求分析1.本游戏需要实现的功能如下。(1)玩家可以控制贪吃蛇吃食物。(2)玩家可以随时了解自己得分情况。(3)玩家可以随时暂停、继续游戏以及重新开始游戏。(4)玩家可以设置游戏难度。(5)玩家可以设置是否显示网格。(6)提示玩家游戏规则。本游戏的规则如下。(1)方向键控制蛇移动的方向。(2)选择“文件”→“开始”菜单命令开始游戏。(3)选择“文件”→“暂停”菜单命令或者单击键盘空格键暂停游戏。(4)选择“文件”→“继续”菜单命令继续游戏。(5)选择“设置”→“等级”菜单命令可以设置难度等级。(6)选择“设置”→“显示网格”菜单命令可以设置是否显示网格。(7)红色为食物,吃一个得10分同时蛇身加长。(8)蛇不可以出界或自身相交,否则结束游戏。流程设计系统主要流程如下图所示。总体设计系统整体采用面向对象的结构化程序开发方法进行设计,我们大致可以将整个贪吃蛇游戏系统分为如下几个模块:游戏控制模块、级别设置模块、网格显示模块以及游戏运行模块等。具体结构如下图所示。总体结构图模块详细设计1.游戏控制模块该模块为玩家提供游戏控制的基本功能,具体包括开始游戏、暂停游戏、继续游戏和退出游戏等。2.级别设置模块游戏整体设置了三个级别的难度,即初级、中级和高级,对于难度的具体设置主要通过设置蛇的移动速度来实现,级别越高,蛇移动的速度越快,难度也就越大。3.游戏运行模块该模块中玩家可以通过键盘控制游戏区中贪吃蛇的运动方向,当贪吃蛇出界或者自身相交时,则结束游戏,否则当蛇吃到系统随机设置的食物时,则蛇身就加长,同时玩家总分增加。此外,还有网格显示模块,玩家可以自行设置是否显示网格,如果显示网格则可能更有利于确定目标食物的方位以及蛇的运行方向。界面设计游戏整体界面设计简洁美观,游戏控制部分全部放置在菜单栏,以菜单的形式提供给玩家便捷的操作。此外,游戏难度设置、网格显示以及游戏操作帮助部分也全都放置在菜单栏中,这样整体界面就会更加简洁直观。界面主体部分是游戏的运行区域,并且在运行区域的下方提供一个只读文本框用以实时显示玩家的得分。代码实现11.4.1主程序类11.4.2主窗口界面设置11.4.3相关组件设置11.4.4Snake模型设置11.4.5游戏运行面板设置11.4.6运行系统主程序类该类是贪吃蛇游戏应用程序的主类,负责启动游戏程序。主要作用是创建主窗体,优化窗体的界面等。下面是系统运行后,游戏开始之前的初始主界面。主窗口界面设置SnakeFrame类的主要功能是创建游戏主窗口,它继承了JFrame类,并实现了ActionListerner接口。整体界面可以分成三部分。第一部分是菜单栏,用于操作游戏、设置游戏的难度等级、是否显示网格及提供操作帮助等,同时也对各个菜单事件提供相应的处理方法。第二部分是游戏运行面板,用于显示游戏中贪吃蛇的运行状况。最后一部分是得分显示栏,它位于游戏运行主面板的下方,文本框中数字随着贪吃蛇吃到食物的增加而增大,它是只读的,不允许玩家手动更改。相关组件设置系统中我们用到了LocationRO与Location两个类,都是用于定位及方向判断,但是不同的是其中Location类中位置是可读写的,而LocationRO则是只读的,不可以用setX()等方法对位置进行动态设置。模型设置SnakeModel类主要是用来创建Snake模型。首先把整个游戏面板分成一个具有rows行cols列的表格区域,除贪吃蛇所占区域外皆定义为playBlocks区域,该区域所有单元保存在LinkedList类型对象中。初始化情况下定义某行连续三个单元格构成贪吃蛇的形状,保存在LinkedList类型对象中,然后将三个单元格最后一个定义为蛇的头部,并将其定义为LocationRO类型,以便调用相关组件方法判断设定方向和运行方向是否相同,并做适当处理。目标食物的位置由系统随机设定,当贪吃蛇吃到食物后,即可调用相应方法,将食物所占单元格从playBlocks区域中除去,然后加入Snake区域,并更新玩家的游戏得分。但是,如果贪吃蛇出界或者与自身相交,则系统发出提示并结束游戏。游戏运行面板设置SnakePanel类继承了JPanel类并实现了Runnable和KeyListener两个接口,它主要负责面板中各要素的位置、颜色等的动态设置。该类还提供了游戏控制操作的实现方法,以供菜单事件的响应程序调用。此外,在实现KeyListener接口程序中也提供了控制贪吃蛇运行方向的键盘事件响应程序。运行系统运行步骤如下。方法一:在doc命令下,进入程序文件所在文件夹。(1)预编译MainAppavacMainApp.java(2)运行MainAppavaMainApp方法二:如果在Eclipse开发工具中开发,操作步骤如下。(1)选择主程序MainApp.java。(2)在菜单栏中选择【运行】→【运行方式】→【java应用程序】命令。

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功