基于JApplet的贪吃蛇游戏.ppt

上传人:wuy****n92 文档编号:91095748 上传时间:2023-05-21 格式:PPT 页数:16 大小:308.65KB
返回 下载 相关 举报
基于JApplet的贪吃蛇游戏.ppt_第1页
第1页 / 共16页
基于JApplet的贪吃蛇游戏.ppt_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《基于JApplet的贪吃蛇游戏.ppt》由会员分享,可在线阅读,更多相关《基于JApplet的贪吃蛇游戏.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第22章 基于JApplet的贪吃蛇游戏 本案例中的贪吃蛇游戏想必大家以前可能看到过,基于前面内容的学习,现在实现贪吃蛇游戏已经不是一件困难的事情。该游戏的实现涉及如下的知识点。JApplet Swing 线程22.1 贪吃蛇原理 贪吃蛇游戏是在屏幕上画出一连串的方格用于表示一条蛇,同时会在屏幕随机出现所谓的食物。游戏者可以通过键盘的方向键控制贪吃蛇的移动,每移动一下,蛇身所有的方格向前移动一格,并且判断是否在蛇尾添加一格。如果贪吃蛇在移动过程中能通过食物,表示贪吃蛇吃掉食物,贪吃蛇的流程图如图所示。贪吃蛇流程图 22.2 基本元素SnakeNode 由于贪吃蛇可以被分割为多个方块,而且食物也

2、是一个方块,所以将这些方块抽象为一个贪吃蛇和食物的基本组成元素:SnakeNode类。22.3 蛇身类SnakeBody 蛇身类是对蛇的控制类,它是由多个SnakeNode对象构成。该类提供了必要的蛇状态改变的方法。SnakeBody类实现了如下几个方法。pauseMove()resumeMove()stopMove()changeDirection()moveOn()22.3.1 run总事务方法 由于SnakeBody是一个线程类,所以它重载了run()方法来完成所有事务的处理。22.3.2 moveOn控制方法 MoveOn方法是控制蛇身对象的主要方法,用于具体判断下一步蛇的移动方位,然

3、后根据具体的坐标判断蛇是否越界,是否需要循环移动、设置网格的背景色等。22.4 界面 界面是通过ColorConfig类定义的。ColorConfig类是JPanel的派生类,该类主要用于设置不同部件的颜色,如游戏背景颜色、贪吃蛇颜色、食物被吃颜色、食物本来的颜色。22.5 面板控制 面板控制类用于实现游戏背景选择、贪吃蛇颜色、食物颜色、被吃食物颜色的设定。还可以设置和显示游戏级别与得分。这里主要使用的相关知识主要在于Swing组件的JPanel、JButton、JLabel等,以及一些监听器的实现类。ControlPanel类也是JPanel的派生类,在该组件中添加两个文本框用于显示游戏等级

4、以及游戏得分,还包含滑动条用于改变游戏级别。22.5.1 域和构造方法 ControlPanel类的方法主要包括构造方法、设置按钮的文本文字、可用状态,和重置游戏等。构造方法主要功能是初始化域,设置并显示相关组件,最后为组件添加事件监听器。22.5.2 响应键盘操作 ControlKeyListener类是键盘适配器KeyAdapter的派生类,该类覆盖了父类的keyPressed方法22.5.3 设置游戏中的颜色 ColorGroup类用于保存游戏背景色、蛇身颜色、食物颜色、吃掉食物的颜色,并且还提供了静态方法设置这些颜色值。22.6 游戏画布类GameCanvas GameCanvas类是

5、JPanel的派生类,该类主要用于将画布划分一系列的方格,以及根据Applet的大小调节方格的大小。22.7 游戏主类GreedSnake GreedSnake类是一个Japplet的派生类,也是游戏的主程序类。该类用于显示游戏的全部内容,将ColorConfig面板和ControlPanel面板添加到JApplet中并显示游戏的进度。22.8 运行结果 编写完程序后,使用javac命令编译该文件产生class文件,然后浏览器打开GreedSnake.html文件,即可得到运行结果。22.9 小结 本章提供的贪吃蛇游戏是一个结合JApplet、线程、以及Swing界面设计完成的,该游戏的类比较多,主要包括基本元素、蛇身体类、面板控制、游戏画布类和游戏主类。这些类的实现都是基于Japplet小游戏进行设计的。通过本章案例相信读者对Applet小程序和线程以及Swing编程会有更加深入的了解。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁