老巢被击毁的处理

  //坦克的子弹和地图块的碰撞public void bulletsCollideMapTile(List<MapTile> tiles) {//foreach遍历容器中的元素,//在遍历的过程中只能使用迭代器的删除方式删除元素for (int i = 0; i < tiles.size(); i++) {MapTile tile = tiles.get(i);if (tile.isCollideBullet(bullets)) {//添加爆炸效果addExplode(tile.getX() + MapTile.radius, tile.getY() + MapTile.tileW);//设置地图块销毁tile.setVisible(false);//归还对象池MapTilePool.theReturn(tile);//当老巢被击毁后一秒后切换游戏状态if (tile.isHouse()) {//老巢被击毁后,0.5切换游戏状态delaySecondsToOver(500);}}}}
 /*** 延时若干毫秒后切换游戏状态* @param millisSecond*/private void delaySecondsToOver(int millisSecond){new Thread(){@Overridepublic void run() {try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}GameFrame.setGameState(Constant.STATE_OVER);}}.start();}

调制子弹发射的间隔

private long fireTime;/***坦克发射子弹方法*///坦克开火public void fire(){if (System.currentTimeMillis() - fireTime > Constant.FIRE_INTERVAL) {int bulletX = x;int bulletY = y;switch (dir) {case DIR_UP:bulletY -= RADIUS;break;case DIR_DOWN:bulletY += RADIUS;break;case DIR_LEFT:bulletX -= RADIUS;break;case DIR_RIGHT:bulletX += RADIUS;break;}Bullet bullet = BulletPool.get();bullet.setX(bulletX);bullet.setY(bulletY);bullet.setDir(dir);bullet.setAtk(atk);bullet.setColor(color);bullet.setVisible(true);bullets.add(bullet);//发射子弹之后,记录本次发射的时间fireTime = System.currentTimeMillis();}}

坦克大战—day 33相关推荐

  1. c语言课程设计坦克大战,funcodec++课程设计_坦克大战

    <funcodec++课程设计_坦克大战>由会员分享,可在线阅读,更多相关<funcodec++课程设计_坦克大战(24页珍藏版)>请在人人文库网上搜索. 1.课程设计一 坦克 ...

  2. 手把手教你用Python实现“坦克大战”,附详细代码!

    小时候玩的"坦克大战",你还记得吗? 满满的回忆 ! 今天,我们使用Python以及强大的第三方库来实现一个简单的坦克大战游戏. 整体效果 环境依赖 python3.7 pygam ...

  3. 基于HTML5坦克大战游戏简化版

    之前我们有分享过不少经典的HTML5游戏,有些还是很有意思的,比如HTML5版切水果游戏和HTML5中国象棋游戏.今天要分享的是一款简化版的HTML5坦克大战游戏,方向键控制坦克的行进方向,空格键发射 ...

  4. C/C++游戏项目完整教程:《坦克大战》

    <坦克大战>以二战坦克为题材,既保留了射击类游戏的操作性,也改进了射击类游戏太过于复杂难玩的高门槛特点,集休闲与竞技于一身.经典再度袭来,流畅的画面,疯狂的战斗,让玩家再次进入疯狂坦克的世 ...

  5. php 坦克大战,js坦克大战以实现炮弹击中目标消失并且记分

    js坦克大战以实现炮弹击中目标消失并且记分 话不多说 下载下面的代码包就能看到效果, 效果图: js代码如下:/**初始化*/ var shell=document.getElementById('t ...

  6. java 坦克大战画坦克_java简易坦克大战(2)

    public class Tank1 extends JFrame implements ActionListener { MyPanel mp = null; GuanKaPanel gkmb = ...

  7. #进击的贪吃蛇-----将贪吃蛇,飞机大战,坦克大战功能融合形成新的游戏

    #进击的贪吃蛇-----将贪吃蛇,飞机大战,坦克大战功能融合形成新的游戏. 想必很多大一新生在刚学C语言时和我们遇到过同样的问题,就是如何去做第一个C语言大作业. 我们小组内部在讨论大作业时,并不打算 ...

  8. [ java ] 坦克大战 5.0 ~ 最终完整版

    坦克大战5.0 新增功能内容:(加入IO流内容) 防止敌坦克间重叠 击杀数显示 保存上局游戏进度–>两种开局方式 加入开局音乐 修复记录文件丢失后的异常 5.0版本为最终版 提示:爆炸图片需自行 ...

  9. C++坦克大战(新手)

    程序流程图 根据流程图我把程序分位四部分: 第一部分:游戏设置初始化 :设置窗口名称,大小 :隐藏光标,切换输入法(控制台赶紧去输入法是中文的) :背景音乐设置 第二部分:游戏菜单设计,选择游戏模式 ...

最新文章

  1. linux下配置oracle 10G EM Database Console
  2. .on(#39;click#39;)与.click()之间的区别
  3. 数据库和python的结合_MySQL数据库和Python如何结合?
  4. oracle分区表相关
  5. 关灯看视频(Turn Off the Lights)
  6. 采用rsync实现两台solaris服务之间的文件同步
  7. saltstack return数据实时返回收集
  8. iOS申请发布证书-图文详解
  9. pip3 install mysqlclient 报错 “/bin/sh: 1: mysql_config: not found”的解决方法
  10. 机器学习(六):支持向量机(SVM)
  11. php图文编辑,ThinkPHP整合百度Ueditor编辑器的图文教程
  12. [VC++]控制台程序窗口隐藏
  13. 算法效率的度量--时间复杂度与空间复杂度
  14. Unity导入fbx模型贴图不显示的问题
  15. java对文件分片处理
  16. java重写方法的快捷键
  17. 软件测试的创新思维,解读测试设计
  18. RSA已知密文和公钥
  19. Class16:初学python之练习题
  20. 兰州计算机硬件维修学校,兰州电子工业学校

热门文章

  1. 海康威视网络摄像机 SDK二次开发(JAVA)
  2. CMD中怎么进入指定的文件夹
  3. IDEA基本使用(十四):背景设置(护眼绿)
  4. 【React】redux中引入createStore有删除线
  5. OpenCV安装配置教程VS2022(超级顺利)
  6. kali linux 简单介绍
  7. 集福、斗图、AR游戏,互联网公司春节玩这些套路为哪般?
  8. 仿WPS便签,鲨鱼记账app
  9. 我,自学5个月拿到字节offer,双非,非科班,分享一下我是怎么过来的
  10. Django框架实现可运营电商网站(二)-- 前台部分