Java贪吃蛇报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
J a v a贪吃蛇报告 Revised final draft November 26, 2020
《Java高级编程》课程报告
第xx小组:贪吃蛇游戏项目
小组成员及分工
一、实验环境
操作系统:Windows 7
编程环境:Eclipse、JDK
二、实验内容与完成情况
(主要介绍项目总体功能分析与说明。)
贪吃蛇小游戏的JAVA程序是利用上↑、下↓、左←、右→方向键来改变蛇的运动方向,按空键暂停游戏,按enter键重新开始。长按某个方向键后,蛇的运动速度会加快,在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常进行游戏。以不同的速度和不同方向吃到食物所获得的分数也不相同。
窗口功能说明:设计了三个窗口,分别是游戏主窗口,主菜单窗口,模式选择窗口。菜单栏分别为:游戏菜单(重新开始)和帮助菜单以及返回(返回主菜单)。其中,按返回菜单按钮后会显示主菜单,其包括游戏开始、设置、退出游戏三项按钮选择;如果按
“设置”按钮会进入“模式选择”窗口。而模式选择窗口菜单包括了初级、中级、高级、返回按钮。
1、功能1(主菜单窗口)
(1)主菜单窗口主要是提供“游戏开始”、“设置”和“退出”按钮。“游戏开始”按钮按下后会进入“游戏主窗口”开始游戏;“设置”按钮是调用
“模式选择”窗口对游戏贪吃蛇的速度进行设置;“退出”按钮按下则会
直接退出游戏。
(2)功能1实现的流程图
实现的效果图如下:
(3)功能1(主菜单窗口)代码:
package Swing;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
import ;
public class setMenu extends JFrame {
private int speed1 = 200;
public static int speed = 200;
// static int speed = 20;
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
setMenu frame = new setMenu(speed);
frame.SsetMenu(frame);
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public setMenu(int speed2){
speed1=speed2;
(speed2);
}
public void SsetMenu(final setMenu frame) {
setTitle("主菜单");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 250, 350);
contentPane = new JPanel();
contentPane.setBackground(new Color(102, 204, 102));
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
//按钮:游戏开始
JButton NewGameButton = new JButton("");
NewGameButton.setIcon(new ImageIcon("img/gamebegin.png"));
NewGameButton.setBounds(53, 52, 123, 40);
NewGameButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Game gs = new Game(speed1);
frame.dispose();
}
});
contentPane.add(NewGameButton);
//按钮:游戏设置
JButton setButton = new JButton("");
setButton.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
model frame1 = new model();
frame1.Mmodel(frame1);
frame1.setVisible(true);
frame.dispose();
}
});
//按钮图片设置
setButton.setIcon(new ImageIcon("img/set.png"));
setButton.setBounds(53, 128, 123, 45);