java语言贪吃蛇小游戏

java语言贪吃蛇小游戏

ID:14180624

大小:307.00 KB

页数:14页

时间:2018-07-26

java语言贪吃蛇小游戏_第1页
java语言贪吃蛇小游戏_第2页
java语言贪吃蛇小游戏_第3页
java语言贪吃蛇小游戏_第4页
java语言贪吃蛇小游戏_第5页
资源描述:

《java语言贪吃蛇小游戏》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java语言程序设计课程2010~2011年度第2学期考核题目:贪吃蛇小游戏院系:计算机学院学号:AP0906337姓名:叶文星任课教师:白明成绩评定:完成日期:2011年6月27日贪吃蛇设计思路:运用面向对象的思维,把贪吃蛇分成两个主要的抽象类:蛇和地图蛇中又包含了蛇身,蛇头,蛇位置,蛇运动,蛇转向,蛇吃食物,蛇生长等类和对象。地图又包含了游戏界面,食物刷新等类和对象。通过一一写出蛇和地图中每一个具体的对象,然后调用这些类和对象,以线程技术控制蛇和地图,达到蛇在地图上可以运动,觅食,生长等效果!程序功能:次程序是个贪吃蛇

2、小游戏,实现的功能有1.生成一个地图界面2.生成一条由JButton组成会运动的蛇3.可以通过键盘updownleftright来控制蛇的运动方向4.可以在地图上随机生成食物5.蛇可以吞食食物来生长运用技术:1.javax.swing.JButton(蛇身体的设计)蛇身由一个个JButton连续相连组成,通过定义蛇身body为List类型,把JButton添加到body上,形成类似蛇的身体。同时,食物也是一个JButton,当蛇吞食了JButton后,只要把JButton也添加到body上,就可以达到蛇生

3、长的效果。如:publicShe(Mapmap){//在地图中的蛇this.map=map;//蛇引入地图JButtonjl=newJButton();//新建一个按钮j1jl.setBounds(0,200,5,5);//设置j1的位置大小this.body.add(jl);//蛇的身体添加按钮j1this.add();//蛇身再添加j1(下面操作一样,共添加5次j1,让初始蛇身有5个按钮的长度,看起来像蛇)this.add();this.add();//List接口中的add(Ee)方法:向列表的尾部添加指定的元素(非

4、awt的方法)this.add();}//蛇身体publicListbody=newArrayList();//利用ArrayList类实例化List集合2.importjavax.swing.JFrameJFrame.setDefaultLookAndFeelDecorated(true)setDefaultCloseOperation(EXIT_ON_CLOSE)创建出一个图形化的,有美丽边框的,可关闭的图形化界面3.javax.swing.JOptionPanejavax.swin

5、g.JMenuBarjavax.swing.JMenujavax.swing.JMenuItemjavax.swing.JRadioButtonMenuItemjavax.swing.JCheckBoxMenuItem在JFrame框架的菜单栏上,添加了菜单,菜单项,复选框,单选框如:JMenuBarmenubar=newJMenuBar();//新建菜单条this.setJMenuBar(menubar);//往Map中添加菜单条menubarJMenumenu1=newJMenu("帮助(A)");//新建菜单menu

6、1并起标题名帮助(A)menu1.setMnemonic(KeyEvent.VK_A);//设置菜单menu1热键menubar.add(menu1);//菜单条menubar中添加菜单menu14.java.awt.Point在地图界面上,定位/画出点的坐标(位置),食物的位置,蛇的位置等5.java.awt.event.KeyEventjava.awt.event.KeyListenerjava.awt.event.ActionEventjava.awt.event.ActionListener监听键盘上的updown

7、leftright键,并通过动作事件来控制蛇的运动方向如://键盘监听classKeyEveimplementsKeyListener{publicvoidkeyPressed(KeyEvente){she.gbFangXiang(e);}publicvoidkeyReleased(KeyEvente){}publicvoidkeyTyped(KeyEvente){}6.java.util.ArrayListjava.util.Listjava.util.Random实现一种可以把JButton相连接,想数组一样动态变化的

8、类型7.多线程让蛇和地图实现Runnable接口,构建两个线程类,并为它们创建新线程tm和t,实现两线程的交替控制如:publicvoidinit(){this.setFocusable(true);//setFocusable(true)触键获焦点Shes=newShe(this);//初始化蛇(新建

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。