博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA入门到精通-第42讲-坦克大战9
阅读量:5893 次
发布时间:2019-06-19

本文共 808 字,大约阅读时间需要 2 分钟。

//坦克爆炸的效果
炸弹从大变小;
如果在一段时间内,坐标X,Y是连续发生变化的,
才可以看成是一个线程类;
//当坦克消失的时候,坦克爆一下
三张图片切换才能组成一颗炸弹;
//定义炸弹集合,根据时间不同显示不同图片;
 class  Bomb
1167156-20181130180553900-2140786975.png
1167156-20181130180558534-1475969332.png
isLive这个类主要是用来决定
类或者对象有没有必要展现在面板上
活着就画,死亡就remove
画图是从左上角开始画的(x,y)
坐标在图的左上角;把被击中坦克的X/Y轴交给炸弹;
1167156-20181130180558866-540800275.png
//通过lifeDown生命周期展现图片
1167156-20181130180559151-940223493.png
1167156-20181130180559390-1004067441.png
//爆炸后,从向量中移除,会出现内存越来越少
1167156-20181130180559593-52270385.png
//由静态的图片在瞬间完成一个替换
爆炸效果步骤:
1167156-20181130180559809-1645265341.png
//让敌人坦克可以自由移动
坐标应该改变,应该做成一个线程类
1167156-20181130180600012-372333401.png
向上走应该让它移动几步,再让它转换方向;
1167156-20181130180600676-1762839908.png
//敌人坦克方向需要随机的变化-random:0-1的小数
1167156-20181130180600941-2056960794.png
this.direct=(int)Math.random()*4;
//敌人坦克线程的死亡:
   退出线程,不然这个坦克就会变成“僵尸进程”;永远占    用资源;不管程序员多牛逼,基本上都会出现僵尸进程;
1167156-20181130180601657-2140730009.png
//启动敌人坦克线程:
1167156-20181130180602749-1238013080.png
//敌人坦克平缓运动
1167156-20181130180603655-627068507.png
相当于50毫秒,换20个方向;
1167156-20181130180603977-772492592.png
走一下,sleep(50),再走30步;
//移动的时候X/Y轴是随时带过来的;
X/Y加上个IF语句控制住敌人的坦克;保证坦克不出边界;
1167156-20181130180604550-2138819991.png
成员属性是属于哪一个对象的?
//定义一个向量可以存放敌人的子弹
1167156-20181130180604804-585972842.png
//给敌人坦克添加一颗子弹
Shot  s=new  Shot( );
1167156-20181130180605050-85685969.png
Shot是一个线程,需要启动
//画出敌人坦克的时候,顺带把敌人坦克的子弹画出
   可能有多颗子弹
//判断是否需要给坦克加入新的子弹
1167156-20181130180605406-103031004.png
//启动子弹线程
子弹的死亡有两种可能?
(1)打到坦克;(2)碰到边缘
1167156-20181130180605656-976779455.png
//敌人子弹的连发
1167156-20181130180605903-1453933518.png
 

转载于:https://www.cnblogs.com/xuxaut-558/p/10045760.html

你可能感兴趣的文章
C#根据句柄改变窗体控件值
查看>>
H2Engine服务器引擎介绍
查看>>
C# WPF 滚动字幕实现
查看>>
C# Newtonsoft.Json 解析多嵌套json 进行反序列化
查看>>
SpringMVC中ModelAndView addObject()设置的值jsp取不到的问题
查看>>
Prometheus : 入门
查看>>
使用 PowerShell 创建和修改 ExpressRoute 线路
查看>>
PHP如何学习?
查看>>
谈教育与成长
查看>>
关于软件的任务到底是什么的思考
查看>>
phpMyAdmin
查看>>
rsync(一):基本命令和用法
查看>>
你说你会C++? —— 智能指针
查看>>
061——VUE中vue-router之通过程序控制路由跳转
查看>>
【php】php路径目录解析函数dirname basename pathinfo区别及实例
查看>>
深入了解Android蓝牙Bluetooth——《基础篇》
查看>>
Vue组成和第3方插件
查看>>
BZOJ 1179: [Apio2009]Atm(tarjan+SPFA)
查看>>
mininet安装与简单命令总结
查看>>
mvc做网站怎么在mvc中直接访问.html网页 [问题点数:20分]
查看>>