- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
贪吃蛇java编程说明
贪吃蛇作业说明
1. 游戏说明
一个贪吃蛇游戏软件,主要实现游戏的开始、暂停、退出功能,分为: 游戏主界面模块、游戏控制模块以二个模块。
性能:方便、实用,在性能方面效率高,不易出错等。
游戏主界面模块:主要包括游戏图形区域界面、游戏开始按钮、暂停游戏按钮、关闭按钮。
游戏控制模块:主要完成控制游戏的开始、暂停、退出等功能游戏控制模块是游戏的中心环节。
2. 系统开发环境
(1) 软件环境
Eclipse
3. 程序流程图
4.程序中自定义类说明
SnakeWin类
该类包含main方法,为应用程序的主类。该类用来创建游戏的用户界面,整个程序从该类的main方法开始执行。
SnakeFrame类
用来设计游戏的用户界面。
PaintComponent函数
设置游戏运行状态,设置蛇头颜色,背景颜色,随机块颜色,移动以及分数更新,实现上下左右移动的方法接口。ove函数
设置初始化蛇的形状和运行方向,设置随机块的位置,判断游戏是否出界,以及出界后的处理,设置方向的更新。Eat函数
判断是否吃到食物
Speed 类用来控制游戏的速度Main
方法功能:创建了SnakeFrame窗口类的一个实例,应用程序从main方法开始执行。
备注:应用程序的入口方法。
SnakeFrame
方法功能:加载整个用户界面,注册子菜单的ActionEvent事件。
备注:构造函数。
actionPerformed
方法功能:ActionEvent事件处理方法。该方法处理各按钮的动作事件。把pause的值赋给speedtime,处理速度事件。
备注:接口方法。
Speed
方法功能:用来控制游戏的速度。
备注:构造函数。
getX
方法功能:得到x坐标。
备注:自定义方法。
getY
方法功能:得到y坐标。
备注:自定义方法。
setX
方法功能:设置x坐标。
备注:自定义方法。
setY
方法功能:设置Y坐标。
备注:自定义方法。
SnakePanel
方法功能:设置游戏界面的属性及注册组件的键盘事件。
备注:构造函数。
newGame
方法功能:对重新游戏的设置以及初始化。
stopGame
方法功能:结束当前游戏的线程。
resumeGame
方法功能:暂停游戏。
Move
方法功能:判断运行方向,判断是否吃了随机块,判断游戏是否出界 ,以及运行方向的更新。
6.源代码
第一部分:
package game;
import javax.swing.*;
public class snack extends JFrame{
public snack(){
snackWin win=new snackWin();
add(win);
setTitle(贪吃蛇----王亮制作);
setSize(435,390);
setLocationRelativeTo(null);
setVisible(true);
}
public static void main(String[] args){
new snack();
}
}
第二部分:
package game;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.util.List;
public class snackWin extends JPanel implements ActionListener,KeyListener,Runnable{
JButton newGame,stopGame;
int fenshu=0,Speed=1;
boolean start=false;
Random r=new Random();
int rx=0,ry=0;
ListsnackAct list=new ArrayListsnackAct();
int temp=0;
JDialog dialog=new JDialog();
JLabel label=new JLabel(你挂了你的分数是+fenshu);
JButton ok=new JButton(好吧=.=);
Thread nThread;
public snackWin(){
newGame = new JButton(开始);
stopGame = new JButton(退出);
this.setLayout(new FlowLayout(Flo
文档评论(0)