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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? tankclient.java

?? 網(wǎng)絡(luò)版坦克大戰(zhàn)游戲
?? JAVA
字號:
import java.awt.Button;
import java.awt.Color;
import java.awt.Dialog;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Label;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.ArrayList;
import java.util.List;

public class TankClient extends Frame {
	public static final int GAME_WIDTH = 800;
	public static final int GAME_HEIGHT = 600;
	
	Tank myTank = new Tank(50, 50, true, Dir.STOP, this);
	
	List<Missile> missiles = new ArrayList<Missile>();
	List<Explode> explodes = new ArrayList<Explode>();
	List<Tank> tanks = new ArrayList<Tank>();

	Image offScreenImage = null;
	
	NetClient nc = new NetClient(this);
	
	ConnDialog dialog = new ConnDialog(); 
	
	@Override
	public void paint(Graphics g) {
		g.drawString("missiles count:" + missiles.size(), 10, 50);
		g.drawString("explodes count:" + explodes.size(), 10, 70);
		g.drawString("tanks    count:" + tanks.size(), 10, 90);
		
		for(int i=0; i<missiles.size(); i++) {
			Missile m = missiles.get(i);
			m.hitTanks(tanks);
			m.draw(g);
		}
		
		for(int i=0; i<explodes.size(); i++) {
			Explode e = explodes.get(i);
			e.draw(g);
		}
	
		for(int i=0; i<tanks.size(); i++) {
			Tank t = tanks.get(i);
			t.draw(g);
		}
		
		myTank.draw(g);
		
	
	}

	@Override
	public void update(Graphics g) {
		if(offScreenImage == null) {
			offScreenImage = this.createImage(800, 600);
		}
		Graphics gOffScreen = offScreenImage.getGraphics();
		Color c = gOffScreen.getColor();
		gOffScreen.setColor(Color.GREEN);
		gOffScreen.fillRect(0, 0, GAME_WIDTH, GAME_HEIGHT);
		gOffScreen.setColor(c);
		paint(gOffScreen);
		g.drawImage(offScreenImage, 0, 0, null);
	}
	
	public void launchFrame() {
		
		this.setLocation(400, 300);
		this.setSize(GAME_WIDTH, GAME_HEIGHT);
		this.setTitle("TankWar");
		this.addWindowListener(new WindowAdapter() {

			@Override
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
			
		});
		this.setResizable(false);
		this.setBackground(Color.GREEN);
		
		this.addKeyListener(new KeyMonitor());
		
		this.setVisible(true);
		
		new Thread(new PaintThread()).start();
		
		//nc.connect("127.0.0.1", TankServer.TCP_PORT);
	}
	
	public static void main(String[] args) {
		TankClient tc = new TankClient();
		tc.launchFrame();
	}
	
	class PaintThread implements Runnable {

		public void run() {
			while(true) {
				repaint();
				try {
					Thread.sleep(50);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		}
		
	}
	
	class KeyMonitor extends KeyAdapter {

		@Override
		public void keyReleased(KeyEvent e) {
			myTank.keyReleased(e);
		}

		@Override
		public void keyPressed(KeyEvent e) {
			int key = e.getKeyCode(); 
			if(key == KeyEvent.VK_C) {
				dialog.setVisible(true);
			} else {
				myTank.keyPressed(e);
			}
		}
		
	}
	
	class ConnDialog extends Dialog {
		Button b = new Button("確定");
		TextField tfIP = new TextField("127.0.0.1", 12);
		TextField tfPort = new TextField("" + TankServer.TCP_PORT, 4);
		TextField tfMyUDPPort = new TextField("2223", 4);
		public ConnDialog() {
			super(TankClient.this, true);
		
			this.setLayout(new FlowLayout());
			this.add(new Label("IP:"));
			this.add(tfIP);
			this.add(new Label("Port:"));
			this.add(tfPort);
			this.add(new Label("My UDP Port:"));
			this.add(tfMyUDPPort);
			this.add(b);
			this.setLocation(300, 300);
			this.pack();
			this.addWindowListener(new WindowAdapter() {
				@Override
				public void windowClosing(WindowEvent e) {
					setVisible(false);
				}
			});
			b.addActionListener(new ActionListener() {

				public void actionPerformed(ActionEvent e) {
					String IP = tfIP.getText().trim();
					int port = Integer.parseInt(tfPort.getText().trim());
					int myUDPPort = Integer.parseInt(tfMyUDPPort.getText().trim());
					nc.setUdpPort(myUDPPort);
					nc.connect(IP, port);
					setVisible(false);
				}
				
			});
		}

	}
	
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亲近乱来精品视频| 国产一区三区三区| 国产在线一区二区| 色综合视频在线观看| wwwwxxxxx欧美| 五月激情综合网| 91麻豆swag| 日本一区二区三区久久久久久久久不| 亚洲一区二区三区四区在线| 国产成人亚洲综合a∨婷婷| 欧美高清dvd| 伊人夜夜躁av伊人久久| 成人av第一页| 久久一区二区视频| 蜜乳av一区二区三区| 欧美视频中文一区二区三区在线观看| 中文字幕制服丝袜成人av| 久久99精品久久久久久久久久久久| 欧美探花视频资源| 亚洲乱码国产乱码精品精可以看 | 欧美一区二区三区四区五区| 最新高清无码专区| www.在线成人| 国产精品伦理一区二区| 国产福利不卡视频| 国产亚洲精品bt天堂精选| 麻豆精品一区二区av白丝在线| 91精品久久久久久久99蜜桃 | 欧美日韩三级一区| 亚洲一区二区在线视频| 色哟哟一区二区在线观看 | 久久天天做天天爱综合色| 蜜臀va亚洲va欧美va天堂| 日韩欧美一级精品久久| 另类中文字幕网| 26uuu久久天堂性欧美| 国产乱子伦视频一区二区三区| 国产欧美一二三区| 99久久精品免费看国产| 亚洲欧洲色图综合| 91成人在线精品| 亚洲已满18点击进入久久| 欧美色精品在线视频| 视频一区视频二区中文字幕| 欧美一区二区三区播放老司机| 日本午夜一区二区| 久久综合九色综合久久久精品综合| 久久99热这里只有精品| 国产视频一区不卡| 色先锋资源久久综合| 青青草精品视频| 久久精品一区四区| 91小视频免费观看| 偷拍与自拍一区| 26uuuu精品一区二区| kk眼镜猥琐国模调教系列一区二区| 亚洲欧美日韩国产综合在线| 欧美日韩和欧美的一区二区| 精品一区二区三区免费播放| 中文欧美字幕免费| 欧美久久一二区| 国产精品一区一区三区| 亚洲精选免费视频| 日韩精品中文字幕一区| 成人ar影院免费观看视频| 亚洲资源在线观看| 久久久高清一区二区三区| 91网站在线观看视频| 免费观看91视频大全| 国产精品伦理一区二区| 欧美一区二区三区免费视频| 成人在线一区二区三区| 日本欧美一区二区| 亚洲欧洲精品成人久久奇米网| 欧美精品黑人性xxxx| 国产电影一区在线| 天天影视涩香欲综合网| 欧美激情综合在线| 日韩欧美色电影| 一本一道久久a久久精品| 久久66热偷产精品| 亚洲香肠在线观看| 国产精品美女www爽爽爽| 日韩视频在线永久播放| 在线精品视频小说1| 国产91精品一区二区| 久久精品国产99| 日本强好片久久久久久aaa| 亚洲色图欧洲色图| 中文欧美字幕免费| 久久久久亚洲蜜桃| 日韩免费电影一区| 日韩一区国产二区欧美三区| 97se亚洲国产综合在线| 国产白丝精品91爽爽久久| 美女在线一区二区| 日本一区中文字幕 | 国产乱码精品一区二区三区五月婷| 午夜欧美2019年伦理| 一区二区欧美视频| 亚洲欧美经典视频| 亚洲三级电影网站| 国产性天天综合网| 国产亚洲一区二区在线观看| 91精品久久久久久久91蜜桃| 欧美视频一区二区三区| 91精彩视频在线| 91亚洲永久精品| 色琪琪一区二区三区亚洲区| 99re免费视频精品全部| av中文字幕在线不卡| 成人精品国产免费网站| jizz一区二区| 99久久er热在这里只有精品15| 成人免费毛片aaaaa**| 成人午夜激情影院| 99免费精品在线| 色久优优欧美色久优优| 色av一区二区| 欧美日韩一区二区三区视频 | 99精品国产视频| 91在线视频免费91| 一本久久a久久精品亚洲| 一本久久综合亚洲鲁鲁五月天| 色婷婷综合久久久久中文一区二区| 91蝌蚪国产九色| 欧美日韩在线免费视频| 欧美福利视频一区| 欧美mv日韩mv国产网站app| 久久久精品免费网站| 国产精品久久久久一区 | 捆绑调教一区二区三区| 久久99精品一区二区三区三区| 国产美女娇喘av呻吟久久| 国产成人三级在线观看| 99久久99久久精品免费看蜜桃| 色综合久久中文字幕| 欧美日韩另类国产亚洲欧美一级| 欧美一级夜夜爽| 国产亚洲精品bt天堂精选| 亚洲素人一区二区| 麻豆高清免费国产一区| 国产福利不卡视频| 欧美午夜精品一区二区蜜桃| 日韩一区二区三区在线| 国产精品亲子伦对白| 亚洲自拍偷拍欧美| 国产精品 欧美精品| av一区二区三区| 91精品国产综合久久久久久久久久| 精品久久人人做人人爱| 一区二区三区在线免费观看| 麻豆一区二区在线| 91免费小视频| 精品久久久久av影院| 亚洲欧美日韩在线不卡| 激情深爱一区二区| 欧美在线观看视频一区二区三区| 欧美videofree性高清杂交| 亚洲激情中文1区| 精品一区二区三区在线播放| 日本韩国欧美在线| 久久综合色婷婷| 婷婷国产在线综合| 白白色 亚洲乱淫| 久久久综合视频| 日本在线不卡视频| 在线影院国内精品| 国产精品三级在线观看| 六月丁香婷婷久久| 欧美日韩国产一级片| 1区2区3区国产精品| 狠狠色狠狠色综合| 91精品综合久久久久久| 亚洲日本在线视频观看| 国产自产v一区二区三区c| 欧美日韩中文精品| 亚洲女同ⅹxx女同tv| 国产不卡在线一区| 国产视频911| 国产呦萝稀缺另类资源| 日韩欧美色综合| 日本aⅴ精品一区二区三区 | av不卡在线观看| 久久精品亚洲精品国产欧美| 奇米影视在线99精品| 欧美探花视频资源| 亚洲电影一级黄| 在线精品亚洲一区二区不卡| 亚洲人成网站色在线观看| 国产成人aaa| 国产日韩欧美制服另类| 国产精品综合视频| 国产日韩欧美不卡| 粉嫩一区二区三区在线看| 精品国产乱码久久久久久久| 美女爽到高潮91| 精品国产乱码久久久久久闺蜜| 日韩电影一区二区三区| 欧美日韩国产精品成人|