欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    贪吃蛇课程设计.docx

    • 资源ID:26645023       资源大小:14.91KB        全文页数:11页
    • 资源格式: DOCX        下载积分:30金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要30金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    贪吃蛇课程设计.docx

    贪吃蛇课程设计 面向对象程序设计 课程设计报告 题目:贪吃蛇游戏设计与实现 院(系):信息科学与工程学院 专业班级:计科1302班 学生姓名:毛慧剑 学号:20221101057 指导教师:苏莹 2022年8月31日至2022年9月25日华中科技大学武昌分校制 面向对象程序设计课程设计任务书 目录 1需求与总体设计 (1) 1.1总体设计思路 (1) 1.2系统主要功能图 (1) 1.3系统主要类图 (2) 2详细设计. 错误!未定义书签。 2.1 Login类. 错误!未定义书签。 2.2 SnakeFrame类. 错误!未定义书签。 2.3 SnakeModel类. 错误!未定义书签。 2.4SnakePanel类 (3) 2. 5 LocationRO类. .错误!未定义书签。 2.6 Location类.错误!未定义书签。 3.编码实现 (4) 3.1 Login类的详细代码 (4) 3.2 SnakeFrame类的详细代码 (7) 3.3 SnakeModel类的详细代码 (12) 3.4 SnakePanel类的详细代码 (17) 3.5 LocationRO类的详细代码 (22) 3.6 Location类的详细代码 (23) 4系统运行与测试 (25) 4.1程序主界面 (25) 4.2游戏开始界面 (25) 4.3游戏操作界面 (25) 4.4游戏难度设置界面 (26) 4.5游戏窗口大小设置 (27) 4.6游戏软件开发人员介绍 (27) 5系统使用步骤 (28) 总结 (29) 1需求与总体设计 1.1总体设计思路 本系统要进行的是贪吃蛇游戏的开发。这个游戏是在窗口的平台上进行相关操作的。为了满足大部分用户的要求,本游戏必须实现的功能有如下要求:(1)贪吃蛇游戏是大家很常见的小游戏,在生活工作之余大家可以玩它,已达到放松各种压力的目的。 (2)游戏可以进行升级,也就是增加吃食物的难度,以便使大家更有挑战性,不觉得太无趣。 (3)游戏界面大小可以任意指定,数据从文件读入。 (4)利用swing实现良好的GUI界面。 (5)基本功能与要求: 给出1条小蛇和随机出一个食物当小蛇吃到食物时就加分.良好的用户界面,有分数显示,并且可调节小蛇运动速度。良好的方块形状设计,绘制小蛇和食物,小蛇有六个方块组成,食物由1个方块组成。小蛇可通过键盘方向键(上、下、左、右键)进行向上、向下、向左、向右移动。当小蛇吃掉一个食物后会变长,并且吃完食物时食物会消失,并立即随即生成一个新的食物 . 1.2系统主要功能图 贪吃蛇实现的基本功能:生成登录窗口界面,登录进入游戏,可以设置游戏的窗口大小和难度等级 游戏途中有暂停继续开始等基本功能。同时还设有游戏帮助等具体游戏操作指示、在加入了软件开发人员的相关信息介绍结束游戏之后得分在窗口下自动统计得出 图1-1系统功能图1.3系统主要类图 图1-2类图 2详细设计 2.1 Login 类 Login 类,登陆界面要求输入登陆者输入用户名和密码,分别设Go 和Cancel 两个登陆选项。 2.1.1 2.2 SnakeFrame 类 创建游戏窗口主界面。采用图形界面设计,有窗体,菜单栏和游戏操作界面。 2.3 SnakeModel 类 此类为蛇的初始化状态及模型,所有的游戏的开始都通过此类初始化及对蛇的操作。 2.4 SnakePanel类 此类为游戏界面创建蛇的面板和蛇的移动控制实现 2.5 LocationRO类 随机生成的食物位置。用来随机生成食物。引导蛇的移动方向。 2.6 Location类 对蛇的位置的描述类 3编码实现 1.Login类 /登陆界面 public class Login extends JFrame private TextField f1;/创建文本框 private TextField f2; private JButton b1;/创建按钮 private JButton b2; public Login() /登陆界面 Container cp=getContentPane();/获取容器 cp.setLayout(new GridLayout(4,1);/设置布局管理为网格四行一列 Label l1=new Label("用户名");/创建标签了l1,l2 Label l2=new Label("密码"); Panel p1=new Panel();/创建面板,p1,p2,p3,p4 Panel p2=new Panel(); Panel p3=new Panel(); MyPanel1 p4=new MyPanel1();/创建插入图片平面p4 f1=new TextField(10); f2=new TextField(10); f2.setEchoChar('*');/回显字符为* 用于输入密码,设置为不可见 b1=new JButton("确定");/新建按钮b1,b2 b2=new JButton("取消"); p1.add(l1);/第一行添加label 1 p1.add(f1); p2.add(l2); p2.add(f2); p3.add(b1); p3.add(b2); cp.add(p4);/面板p4,p1,p2,p3分别加入容器cp cp.add(p1); cp.add(p2); cp.add(p3); b1.addActionListener(new Enter();/添加按钮事件响应 b2.addActionListener(new Close(); JFrame.setDefaultLookAndFeelDecorated(true); SnakeFrame frame=new SnakeFrame();/创建游戏主界面 frame.setSize(frame.col*11+11,frame.row*11+100); frame.setResizable(false); frame.setLocation(500,200);/设置窗体位置 frame.setTitle("疯狂贪吃蛇"); frame.setVisible(true); else JOptionPane.showMessageDialog(null, "用户名或密码错误,请重新登录!");/错误用户提示 class Close implements ActionListener /关闭登陆按钮响应 public void actionPerformed(ActionEvent e) JButton bt=(JButton)e.getSource(); if(bt=b2) System.exit(0);/退出 /主函数程序开始 public static void main(String args) Login log=new Login(); log.setTitle("疯狂贪吃蛇界面登陆"); log.setBounds(500, 200, 300, 300); log.setBackground(Color.blue); log.setVisible(true); class MyPanel1 extends JPanel /插入登陆界面图片 Image img=Toolkit.getDefaultToolkit().getImage("imgs/201.jpg");/添加图片public void paint(Graphics g) g.drawImage(img,0,0,this); 2.SnakeFrame 类 public class SnakeFrame extends JFrame implements ActionListener int row=30; int col=45; SnakePanel p=new SnakePanel(this,row,col); JMenuBar menubar=new JMenuBar();/菜单条 JMenu fileMenu=new JMenu("文件");/菜单 JMenuItem newgameitem=new JMenuItem("开始");/菜单条目 JMenuItem stopitem=new JMenuItem("暂停"); JMenuItem runitem=new JMenuItem("继续"); JMenuItem exititem=new JMenuItem("退出"); /"设置"菜单 JMenu optionMenu=new JMenu("设置"); /* * 等级选项 * ButtonGroup 创建一组按钮选项 * JRadioButtonMenuItem 是属于一组菜单项中的一个菜单项,该组中只能选择一个项。 * 被选择的项显示其选择状态。选择此项的同时,其他任何以前被选择的项都切换到未选择状态。 * Panel 是最简单的容器类。应用程序可以将其他组件放在面板提供的空间内,这些组件包括 其他面板。 */ JMenu degreeMenu=new JMenu("等级"); ButtonGroup groupDegree = new ButtonGroup(); JRadioButtonMenuItem oneItem= new JRadioButtonMenuItem("初级"); JRadioButtonMenuItem twoItem= new JRadioButtonMenuItem("中级"); JRadioButtonMenuItem threeItem= new JRadioButtonMenuItem("高级"); / 设置“窗口大小”菜单 JMenu windowsMenu = new JMenu("窗口大小"); JMenu windowsMenu1 = new JMenu("视图"); ButtonGroup groupDegree1 = new ButtonGroup(); JRadioButtonMenuItem minItem= new JRadioButtonMenuItem("小"); JRadioButtonMenuItem midItem= new JRadioButtonMenuItem("中"); JRadioButtonMenuItem maxItem= new JRadioButtonMenuItem("大"); / 设置“作者信息”菜单 JMenu XinXi=new JMenu("关于开发者"); JMenuItem XinXiItem=new JMenuItem("软件相关"); /设置“帮助”菜单 JMenu helpMenu=new JMenu("帮助"); JMenuItem helpItem=new JMenuItem("操作指南"); /可以被选定或取消选定的菜单项. final JCheckBoxMenuItem showGridItem= new JCheckBoxMenuItem("显示网格"); JLabel scorelabel;/为分数创建标签

    注意事项

    本文(贪吃蛇课程设计.docx)为本站会员(h****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开