亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tank.java

?? 坦克大戰源代碼 0.1 可以擴展為網絡版。 目前是單機版
?? JAVA
字號:
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.event.KeyEvent;
import java.util.Random;

public class Tank {
	public static final int XSPEED = 5;
	public static final int YSPEED = 5;
	
	public static final int WIDTH = 30;
	public static final int HEIGHT = 30;
	
	boolean good;
	int x, y;
	
	private static Random r = new Random();
	
	private boolean live = true;
	
	private int step = r.nextInt(12) + 3;
	
	TankClient tc;
	
	boolean bL, bU, bR, bD;
		
	Dir dir = Dir.STOP;
	Dir ptDir = Dir.D;
	
	public Tank(int x, int y, boolean good) {
		this.x = x;
		this.y = y;
		this.good = good;
	}
	
	public Tank(int x, int y, boolean good, Dir dir, TankClient tc) {
		this(x, y, good);
		this.dir = dir;
		this.tc = tc;
	}
	
	public void draw(Graphics g) {
		if(!live) {
			if(!good) {
				tc.tanks.remove(this);
			}
			return;
		}
		
		Color c = g.getColor();
		if(good) g.setColor(Color.RED);
		else g.setColor(Color.BLUE);
		g.fillOval(x, y, WIDTH, HEIGHT);
		g.setColor(c);
		
		switch(ptDir) {
		case L:	
			g.drawLine(x + WIDTH/2, y + HEIGHT/2, x, y + HEIGHT/2);
			break;
		case LU:
			g.drawLine(x + WIDTH/2, y + HEIGHT/2, x, y);
			break;
		case U:
			g.drawLine(x + WIDTH/2, y + HEIGHT/2, x + WIDTH/2, y);
			break;
		case RU:
			g.drawLine(x + WIDTH/2, y + HEIGHT/2, x + WIDTH, y);
			break;
		case R:
			g.drawLine(x + WIDTH/2, y + HEIGHT/2, x + WIDTH, y + HEIGHT/2);
			break;
		case RD:
			g.drawLine(x + WIDTH/2, y + HEIGHT/2, x + WIDTH, y + HEIGHT);
			break;
		case D:
			g.drawLine(x + WIDTH/2, y + HEIGHT/2, x + WIDTH/2, y + HEIGHT);
			break;
		case LD:
			g.drawLine(x + WIDTH/2, y + HEIGHT/2, x, y + HEIGHT);
			break;
		}
		
		move();
	}

	private void move() {
		switch(dir) {
		case L:
			x -= XSPEED;
			break;
		case LU:
			x -= XSPEED;
			y -= YSPEED;
			break;
		case U:
			y -= YSPEED;
			break;
		case RU:
			x += XSPEED;
			y -= YSPEED;
			break;
		case R:
			x += XSPEED;
			break;
		case RD:
			x += XSPEED;
			y += YSPEED;
			break;
		case D:
			y += YSPEED;
			break;
		case LD:
			x -= XSPEED;
			y += YSPEED;
			break;
		case STOP:
			break;
		}
		
		if(dir != Dir.STOP) {
			ptDir = dir;
		}
		
		if(x < 0) x = 0;
		if(y < 30) y = 30;
		if(x + WIDTH > TankClient.GAME_WIDTH) x = TankClient.GAME_WIDTH - WIDTH;
		if(y + HEIGHT > TankClient.GAME_HEIGHT) y = TankClient.GAME_HEIGHT - HEIGHT;
		
		if(!good) {
			if(step == 0) {
				step = r.nextInt(12) + 3;
				Dir[] dirs = Dir.values();
				dir = dirs[r.nextInt(dirs.length)];
			}
			step --;
			if(r.nextInt(40) > 38) this.fire();
		}
		
	}

	public void keyPressed(KeyEvent e) {
		int key = e.getKeyCode();
		switch (key) {
		case KeyEvent.VK_LEFT:
			bL = true;
			break;
		case KeyEvent.VK_UP:
			bU = true;
			break;
		case KeyEvent.VK_RIGHT:
			bR = true;
			break;
		case KeyEvent.VK_DOWN:
			bD = true;
			break;
		}
		locateDirection();
	}

	private void locateDirection() {
		if(bL && !bU && !bR && !bD) dir = Dir.L;
		else if(bL && bU && !bR && !bD) dir = Dir.LU;
		else if(!bL && bU && !bR && !bD) dir = Dir.U;
		else if(!bL && bU && bR && !bD) dir = Dir.RU;
		else if(!bL && !bU && bR && !bD) dir = Dir.R;
		else if(!bL && !bU && bR && bD) dir = Dir.RD;
		else if(!bL && !bU && !bR && bD) dir = Dir.D;
		else if(bL && !bU && !bR && bD) dir = Dir.LD;
		else if(!bL && !bU && !bR && !bD) dir = Dir.STOP;
	}

	public void keyReleased(KeyEvent e) {
		int key = e.getKeyCode();
		switch (key) {
		case KeyEvent.VK_CONTROL:
			fire();
			break;
		case KeyEvent.VK_LEFT:
			bL = false;
			break;
		case KeyEvent.VK_UP:
			bU = false;
			break;
		case KeyEvent.VK_RIGHT:
			bR = false;
			break;
		case KeyEvent.VK_DOWN:
			bD = false;
			break;
		}
		locateDirection();
	}
	
	private Missile fire() {
		int x = this.x + WIDTH/2 - Missile.WIDTH/2;
		int y = this.y + HEIGHT/2 - Missile.HEIGHT/2;
		Missile m = new Missile(x, y, this.good, this.ptDir, this.tc);
		tc.missiles.add(m);
		return m;
	}
	
	public Rectangle getRect() {
		return new Rectangle(x, y, WIDTH, HEIGHT);
	}

	public boolean isLive() {
		return live;
	}

	public void setLive(boolean live) {
		this.live = live;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜久久电影网| 欧美一级午夜免费电影| 极品少妇xxxx偷拍精品少妇| 欧美国产1区2区| 欧美大片一区二区| 精品视频123区在线观看| 99国产精品久久久久久久久久久| 麻豆一区二区三| 日韩一区二区电影在线| 欧美日韩国产影片| 色综合久久88色综合天天| 国产电影一区在线| 日本不卡不码高清免费观看| 亚洲视频每日更新| 久久综合一区二区| 欧美成人伊人久久综合网| 欧美一级搡bbbb搡bbbb| 4438x成人网最大色成网站| 欧美色综合久久| 欧美在线视频全部完| 91久久精品日日躁夜夜躁欧美| 色综合一区二区| 1区2区3区精品视频| 欧美激情一二三区| 久久综合色天天久久综合图片| www亚洲一区| 久久久久久99久久久精品网站| 国产欧美精品一区二区色综合| 国产精品欧美一区喷水| 在线观看av一区| 欧美日韩国产综合久久| 在线这里只有精品| 91精品国产黑色紧身裤美女| 91精品国产免费| 2021国产精品久久精品| 国产精品久久一卡二卡| 亚洲视频狠狠干| 亚洲成av人片一区二区| 美女一区二区久久| 国产激情一区二区三区| 91小视频在线免费看| 欧美日本一区二区| 欧美xxxxx牲另类人与| 欧美国产一区二区在线观看| 成人欧美一区二区三区视频网页| 亚洲与欧洲av电影| 久久99精品久久久| aaa欧美色吧激情视频| 成人性生交大片免费看中文| 欧美亚洲免费在线一区| 日韩欧美国产1| 亚洲欧美一区二区三区久本道91| 天天亚洲美女在线视频| 国产东北露脸精品视频| 欧美日韩久久久一区| 欧美精品一区二区三区很污很色的| 在线精品视频免费观看| 欧美日韩激情一区二区三区| 久久婷婷一区二区三区| 亚洲自拍偷拍av| 国产精品影视网| 在线综合亚洲欧美在线视频| 国产精品美女久久久久aⅴ| 亚洲chinese男男1069| 大桥未久av一区二区三区中文| 欧美少妇xxx| 国产精品美女久久久久久久久| 青青草成人在线观看| 成人午夜在线视频| 欧美一区二区女人| 一区二区视频在线| 成人av在线一区二区| 精品久久久久久无| 日韩av一区二| 欧美视频中文字幕| 樱桃国产成人精品视频| 成人免费看片app下载| 精品成人佐山爱一区二区| 亚洲人成亚洲人成在线观看图片| 久久国产精品第一页| 欧美日韩视频在线观看一区二区三区| 中文字幕不卡三区| 不卡的av中国片| 国产日韩欧美不卡在线| 国产一区二区三区在线观看免费| 91精品国产一区二区三区| 亚洲精品成人在线| 91在线视频免费91| 中文字幕中文字幕中文字幕亚洲无线| 日韩国产欧美视频| 欧美日韩国产影片| 亚洲美女视频一区| av激情亚洲男人天堂| 国产女人18毛片水真多成人如厕 | 国产69精品久久久久毛片| 欧美精品成人一区二区三区四区| 亚洲精品国产一区二区精华液 | 五月天精品一区二区三区| 久久一区二区三区四区| 天堂va蜜桃一区二区三区漫画版| 精品婷婷伊人一区三区三| 亚洲国产一区二区三区| 欧美一区二区三区视频在线观看| 亚洲成a人片在线观看中文| 日韩欧美成人激情| 国产成人午夜视频| 亚洲国产综合人成综合网站| 在线不卡a资源高清| 国产一区二区三区久久久| 亚洲天堂免费看| 91麻豆精品国产91久久久久| 精品综合久久久久久8888| 中文字幕第一区| 欧美精品日韩一区| 国产很黄免费观看久久| 亚洲午夜私人影院| 国产欧美一区二区三区沐欲| 欧美自拍丝袜亚洲| 国产精品一二三在| 亚洲一区二区精品3399| 精品国产污污免费网站入口 | 久久av资源站| 中文字幕亚洲欧美在线不卡| 欧美卡1卡2卡| 波波电影院一区二区三区| 另类小说视频一区二区| 亚洲精品久久久久久国产精华液| 欧美va亚洲va| 欧美日韩亚洲综合一区二区三区| 成人永久aaa| 久久99精品久久久久婷婷| 亚洲综合一区在线| 中文字幕亚洲欧美在线不卡| 久久久99精品久久| 欧美xxxx老人做受| 欧美男人的天堂一二区| 91免费观看视频在线| 国产精品一区免费视频| 蜜桃视频第一区免费观看| 亚洲一区二区三区四区五区黄| 国产情人综合久久777777| 精品国产乱码久久久久久久久 | 久久国产精品99久久久久久老狼 | 伊人性伊人情综合网| 国产精品护士白丝一区av| 亚洲精品在线观| 欧美va在线播放| 日韩午夜精品电影| 欧美人与z0zoxxxx视频| 欧美性感一类影片在线播放| 97久久精品人人澡人人爽| 粉嫩13p一区二区三区| 国产精品自拍一区| 国产一区二区不卡老阿姨| 久久99日本精品| 麻豆91精品91久久久的内涵| 日韩激情在线观看| 免费在线观看成人| 秋霞午夜av一区二区三区| 日韩二区三区四区| 美国毛片一区二区三区| 精品中文字幕一区二区| 国产精品正在播放| 成人性视频免费网站| av电影一区二区| 精品视频在线免费观看| 欧美区一区二区三区| 日韩视频不卡中文| 国产色91在线| 亚洲你懂的在线视频| 亚洲一二三专区| 久久精品国产久精国产| 国产精品夜夜爽| 色视频欧美一区二区三区| 欧美日韩中文一区| 欧美变态口味重另类| 国产精品久久久久久久久久久免费看 | 日本久久精品电影| 欧美久久久久久久久中文字幕| 日韩免费视频一区| 欧美国产精品一区二区三区| 国产精品初高中害羞小美女文| 亚洲裸体在线观看| 日产欧产美韩系列久久99| 久久国产综合精品| 国产精品99久久久久久宅男| 91污片在线观看| 日韩欧美久久一区| 日本一区二区高清| 亚洲成人av电影| 国产福利91精品一区二区三区| 99视频在线精品| 91精品在线麻豆| 中文字幕在线不卡一区| 日韩中文字幕1| 99久久久国产精品| 精品久久久久久久一区二区蜜臀| 亚洲人成网站影音先锋播放| 日本视频一区二区三区| 成人美女视频在线观看|