您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Java-贪吃蛇报告
《Java高级编程》课程报告第xx小组:贪吃蛇游戏项目小组成员及分工姓名角色负责功能组长设计与编码测试主要完成模式选择窗口和游戏主窗口菜单栏下拉菜单的设计与程序编写,贪吃蛇游戏界面布局,游戏的操作步骤设计。程序的调试主要完成游戏主窗口的设计与编程,设计贪吃蛇的移动方向键设置,得分规则等,以及最后程序的调试。主要完成主菜单窗口的设计和程序编写,界面的设计布局,游戏主窗口界面背景设置,按钮的图片设置等。一、实验环境操作系统:Windows7编程环境:Eclipse、JDK二、实验内容与完成情况(主要介绍项目总体功能分析与说明。)贪吃蛇小游戏的JAVA程序是利用上↑、下↓、左←、右→方向键来改变蛇的运动方向,按空键暂停游戏,按enter键重新开始。长按某个方向键后,蛇的运动速度会加快,在随机的地方产生食物,吃到食物就变成新的蛇体,碰到壁或自身则游戏结束,否则正常进行游戏。以不同的速度和不同方向吃到食物所获得的分数也不相同。窗口功能说明:设计了三个窗口,分别是游戏主窗口,主菜单窗口,模式选择窗口。菜单栏分别为:游戏菜单(重新开始)和帮助菜单以及返回(返回主菜单)。其中,按返回菜单按钮后会显示主菜单,其包括游戏开始、设置、退出游戏三项按钮选择;如果按“设置”按钮会进入“模式选择”窗口。而模式选择窗口菜单包括了初级、中级、高级、返回按钮。1、功能1(主菜单窗口)(1)主菜单窗口主要是提供“游戏开始”、“设置”和“退出”按钮。“游戏开始”按钮按下后会进入“游戏主窗口”开始游戏;“设置”按钮是调用“模式选择”窗口对游戏贪吃蛇的速度进行设置;“退出”按钮按下则会直接退出游戏。(2)功能1实现的流程图实现的效果图如下:主窗口菜单设置•先确定主菜单窗口包括“游戏开始”、“设置”和“退出”按钮。在窗口中三个按钮呈一列排列并设置背景颜色按钮导入图片。调用的函数包•包括1、java.awt包中的Color、EventQueue、awt.event.ActionEvent;、event.ActionListener、event.MouseAdapter、event.MouseEvent•2、javax.swing包中的ImageIcon、JButton、JFrame、JPanel、border.EmptyBorder。各部分功能实现的成员变量、方法•setMenu()菜单窗口框架设置;JPanelcontentPane()主菜单面板设置;setBackground()背景设置;setBorder()设置窗口边框宽度,间距;setLayout()设置用户界面上的屏幕组件的格式布局;setIcon()设置按钮的图标;addActionListener()给按钮添加事件监听;actionPerformed()接收操作事件的侦听器接口;mouseClicked()添加鼠标点击事件。(3)功能1(主菜单窗口)代码:packageSwing;importjava.awt.Color;importjava.awt.EventQueue;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.ImageIcon;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.border.EmptyBorder;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;publicclasssetMenuextendsJFrame{privateintspeed1=200;publicstaticintspeed=200;//staticintspeed=20;privateJPanelcontentPane;/***Launchtheapplication.*/publicstaticvoidmain(String[]args){EventQueue.invokeLater(newRunnable(){publicvoidrun(){try{setMenuframe=newsetMenu(speed);frame.SsetMenu(frame);frame.setVisible(true);}catch(Exceptione){e.printStackTrace();}}});}/***Createtheframe.*/publicsetMenu(intspeed2){speed1=speed2;System.out.println(speed2);}publicvoidSsetMenu(finalsetMenuframe){setTitle(主菜单);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100,100,250,350);contentPane=newJPanel();contentPane.setBackground(newColor(102,204,102));contentPane.setBorder(newEmptyBorder(5,5,5,5));setContentPane(contentPane);contentPane.setLayout(null);//按钮:游戏开始JButtonNewGameButton=newJButton();NewGameButton.setIcon(newImageIcon(img/gamebegin.png));NewGameButton.setBounds(53,52,123,40);NewGameButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){Gamegs=newGame(speed1);frame.dispose();}});contentPane.add(NewGameButton);//按钮:游戏设置JButtonsetButton=newJButton();setButton.addMouseListener(newMouseAdapter(){@OverridepublicvoidmouseClicked(MouseEvente){modelframe1=newmodel();frame1.Mmodel(frame1);frame1.setVisible(true);frame.dispose();}});//按钮图片设置setButton.setIcon(newImageIcon(img/set.png));setButton.setBounds(53,128,123,45);contentPane.add(setButton);//按钮:游戏推出JButtonexitButton=newJButton();exitButton.setIcon(newImageIcon(img/exit.png));exitButton.setBounds(53,206,123,40);exitButton.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEvente){System.exit(0);}});contentPane.add(exitButton);}}2、功能2(模式选择窗口)(1)功能2的文字描述:“模式选择”窗口菜单包括了初级、中级、高级、返回按钮。其中当选择按下初级、中级、高级按钮后,会弹出一个“游戏难度“窗口,并提示设置成功:**,并按下”确定“按钮后窗口关闭同时模式选择成功,按下”返回“按钮返回主菜单窗口。(2)功能2(模式选择窗口)实现的流程图实现的效果图如下:模式选择窗口布局设置•先确定模式选择窗口包括“初级”、“中级”、“高级”和“返回”按钮。在窗口中四个按钮呈一列排列并设置窗口背景颜色与按钮导入图片。程序包括内容•1、定义模式的速度值frame.Mmodel(frame);2、三个不同级别(速度)按钮设置:JButtonbtnNewButton_*=newJButton(*级);3、返回按钮设置JButtonbtnNewButton_3=newJButton(返回);.....contentPane.add(btnNewButton);4、只要按下三个级别其中的一个按钮后添加鼠标点击监听事件调用JOptionPane.showMessageDialog()方法,弹出”游戏难度“窗口提示游戏设置成功调用JOptionPane.showMessageDialog显示信息对话框。实现的成员变量,方法•modelextendsJFrame()菜单窗口框架设置;JPanelcontentPane()主菜单面板设置;setBackground()背景设置;(newRunnable(设置计算器可见))添加到awt的事件处理线程当中去awt的事件处理线程会按照队列的顺序依次调用每个待处理的事件来运行;setBorder()设置窗口边框宽度,间距;setLayout()设置用户界面上的屏幕组件的格式布局;setIcon()设置按钮的图标;addActionListener()给按钮添加事件监听;actionPerformed()接收操作事件的侦听器接口;mouseClicked()添加鼠标点击事件。(3)功能2(模式选择窗口)代码:packageSwing;importjava.awt.Color;importjava.awt.EventQueue;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.ImageIcon;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JPanel;importjavax.swing.border.EmptyBorder;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;publicclasssetMenuextendsJFrame{privateintspeed1=200;publicstaticintspeed=200;//staticintspeed=20;privateJPanelcontentPane;/***Launchtheapplication.*/publicstaticvoidmain(String[]args){EventQueue.invokeLater(newRunnable(){publicvoidrun(){try{setMenuframe=newsetMenu(speed);frame.SsetMenu(frame);frame.setVisible(true);}catch(Exceptione){e.printStackTrace();}}});}/***Createtheframe.*/publicsetMenu(intspeed2){speed1=speed2;System.out.println(speed2);}publicvoidSsetMenu(finalsetMenuframe){setTitle(主菜单);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100,100,250,350);contentPane=newJPanel();contentPane.
本文标题:Java-贪吃蛇报告
链接地址:https://www.777doc.com/doc-6069817 .html