用java做坦克游戏(推荐)

时间:2019-05-15 01:46:55下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《用java做坦克游戏(推荐)》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《用java做坦克游戏(推荐)》。

第一篇:用java做坦克游戏(推荐)

第一次课

一、要做的工作

1、产生一个800*600的窗口,背景色为绿色。窗口可以被关闭,但不允许改变大小

2、在窗口里画出一个红色的圆代表坦克

3、让坦克动起来

改变坦克的位置就相当于坦克移动了,因此首先需要把坦克的位置描述改为变量

每重画一次坦克就动一次,让坦克不断的动就要不断的重画,我们用线程来控制

二、知识点

1、使用eclipse建立项目,创建包和类的方法

2、变量命名规则:所有命名要求见名知义;类名首字母大小,变量和方法首字母小写;驼峰标识(比如类名:TankWar)

3、事件机制

 事件包括三个方面:监听器类,注册事件,覆盖方法

 监听器类经常写成内部类(包括匿名内部类)或是类本身实现事件接口  事件接口包括actionListener接口、窗口事件接口、鼠标事件接口、键盘事件接口等等  使用事件接口要求把接口的所有方法都写出,但不一定都实现  窗口事件和鼠标键盘事件接口还提供了较为简洁的适配器类

3、匿名内部类 类可以分为如下几种:  主类:包含主方法的类

 内部类:在一个类内部定义的类为内部类

 实例内部类:在一个类内部独立存在,不属于类的成员变量和方法  静态内部类:用static修饰的实例内部类  局部内部类:在一个类的方法内定义的类  匿名内部类:没有名字的局部内部类

 外部类:包含内部类的类,外部类也可能是其他类的内部类  顶层类:不是任何类的内部类为顶层类 设计内部类的主要目标是“封装”。

 顶层类只能用public修饰或者不修饰(即默认修饰方式),内部类可以用public,protected,private,默认四种方式修饰,局部内部类只能用默认修饰  局部内部类和匿名内部类只在方法内可见,即该类只为该方法提供服务  实例内部类只在一个类内可见,只为该类提供服务

4、利用eclipse重写父类的方法

在eclipse中单击右键,源代码,生成覆盖方法。此时会列出当前类的所有父类,当前类可以直接继承父类的方法。

5、图形的重画机制

在frame上画出的图形每次刷新时会重画,重画的过程是:系统自动调用repaint方法,repaint调用update方法,update调用paint方法,从而完成重画。

6、多线程

见第17课详细讲解

三、小注

1、我们使用的Frame组件,没有使用JFrame,因为JFrame在后续画图时不好用,到时举例看

第二次课

一、要做的工作

1、让坦克在键盘的控制下向四个方向移动

2、我们已经写好一个坦克并且能够控制其移动,如果要求在加入一个坦克该如何实现?

把坦克做成一个独立的类,把和坦克自身相关的属性和方法都写到坦克类中,然后在tankclient类中生成tank类的对象,然后用tanke类的对象调用坦克类的方法类完成各种功能

3、让坦克在键盘的控制下向八个方向移动

1、如何做出八个方向?通过四个方向键组合出八个方向,比如上、右同时按下是一个方向。

2、四个布尔变量代表四个方向键的按下情况,组合出八个方向,八个方向用枚举类型表示。

4、优化代码:把一些可能会改变的值定义成常量

二、知识点

1、键盘事件适配器

键盘控制坦克移动就要使用键盘事件,事件三要素:监听器类(监听接口还是适配器类?写成内部类还是匿名内部类?),注册事件,覆盖方法(keypress,keytyped,keyreleased用哪个方法)

2、键盘代码

如何获取键盘按键代码:e.getKeyCode()

3、Switch语句:格式,case后能跟什么样的变量?没有break会怎样?

4、加入键盘事件后可否去掉多线程?

5、面向对象编程思想:一切皆为对象。对项目进行抽象,形成若干个类,然后生成对象来实现程序功能

把坦克抽象成一个类,把坦克的属性描述为成员变量,把坦克的行为描述为方法。这样就把坦克相关的属性和方法都封装到一个类中,属性一般设计为私有,通过set和get方法访问,方法一般为public,供对象调用,从而实现各种功能。

6、构造方法

构造方法用来描述一个对象刚生成时的状态。调用构造方法才能生成对象。一个类必须有构造方法,构造方法有三种情况  super(xxx): 第一句调用父类的构造方法  this(xxx):

第一句调用本类的其他构造方法

 super():

第一句没有调用任何其他的构造方法,系统会自动加上这句,去调用父类的无参构造方法(如果父类没有无参构造方法,那么子类会出错)任何一个构造方法必然属于上述三者之一。任何一个类都必须提供一个空的构造方法

7、枚举类型

Tiger 中的一个重要新特性是枚举构造,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。

Java 代码的两个基本的构造块是类 和接口。现在 Tiger 又引入了枚举,一般简称它为 enum。这个新类型允许您表示特定的数据点,这些数据点只接受分配 定义枚举

enum Direction{U,D,R,L,RU,RD,LU,LD,STOP};在这里,我使用了新的关键字 enum,为 enum 提供了一个名称,并指定了允许的值。然后,Direction就变成了一个枚举类型,使用枚举类型

private Direction direction = Direction.STOP;用以前定义过的类型(Direction)建立一个新的枚举(direction)之后,您就可以像使用其他成员变量一样使用它了。当然,枚举只能分配枚举值中的一个(例如,U,D,R等)

三、小注

1、注意把坦克做成类后,程序的改变。

第三次课

一、要做的工作

1、添加子弹类

a)新建一个Missile类作为子弹类 b)设计子弹类的属性和方法 c)要求子弹能够根据某个方向移动 d)在主类中画出一个子弹,进行测试

2、要求按下ctrl键让坦克打出子弹,并且让子弹沿着坦克移动的方向运动

a)在坦克的keyPress方法中加入ctrl键响应,产生一颗子弹。写一个attack方法,在此处生成一个Missile对象。在ctrl响应中调用该方法

问题:上述方案无法打出子弹,因为没有画出子弹,两个地方可以调用draw方法画出子弹,tank类里的paint方法,tankwar1里的paint方法。我们在tanjwar1里做,因为尽量把所有对象都定义到tankwar1里,这样好管理。

b)在tankwar1中定义一个子弹对象,在tank中生成子弹对象,那么如何把tank中的子弹对象传递到tankwar1中。让tank持有tankwar1的对象。c)子弹从坦克中心打出

3、坦克停止时也能打出子弹

a)给坦克增加一个属性ptDir,炮筒属性 b)炮筒用一条直线来表示

c)每次move后,根据坦克方向确定炮筒方向

二、知识点

1、枚举类型的用法

a)在Tank中我们定义了一个枚举类型Direction,在Missile中我们用该类型定义个变量dir,该变量是一个枚举类型变量,可取Direction枚举类型中列举的常量之一。b)在TankWar1中我们直接使用了枚举类型Direction的一个常量

2、三、小注

第二篇:中班游戏:炸坦克

炸坦克

一、活动目标

发展幼儿的投掷能力。

培养幼儿机智、勇敢、遵守记律的品质。

二、重点与难点

有控制地用力向前掷物。

三、材料及环境创设

听过解放军叔叔打仗的故事或看过军事表演。

废旧的小型雪碧瓶装不少量为手榴弹、椅子背面贴有旧报纸制作的“石头”为碉堡、席子团起来两边缝住画上颜色为坦克车(五至六辆)红、蓝颜色的长橡皮筋各一根。

四、设计思路

投掷练习对幼儿来说既有一定的学习难度,又比较单调乏味。怎样在体育活动设计中,根据幼儿学习的年龄特点,将单一枯燥的、活动量又不大的投掷动作练习变为有一定活动量和练习密度并饶有情趣的活动游戏,是此次活动能否成功的关键所在。

本设计力图通过学习解放军、红蓝两队炸敌阵地和炸坦克这三个游戏情节的安排,将投掷练习寓于快乐的游戏活动之中,既指导了幼儿的投掷技巧,发展了幼儿的手臂力量,又全面的锻炼了幼儿身体的其它部位,并培养了幼儿机智、勇敢的优良品质。

五、活动流程

扮演角色活动身体——探索学习集体练习——变换角色难度练习——结束游戏放松身体

扮演角色,活动身体

(1)教师启发:今天我们一起来玩学习解放军的游戏。老师做指挥员,你们当解放军战士。解放军战士要一切行动听指挥。教师喊口令,幼儿进行队列练习。

(2)教师启发:解放军叔叔有哪些本领?根据幼儿的回答,师生一起模仿解放军叔叔本领:打枪——上肢运动;拼刺刀——下蹲运动;开炮——体转运动;骑马——全身运动。教师引导幼儿边做动作,边发出象声词,以激发幼儿的兴趣。

2、探索学习、集体练习

(1)教师启发:现在我们要练习扔手榴弹的本领,学会以后就可以去炸毁敌人的坦克、大炮、碉堡、军火库等等。教师把幼儿分成红蓝两队,各自站在红线和蓝线上,用力向前投掷手榴弹(雪碧瓶)并力争投过前方的橡皮筋

(2)教师在观察幼儿探索学习的基础上,请1~2名幼儿进行示范,教师说明动作要领:一只手臂弯曲在肩,两腿分开,把手中的“手榴弹”用力投过“封锁线”。

(3)幼儿自由选择红线或蓝线进行练习,教师随机指导,指导中可运用集中,分散和个别指导的形式来纠正幼儿的动作,调动幼儿学习的积极性。

3、变换角度、难度联系

(1)教师启发:“全体紧急集合,马上执行司令部的命令,进行军事演习。红队做„坦克兵,‟蓝队投炸弹„坦克‟。现在两队实战开始,看是„坦克‟先攻克„阵地‟,还是„手榴弹‟将„坦克‟全炸毁。”幼儿各自进入角色,红队两人一组钻进席筒为“坦克兵”,向蓝队滚动前进,蓝队躲入“战壕”(小椅子后)为“投弹手”,待坦克驶近开始向他们投弹。

(2)教师吹哨子,双方进行实战演习。

(3)红队、蓝队交换角色再次演习。每次演习结束,幼儿要为胜利一方鼓掌祝贺,并设计自己队进攻的方案。教师亦可参与某一队的活动。

4、结束游戏,放松身体

教师吹哨子,全体幼儿集合,大家一进讲评,表扬在游戏中表现机智、勇敢克服困难、坚持到底的幼文档仅供参考

儿。大家听着音乐,跳一个“欢乐舞”。

六、活动建议

制作坦克用的席子亦可用大纸盒来代替。

平时早锻活动中可利用席筒或纸盒,鼓励幼儿一人或两人合作钻进去,向前爬动前进,饶有活动的趣味。文档仅供参考

在角色游戏中(语言)中班阅读活动教案:伞可以做什么(附活动反思)

中班综合教案:神奇的号码 中班创意节奏教案:发条舞

设计思路:

一次,班里的小朋友拿了一个青蛙发条玩具来幼儿园玩,当时孩子们对这个玩具很感兴趣。并且还跟着小青蛙跳跃的节奏点头、拍手,直到发条松了小青蛙停下来为止。我从中得到了启发,想利用发条玩具不同的节奏,设计一个创意节奏活动。但是,这种发条玩具现在市场上已经很少了,为了顺利的进行这次活动,我通过各种办法,终于找到了各种发条玩具,并且他们运动的速度也有区别。有些是快速的运动然后马上停止;有些是先快然后渐渐地慢下来,最后停止。我根据发条玩具不同的运动速度,设计了相应的、形象地节奏谱,并且用薯片筒穿上橡皮筋来做发条,作为活动中游戏的道具。材料选择的创意性和孩子们极大的兴趣成为本次活动成功开展的关键所在。

?

活动目标

1、通过玩发条玩具,感知他们不同的节奏特点。

2、理解一些发条玩具从快到慢、最后停止的节奏类型,并能在音乐声中用肢体动作创造性的进行表现。

3、初步感知速度的概念,体验合作游戏的快乐。

?

活动准备

1、幼儿曾玩过发条玩具。

2、发条龙虾一只。

3、发条青蛙、玩具发条人手一份。

4、录有拧发条声音的音乐,配班老师弹奏一段从快到渐慢的音乐。

?

活动过程

(一)、把玩青蛙发条玩具,感知他的节奏特点。

1、观察青蛙发条玩具。

(1)、你是怎样让小青蛙跳起来的?

(2)、小青蛙是怎么跳的?

(3)、小青蛙跳的时候节奏是怎样的?教师小结:小青蛙跳的时候一直都是按xxxx的节奏,然后就停住了。

2、出示青蛙发条玩具跳的节奏谱,请幼儿跟着节奏学青蛙跳。

(二)、出示龙虾发条玩具,让幼儿观察他的节奏特点。

1、观察龙虾发条玩具。

(1)、小龙虾跳的时候节奏是怎样的。教师小结:小龙虾爬的时候先是快的,再一点点、一点点的慢下来,最后停住了,如果你用手去碰碰他,他会再动一下的。

2、出示龙虾发条玩具爬的节奏谱,请幼儿用肢体动作来反复练习。

(三)、我是发条玩具。

1、能根据先快后渐慢最后停止的节奏类型进行表演。当我们给发条玩具上满发条时,他就会按照不同的节奏来跳舞,现在我们也来做发条玩具好不好!那么,你想做什么发条玩具?

2、戴上大发条,合作游戏。

第三篇:射击游戏 Java

游戏资源是从cping1982的博客里下载的(http://blog.csdn.net/cping1982/article/details/6725015)。

下载下来的源码是反编译的,我按照自己的思路,尽量模拟跟它一样的功能效果,用自己的代码实现,并且自己写了一个地图编辑器。用到的技术大概有:swing基本控件,线程,XML读写,IO,反射的简单应用,2D绘图。

最重要的一个自定义类:Canvas。

每个canvas都有一个render方法和update方法,每个canvas又可以添加别的canvas,类似swing的component结构,每个canvas执行render和update的时候都会遍历所有子canvas执行render和update,从而实现所有canvas都执行渲染和更新。游戏的刷新机制:

这个刷新机制是直接学的原代码里面的实现机制,看它没注释的代码着实蛋疼,还是请教了我师傅desolatecity大神才理解的--!。

最高层是一个继承JFrame的GameFrame,实现了Runnable,游戏启动后会单独运行不断循环刷新,每隔大概15ms就执行一次render,并将整个循环所用时间通过update方法传给canvas,最高层canvas再一层一层传递下去,实现所有canvas的渲染和更新。大致代码实现如下:

[java] view plaincopy

1.while(gameOn){

2.// 获取开始时的系统时间

3.long startTime = System.currentTimeMillis();4.5.// 标记时间所用变量

6.long l1;

7.long l2 = System.currentTimeMillis();8.long l3 = System.currentTimeMillis();9.10.// 执行for循环,直到经过了step毫秒

11.for(l1 = l3l2){ 12.l3 = System.currentTimeMillis();13.}

14.// for循环结束,开始渲染和更新

15.l2 = System.currentTimeMillis();// 重置l2

16.17.this.getCurrentCanvas().render(g2);// 渲染

18.19.this.getGraphics().drawImage(bufImg, 0, 0, null);// 将缓冲图片画到JFrame

20.21.long endTime = System.currentTimeMillis();// 获取结束时的系统时间

22.23.this.getCurrentCanvas().update(endTime 元素”的映射关系将时间和对应元素存储到一个IdentityHashMap里,然后游戏的主canvas在update的时候遍历IdentityHashMap,若当前时间满足map里面的时间,则将对应的元素提取出来,添加到当前的子canvas列表里面,从而一个新的元素(或敌人,或提示消息等)就被添加到了界面上。这里我用到了一个比较少用的IdentityHashMap,原本直接用的是HashMap,后来发现一个时间有时候要对应多个元素,然后上网查到了这个东东,但是由于键是按照对象来存储的,所以要把时间用String对象来存储,搞得读取和存储的时候各种麻烦。结果后来师傅一指点才知道,可以直接用HashMap来存储“时间--ArrayList”,这样又方便又直接。--!后来嫌麻烦也不去改了。。

地图编辑器:

地图编辑器没有什么特别费脑袋的地方,就是各种swing控件的运用,还有xml的读写,简单的反射应用等。

由于整个游戏基本上都是在边学变写,所以很多地方写的很粗糙,以至于后来去整理的时候发现前面的代码结构简直丑死了--,改都该了半天。

最后附上源码下载地址,如果有兴趣的话可以互相探讨学习。

下载地址:http://download.csdn.net/download/jianglihui0330/4493082

游戏截图:

地图编辑器截图:

第四篇:脑筋急转弯(做游戏用)

你能以最快速度,把冰变成水吗?

答案: 把“冰”字去掉两点,就成了“水”。

你能做,我能做,大家都做;一个人能做,两个人不能一起做。这是做什么?

答案: 做梦

哪一个月有二十八天? 答案: 每个月都有28天

什么事天不知地知,你不知我知?

答案: 鞋底破了

什么字全世界通用?

答案: 阿拉伯数字

打破了什么人人都叫好?

答案: 世界纪录

森林中有十只鸟,小明开枪打死了一只,其它九只却都没有飞走,为什么?

答案: 鸵鸟

你爷爷的儿子的爸爸的妈妈的姑姑的小姨的叔叔的大伯跟你是什麽关系? 答案: 亲戚!

什么牛不吃草?

答案: 蜗牛

什么水果是瞎子? 答案:芒果

第五篇:java游戏制作培训班

java游戏制作培训班

随着技术对游戏经验的促进,游戏市场持续增长。商业IT革命为我们节省了时间和金钱,从而提高了我们的工作水平,我们因此会花费更多的时间和金钱在游戏上,来改善生活的整体质量。这导致了游戏的快速增长,使它俨然成为盈利行业的重要组成部分。Java游戏开发者应该注意到这里所蕴藏着的巨大的商机。

4G梦工场是培育3D技术与移动互联精英人才的高端职业实训基地。4G主打专业有Android培训、IOS培训、Java培训、C/C++培训。报名学生享有先教学后付款等等优惠,入学签订就业协议,毕业推荐就业。其他如有疑问可以加右Q详谈。以下就是4G梦工场为大家整理的资料。

目前来看Java游戏并没有出现显著的上升趋势,除手机游戏外,Java游戏基本处于蛰伏状态。未来Java游戏开发可能迎来几个契机,下面一品威客网给您带来几个方面的介绍。

1、Sony或是任天堂决定在家用游戏机上支持Java

这个的希望非常渺茫的,但是考虑到微软的XNA做到了跨windows和xbox360平台,也许sony在ps3屡遭败仗的情况下会考虑一下支持Java。实际上现在的家用游戏机就是电脑,很多发烧友已经可以在ps3和wii上运行Java程序了,只是目前Java无法使用这些机器的硬件加速功能。

2、Java SE 6 Update N(之前被叫做 “Consumer JRE”)的发行

在这个新的版本中,sun号称其将让Java升级更方便,部署更简单(方便的探测客户端的Java版本,并安装程序需要的版本),用户将能够只安装jre中他们需要的部分,对于暂时用不到的部分可以等到用的时候再安装,同时加速Java虚拟机的启动速度(实际上就是在电脑刚开机的时候就启动Java虚拟机,而不是在第一次运行Java程序的时候),增加对swing的硬件加速支持。而新的Java plug-in将大幅增强applet的稳定性,可靠性,将允许applet更改自己可以使用的内存大小,选择使用哪个特定版本的jre执行。

实际上一旦applet变得稳定,Java面对flash将体现出巨大的性能优势,因此Java SE 6 Update N的发布将是Java游戏界未来一段时间内最大的契机。

3、JavaFX的发布

JavaFX的目标是让JavaFX像flash一样易于开发,如果这个项目真的能成功的话,对于Java游戏的影响将非常巨大(不过由于缺乏flash所拥有的方便的开发工具,我对JavaFX成功的可能性深表怀疑)

4、手机进一步发展

目前看来移动设备的功能已经越来越强大,手机的性能也许在不久的将来可以达到电脑的水准,手机游戏也将占据游戏市场越来越大的份额,那么由于手机的操作系统种类繁多,跨平台的Java自然也会越来越受青睐。

下载用java做坦克游戏(推荐)word格式文档
下载用java做坦克游戏(推荐).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    用小棒做游戏教学设计

    教学内容:综合实践活动四年级下册 “用小棒做游戏” 教学目标: 1.通过巧移小棒儿变换图形的游戏活动,使学生能够学会图形变换的一些方法,培养学生动手实践的能力。 2.在巧移、巧用、......

    做游戏

    玩游戏 今天,爸爸、妈妈和我一起玩起了老鹰抓小鸡的游戏。爸爸当老鹰,妈妈当母鸡,我当小鸡。游戏规则:老鹰只抓小鸡,不能抓母鸡,母鸡和小鸡蹲下老鹰就不可以抓小鸡了。 游戏开始了......

    用小棒做游戏教学设计(xiexiebang推荐)

    用小棒做游戏教学设计 活动背景: 本主题活动意在使学生通过动手巧移小棒变换图形和摆图形的实践活动,体会小棒游戏获得成功的喜悦,提高学生发现问题、研究问题、解决问题的能力......

    快快乐乐做游戏

    快快乐乐做游戏 今天下午第二节课。陈老师教我们做了一个游戏,名字叫《集体下军棋》。我非常的喜欢做这个游戏。 下军棋的规则是这样的:首先同学们分成两队,每个人抽一个棋子,然......

    宝洁做游戏

    宝洁做游戏 低成本、高回报,宝洁中国正在尝试一种新的营销模式—定制游戏。 把品牌植入游戏,并不新鲜。定制游戏的特殊,在于它打破了过去先有游戏,再有品牌植入的模式,从游戏立项......

    一起做游戏

    “一起做游戏”教案设计 教学目标 1.引导学生观察游戏的过程,在做游戏中产生口语交际的愿望。 2.规范学生的口头语言,能大方、简单地说出游戏的过程,有趣的地方和心理感受。(重......

    学习java用什么软件(大全)

    www.xiexiebang.com 学习java用什么软件 学习java需要什么软件,如今IT是一个抢手热门职业,而JAVA工程师更是各公司急需的人才。在所有软件开发类人才的需求中,对Java工程师的需......

    哪家有java游戏编程视频教程

    千锋教育Java视频教程 www.xiexiebang.com/video 哪家有java游戏编程视频教程 想学习Java的人在刚开始都要问哪家有Java游戏编程视频教程?,视频主要讲什么?它的实用性、性能......