- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
写这个游戏已经有一段时间了,一直在实现各种新功能,从最开始的地图上只有坦克,发子弹还是一个大问题到现在可以两个人一起玩,还是花了不少心思的,现在坦克的速度更快,电脑坦克也不会撞墙.虽然游戏性没有经典坦克大战那么强,但是还是可以用来休闲娱乐一下,这个用了很多最近学到的新知识,模仿俄罗斯方块,还有一些小技巧,比如可以同时按触发多个按键事件,对子弹的处理等.????
??? 左边的坦克用W D S A控制移动,H发射子弹,每次最多出现5颗子弹,右边的坦克用上下左右箭头控制移动,L键发射子弹,互不干扰.Q键可以直接退出游戏,游戏结束后按Y键可以继续游戏.为了结构清晰游戏分为Mywar?? Shoot?? Tanks?? 3个类.
??
/********************MyWar***********************/??
package tank;import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.util.Arrays;import java.util.Random;import java.util.Timer;import java.util.TimerTask;import javax.swing.JFrame;import javax.swing.JPanel;public class MyWar{?? ?public static void main(String[] args) {?? ??? ?JFrame frame = new JFrame("坦克大战");//新建一个窗口?? ??? ?War war = new War();//创建一个War类的对象?? ??? ?frame.add(war);//把war添加到窗口中?? ??? ?frame.setSize(750,530);//窗口宽高?? ??? ?frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭时结束进程?? ??? ?frame.setLocationRelativeTo(null);//使窗口居中?? ??? ?frame.setVisible(true);//这句是干啥的??? ??? ?war.action();//启动(war)战斗,亲,可以游戏了!?? ?}}class War extends JPanel{?? ?private boolean sUp,sDown,sRight,sLeft,sH;//定义右边坦克按键的开关?? ?private boolean sW,sD,sS,sA,sL;//定义左边坦克按键的开关?? ?public static final int WIDTH=750;//定义地图宽度?? ?public static final int HEIGHT=530;//定义地图高度?? ?private int score;//设置分数?? ?private boolean gameOver;//gameover=false表示游戏没有结束?? ?private Timer timer;//刚学的东西?? ?private int shootNum,shootNum1;//可以射击的子弹数,防止作弊?? ?MyTank[] myTank=new MyTank[2];//定义一个我方坦克对象数组?? ?EnemyTanks[] enemyTank=new EnemyTanks[5];//初始化敌人坦克的数量?? ?EnemyTanks newEnemyTank;//用来产生一辆敌人的坦克,补充死去的T_T?? ?Random r = new Random();?? ?/**用于产生一辆新的敌人坦克,返回参数是EnemyTanks类型*/?? ?public EnemyTanks nextTank(){?? ??? ?int x = r.nextInt(2)*WIDTH;//随机x的值,坦克出生在角落?? ??? ?int y=r.nextInt(2)*HEIGHT;//随机y的值,坦克出生在角落?? ??? ?int step=r.nextInt(4)+1;//速度?? ??? ?int direct=r.nextInt(4)+1;//方向?? ??? ?int who = r.nextInt(3)+1;/
您可能关注的文档
- “南玉OA系统”解决方案.doc
- “士”与中国文化.doc
- “遇见彩虹”创意文化彩绘公司创业计划书.doc
- 《C程序设计实验》综合设计说明书--毕业论文.doc
- 20XX 年安全生产月活动消防演练方案.docx
- 110KV华电龙口风电场接入系统基础工程冬期施工方案.doc
- MaTHMATICA 在曲线拟合中的应用.docx
- 安全、文明施工技术方案.doc
- 蹦极问题的数学模型与仿真.docx
- 财务报表分析小抄(可打印).doc
- 第12课 我们小点儿声 课件 二年级道德与法治上册(部编版).ppt
- 11.2我从哪里来(教学课件)二年级道德与法治下册(统编版).ppt
- 第10课 我们不乱扔 课件 二年级道德与法治上册(部编版).ppt
- 1.3过好我们的课余生活 课件五年级道德与法治上册(部编版).ppt
- 第四单元《法律保护我们健康成长》大单元整体学程设计道德与法治六年级上册统编版.pdf
- 第十一课:多姿多彩的民间艺术(分层练习)四年级道法下册 部编版.pdf
- 第八课:大家的“朋友”(分层练习)三年级道法下册 部编版.pdf
- 第5课 我爱我们班 课件 二年级道德与法治上册(部编版).ppt
- 第二单元 我们是公民 大单元整体学程设计道德与法治六年级上册统编版.pdf
- 人教部编版二年级语文下册第五单元单元教学课件.ppt
文档评论(0)