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

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

?? abstractrobot.java

?? java機器人對戰平臺robocode下的一個機器人的源碼
?? JAVA
字號:
package wilson;

import robocode.*;
import java.util.*;
/**
 * AbstractRobot - difine the structure of my bot and implement some utility elements
 */
public abstract class AbstractRobot extends AdvancedRobot
{
	/*
	 * Contants
	 */
	public final static double WALL_DISTANCE = 35;
	//The following 3 constants are used in virtual bullet targeting
	public final static int DISTANCE_MAX_INDEX = 10; 
	public final static int DELTA_DISTANCE = 100;     
	public final static int FACTOR_MAX_INDEX = 11;
	// the following constants are used in statistic targeting
	public final static int ENTRY_NUMBER = 80;
	
	/*
	 * static fields
	 */
	// the following parameters are used in virtual bullet targeting
	public static int bestFactor = FACTOR_MAX_INDEX/2;
	public static double[][] data = new double[DISTANCE_MAX_INDEX][FACTOR_MAX_INDEX];
	// the following paramenters are used in statistic targeting
	public static HashMap infoData[][][][] = new HashMap[3][3][3][ENTRY_NUMBER];
	// the following paramenters are used in movement
	//public static double[][] avoidAngle = new double[8][3];
	
	/*
	 * the field of the robots
	 */
	//the following parameters are used in virtual bullet targeting
	public double enemyAverageVelocity = 8; //the average velocity of the enemy in recent 
	public boolean isFire;                  //
	public int dIndex;
	public double vFirePower;
	public Vector vBulletList = new Vector();
	//the following parameters are use in statistic targeting
	public Vector enemyInfoList = new Vector();
	// the following parameters are use in movement
	//public Vector enemyBulletList = new Vector();
	// some common info
	public boolean isFound = false;
	public double firePower;
	public double direction = 1;
	protected EnemyInfo nowEnemy = new EnemyInfo();
	
	// initiate
	static	{
		for(int i=0;i<3;i++){
			for (int j=0;j<3;j++){
				for (int k=0;k<3;k++){
					for(int l=0;l<ENTRY_NUMBER;l++){
						infoData[i][j][k][l] = new HashMap();
					}
				}
			}
		}
		for(int i=0;i<DISTANCE_MAX_INDEX;i++){
			for (int j=0;j<FACTOR_MAX_INDEX;j++){
				data[i][j] = 0;
			}
		}
	}
			
	public void reverseDirection() {
		//out.println("reverse direction");
		double distance = getDistanceRemaining() * direction;
		direction *= -1;
		setAhead(distance * direction);
	} 
	
	public void setTurnRightRadiansOptimal(double angle) {
		double turn = Support.normaliseRelativeAngle(angle);
		if (Math.abs(turn) > Support.HALF_PI) {
			reverseDirection();
			if (turn > 0) {
				turn -= Support.PI;
			} else {
				turn += Support.PI;
			}
		}
		setTurnRightRadians(turn);
	}
	
	public double getRelativeHeadingRadians() {
		double relativeHeading = getHeadingRadians();
		if (direction < 0) {
			relativeHeading = Support.normaliseAbsoluteAngle(relativeHeading + Support.PI);
		}
		return relativeHeading;
	}
	
	public void onScannedRobot(ScannedRobotEvent e) {
		EnemyInfo tempEnemy = (EnemyInfo)nowEnemy.clone();//clone now entry
		//set new infomation
		nowEnemy.name = e.getName();
		nowEnemy.bearing = e.getBearingRadians();
		nowEnemy.absBearing = e.getBearingRadians() + getHeadingRadians();
		nowEnemy.heading = e.getHeadingRadians();
		nowEnemy.cTime = getTime();
		nowEnemy.velocity = e.getVelocity();
		nowEnemy.distance = e.getDistance();
		nowEnemy.x = getX() + e.getDistance()*Math.sin(nowEnemy.absBearing);
		nowEnemy.y = getY() + e.getDistance()*Math.cos(nowEnemy.absBearing);
		nowEnemy.energy = e.getEnergy();
		if (!isFound) {
			isFound = true;
			nowEnemy.headingChange = 0;
			nowEnemy.energyChange = 0;
			nowEnemy.velocityChange = 0;
			nowEnemy.xChange = 0;
			nowEnemy.yChange = 0;
			nowEnemy.estimateVelocity = nowEnemy.velocity;
			nowEnemy.estimateHeading = nowEnemy.heading;
		} else {
			nowEnemy.headingChange = nowEnemy.heading - tempEnemy.heading;
			nowEnemy.energyChange = tempEnemy.energy - nowEnemy.energy;
			nowEnemy.velocityChange = nowEnemy.velocity - tempEnemy.velocity;
			nowEnemy.xChange = nowEnemy.x - tempEnemy.x;
			nowEnemy.yChange = nowEnemy.y - tempEnemy.y;
			nowEnemy.estimateVelocity = Math.max(Math.min(nowEnemy.velocity+4*nowEnemy.velocityChange,8),-8);
			nowEnemy.estimateHeading = nowEnemy.heading+4*nowEnemy.headingChange;
		}
		dIndex = (int)(nowEnemy.distance/DELTA_DISTANCE);
		enemyAverageVelocity = .96*enemyAverageVelocity + 0.04*nowEnemy.velocity;

		//other 	
		doMovement();
		doGun();
		doRadar();
		execute();
	}	
	
	public void onBulletHit(BulletHitEvent e){
		nowEnemy.energy = e.getEnergy();
	}
	
   	public void onHitByBullet(HitByBulletEvent e){
		nowEnemy.energy += e.getPower()*3d;
	}
	
	public void onHitRobot(HitRobotEvent e){
		nowEnemy.energy -= 0.6d;
	}
	
	public abstract void doMovement(); 
	
	public abstract void doGun(); 
	
	public abstract void doRadar();
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲欧美精品午睡沙发| 久久精品亚洲麻豆av一区二区 | 午夜精品爽啪视频| 欧美日韩电影在线播放| 国产91丝袜在线18| 综合激情成人伊人| 欧美性猛交xxxx乱大交退制版| 亚洲一区电影777| 欧美一区二区精品在线| 国产激情精品久久久第一区二区| 国产日韩欧美a| 色综合天天综合色综合av| 五月婷婷综合在线| 久久这里只有精品首页| 91香蕉视频mp4| 日本中文在线一区| 久久久综合九色合综国产精品| av在线不卡观看免费观看| 亚洲国产一区二区三区 | 日韩欧美电影一区| 懂色一区二区三区免费观看| 一区二区不卡在线视频 午夜欧美不卡在| 91福利在线观看| 久久国产精品色婷婷| 国产精品久久夜| 欧美日本一道本在线视频| 国产美女娇喘av呻吟久久| 亚洲同性同志一二三专区| 日韩一卡二卡三卡四卡| av电影天堂一区二区在线| 日本亚洲电影天堂| 1024成人网色www| 欧美一二三在线| 99久久精品国产毛片| 蜜桃av噜噜一区二区三区小说| 国产精品美女久久久久久久| 日韩一区二区免费在线电影| 99国产精品国产精品久久| 毛片不卡一区二区| 夜夜爽夜夜爽精品视频| 国产亚洲精品aa午夜观看| 欧美日韩国产片| 成人av在线影院| 精品在线观看视频| 亚洲123区在线观看| 《视频一区视频二区| 久久先锋影音av鲁色资源| 欧美日韩国产一级片| 99久久国产免费看| 国产久卡久卡久卡久卡视频精品| 午夜欧美2019年伦理| 亚洲欧美二区三区| 中文一区二区完整视频在线观看| 日韩一区二区免费电影| 欧美三级电影网| 色偷偷久久人人79超碰人人澡| 国产福利一区二区三区在线视频| 免费av网站大全久久| 午夜久久电影网| 一区二区三区成人在线视频| 国产精品天天摸av网| 国产性做久久久久久| 亚洲精品一区二区三区四区高清| 7777精品久久久大香线蕉 | 欧美一区二区三区小说| 欧美视频一区在线| 在线观看国产日韩| 欧美在线观看一区二区| 一本到不卡精品视频在线观看| heyzo一本久久综合| 成人h动漫精品一区二区| 丁香六月综合激情| 成人午夜在线播放| 成人av影视在线观看| 成人精品电影在线观看| 成人av手机在线观看| av电影天堂一区二区在线| 91亚洲精品乱码久久久久久蜜桃| 99久久婷婷国产| 成人av网站免费| 色哟哟亚洲精品| 91精品福利视频| 欧美日韩亚洲不卡| 日韩一卡二卡三卡国产欧美| 日韩欧美一级片| 欧美va亚洲va国产综合| 久久久一区二区| 国产精品电影院| 一区二区三区在线高清| 五月天丁香久久| 久久精品国产精品亚洲精品| 国产一区在线观看麻豆| 成人夜色视频网站在线观看| 99久久er热在这里只有精品66| 91久久人澡人人添人人爽欧美| 欧美日韩一区二区三区免费看| 8x福利精品第一导航| 日韩欧美成人一区二区| 欧美极品另类videosde| 亚洲精品乱码久久久久久 | 欧美一区在线视频| 欧美精品一区二区三区在线播放| 国产区在线观看成人精品| 国产精品成人一区二区艾草| 亚洲国产一区二区在线播放| 极品少妇xxxx偷拍精品少妇| 成人av网站免费观看| 欧美亚洲动漫精品| 亚洲精品一区二区三区香蕉| 亚洲视频免费看| 日韩av在线发布| 成人国产免费视频| 欧美军同video69gay| 国产调教视频一区| 亚洲午夜久久久久中文字幕久| 秋霞影院一区二区| 99精品视频在线免费观看| 欧美疯狂做受xxxx富婆| 亚洲国产精品高清| 日韩专区欧美专区| 成人aaaa免费全部观看| 欧美一区日韩一区| 成人免费一区二区三区在线观看| 日本少妇一区二区| 91网址在线看| 久久青草欧美一区二区三区| 有码一区二区三区| 国产成人99久久亚洲综合精品| 欧美日韩美少妇| 国产精品久久久久影院老司 | 国产成人在线观看免费网站| 欧美在线free| 国产精品视频看| 久久国产免费看| 欧美日韩免费在线视频| 国产精品毛片久久久久久| 精品中文av资源站在线观看| 欧美做爰猛烈大尺度电影无法无天| 久久看人人爽人人| 蜜桃一区二区三区在线| 在线国产电影不卡| 国产精品不卡一区| 国产成人av一区二区| 精品毛片乱码1区2区3区| 亚洲1区2区3区4区| 欧洲精品一区二区三区在线观看| 欧美激情一区在线| 韩国v欧美v亚洲v日本v| 欧美一区日韩一区| 午夜精品福利一区二区蜜股av| 91亚洲精华国产精华精华液| 欧美高清在线一区二区| 国产一区二区看久久| 欧美变态口味重另类| 日韩av电影免费观看高清完整版 | 欧美日本在线播放| 一区二区三区四区激情| 99久久精品99国产精品| 中文在线资源观看网站视频免费不卡| 久久99国产精品久久99果冻传媒| 欧美精品777| 婷婷成人激情在线网| 欧美猛男gaygay网站| 亚洲国产精品久久久男人的天堂| 色综合久久久久综合体| 中文字幕一区二区三区乱码在线| 国精产品一区一区三区mba桃花| 制服丝袜国产精品| 亚洲成av人片一区二区梦乃| 91成人在线观看喷潮| 亚洲一区二区在线观看视频| 欧美亚洲丝袜传媒另类| 香蕉加勒比综合久久| 欧美日韩精品一区二区天天拍小说| 亚洲精品国产a久久久久久| 色偷偷久久人人79超碰人人澡| 亚洲精品日韩专区silk| 色综合视频在线观看| 亚洲成人三级小说| 欧美精品久久久久久久多人混战 | 一区二区三区四区蜜桃| 91色九色蝌蚪| 亚洲免费观看高清完整版在线观看 | 日韩一区二区在线免费观看| 日韩高清国产一区在线| 欧美一卡二卡三卡四卡| 久久精品av麻豆的观看方式| 精品国产网站在线观看| 国产成人综合精品三级| 国产精品九色蝌蚪自拍| www.欧美日韩国产在线| 亚洲制服丝袜在线| 337p亚洲精品色噜噜噜| 精品一区二区久久| 中文字幕免费不卡| 色就色 综合激情| 日韩制服丝袜av| 久久精品视频一区二区三区| 成人app网站| 五月天欧美精品|