全球旧事资料 分类
java坦克大战
坦克大战361双方坦克均可移动、发射子弹敌方坦克可以被击中消失有爆照效果爆照效果用椭圆绘图代替
packageTa
kGame4packageMyTa
kGame4importjavautilVectorimportjavaawtimportjavaawteve
tKeyEve
timportjavaawteve
tKeyListe
erimportjavautilimportjavaxswi
gpublicclassMyTa
kGame4exte
dsJFrame
fMyPa
elmp
ullpublicstaticvoidmai
Stri
gargsMyTa
kGame4myta
kgame1
ewMyTa
kGame4
publicMyTa
kGame4mp
ewMyPa
el启动mp线程
Threadt
ewThreadmp
tstart
thisaddmpthisaddKeyListe
ermp
thissetSize400300thissetVisibletruethissetDefaultCloseOperatio
EXIT_ON_CLOSE
fclassMyPa
elexte
dsJPa
elimpleme
tsKeyListe
erRu
able定义我的坦克,成员变量Herohero
ull
定义敌人的坦克组
VectorltE
emyTa
kgtets
ewVectorltE
emyTa
kgti
te
Size5
定义炸弹集合VectorltBombgtbombs
ewVectorltBombgt
publicvoidru
每个一百毫秒去重画子弹whiletruetryThreadsleep100
fcatchI
terruptedExceptio
eTODOAutoge
eratedcatchblockepri
tStackTrace
fori
ti0iltherosssizeiShotmyShotherossgeti判断子弹是否有效ifmyShotisLive取出每个坦克,与它判断fori
tj0jltetssizej取出坦克E
emyTa
ketetsgetjifetisLivethishitTa
kmyShotet

f
thisrepai
t判断是否需要给坦克加入新的子弹fori
ti0iltetssizeiE
emyTa
ketetsgetiifetisLiveifetsssizelt5ampampi
t100Mathra
domgt75每辆坦克的子弹少于5发的话添加Shots
ullswitchetdirectcase0s
ewShotetx9ety10etssaddsbreak
fcase1s
ewShotetx30ety101etssaddsbreakcase2s
ewShotetx9ety302etssaddsbreakcase3s
ewShotetx1ety93etssaddsbreak
启动子弹线程Threadt
ewThreadststart


f

publicvoidpai
tGraphicsgsuperpai
tggfillRect00400300
画出自己的坦克thisdrawTa
kherogetXherogetYgthisherodirect1
从Vectorss中取出每一颗子弹,并画出fori
ti0iltthisherosssizeiShotmyShotherossgeti
画出子弹只画一颗子弹if
fmyShot
ullampampmyShotisLivetruegdraw3DRectmyShotxmyShoty11false
ifmyShotisLivefalse从ss中删除该子弹herossremovemyShot

画出炸弹fori
ti0iltbombssizei取出炸弹Bombbbombsgeti
fifblifegt6gdrawOvalbxby31020gdrawOvalbx3by2010elseifblifegt3gdrawOvalbxby3510gdrawOvalbx3by105elsegdrawOvalbxby335gdrawOvalbx3by53让b的生命值减小br
好听全球资料 返回顶部