JAVA之坦克大战(三)我方坦克发射炮弹
public class Bullet implements Runnable{ //多线程private int speed=10;private int dir;boolean life=true;public int getSpeed() {return speed;}public void setSpeed(int speed) {this.speed = speed;}public int getDir() {return dir;}public void setDir(int dir) {this.dir = dir;}public void run()//重写runnable 接口重点额run方法{while (true)//子弹一直飞{//JAVA特有异常抛出switch (getDir())//子弹坐标改变(移动){case 0:setY(getY()-getSpeed());break;case 1:setX(getX()-getSpeed());break;case 2:setY(getY()+getSpeed());break;case 3:setX(getX()+getSpeed());break;}if(getX()<0||getY()<0||getX()>1200||getY()>1000){life=false;break;}//判断是否过边界如果过边界了那么子弹的生命就没了try//程序正常时执行{Thread.sleep(50);//让程序暂停50ms}catch (Exception e)//非正常时执行{}}}public int getX() {return x;}public void setX(int x) {this.x = x;}public int getY() {return y;}public void setY(int y) {this.y = y;}private int x;private int y;Bullet(int x,int y,int dir)//子弹需要构造函数直接给方向赋值{this.x=x;this.y=y;this.dir=dir;}
}
public void fire()//装弹{switch (this.getDir()){case 0:bullet = new Bullet(this.getX()+8,this.getY()-7,0);bulletVector.add(bullet);break;case 1:bullet = new Bullet(this.getX()-7,this.getY()+8,1);bulletVector.add(bullet);break;case 2:bullet = new Bullet(this.getX()+8,this.getY()+30,2);bulletVector.add(bullet);break;case 3:bullet = new Bullet(this.getX()+30,this.getY()+8,3);bulletVector.add(bullet);break;}Thread thread = new Thread(bullet);thread.start();}
public void run(){while (true){try{Thread.sleep(50);}catch (Exception e){}repaint();}}
JAVA之坦克大战(三)我方坦克发射炮弹相关推荐
- 坦克大战_我方坦克发射子弹
Members package com.wxh.tank3;//坦克类,父类 class Tank {// 表示坦克的横坐标int x = 0;// 坦克的纵坐标int y = 0;// 坦克方向// ...
- (四)坦克大战--(2)发射炮弹
1,前言 制作坦克发射炮弹 参考自–b站视频 2,思路 发射炮弹的思路其实就是: 实例化一个炮弹出来,然后给这个炮弹添加一个向前的力,使其发射 3,步骤 3.1,发射位置 首先需要给PlayerTan ...
- java版坦克大战_JAVA实现坦克大战1.0版本
1 packagetankGame;2 import java.awt.*;3 import javax.swing.*;4 import java.awt.event.*;5 import java ...
- Java基础 坦克大战01绘制坦克
java绘图坐标体系 坐标体系-像素 1.绘图还必须搞清一个非常重要的概念-像素 一个像素等于多少厘米? 2.计算机在屏幕上显示的内容都是由屏幕上的每一个像素组成的.例如,计算机显示器的分辨率是800 ...
- java 坦克大战暂停_【 java版坦克大战--事件处理】 坦克动起来了
折腾了这么久,坦克总算能动了.只贴代码编辑不给上首页,花了半个小时的时间写了n多注释. 再顺便把绘图的原理发在这里: 绘图原理 Component类提供了两个和绘图有关的重要方法: ① paint ...
- 坦克大战java_java版坦克大战游戏源码
[java]代码库package tankwar; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; imp ...
- 坦克大战代码_坦克大战系列文章-坦克大战简介
前言 本篇主要对坦克大战Robocode做一个简单的介绍,对java最初的人工智能算法演练工具做一个了解 坦克大战简介 今天我们要谈的是java 最初的基于人工智能算法的仿真模拟坦克大战,全称Robo ...
- Fc坦克大战java_java的坦克大战
一个渣渣写坦克大战的步骤: 1.首先创造好一个坦克和一个GAME框架,并且坦克能够跟着键盘键位移动 案例:在我的博客文件中保存,它的名字是:tankwar0100.rar 主要解决了:1.坦克背景框 ...
- html5坦克大战游戏,HTML5坦克大战游戏简化版
本文作者html5tricks,转载请注明出处 之前我们有分享过不少经典的HTML5游戏,有些还是很有意思的,比如HTML5版切水果游戏和HTML5中国象棋游戏.今天要分享的是一款简化版的 JavaS ...
- android 坦克,Android坦克大战游戏《坦克骑士 Tank Riders》
<坦克骑士 Tank Riders>是一款3D坦克战斗游戏,玩家在游戏当中将操控一个造型非常Q的小坦克在激烈的战斗中寻求出路.与红白机时代的坦克大战玩法完全不同,坦克骑士更具有冒险性质,而 ...
最新文章
- C# GUID的使用
- 2020年全球程序员收入报告出炉,字节跳动成唯一上榜中国公司
- C语言和JAVA可以互相转换吗,求助大神!!!JAVA转换成C语言
- Xamarin.Forms Button长按事件
- AS3读取XML文档
- 心率 心律 脉率的区别
- 我去头条面试,面试官问我如何设计好API,看看我是如何吊打面试官的!
- cpu真假有没有装机测试软件,有了她装机被骗很难 实用电脑检测软件推荐
- 深度学习-深度卷积神经网络发展
- lpad用法 oracle,oracle lpad 的用法
- 前端入门篇(五十三)JS应用6打地鼠小游戏
- 小说里的编程 【连载之二十九】元宇宙里月亮弯弯
- 关于谷歌插件开发的了解
- RoboCupRescue心得
- Java implements和extends的区别
- 转发:任正非寄语2010:开放、妥协与灰度
- Comet OJ 夏季欢乐赛 完全k叉树
- 单词底部有波浪线,提示typo in word时
- 墨者学院-SQL注入漏洞测试(报错盲注)
- Base64转docx的python实现