jian简单爱dan jian简单爱dan
关注数: 46 粉丝数: 42 发帖数: 1,433 关注贴吧数: 12
那位大神帮我注释下,下面一段代码,谢谢! import robocode.*; import java.awt.geom.Point2D; import java.awt.Color; public class guopan extends AdvancedRobot { double moveDirection; enemyStat enemy = new enemyStat(); public void run() { setBodyColor(Color.red); setGunColor(Color.red); setRadarColor(Color.red); setScanColor(Color.RED); setBulletColor(Color.RED); setAdjustGunForRobotTurn(true); setAdjustRadarForGunTurn(true); setTurnRadarRightRadians(2*Math.PI); //让雷达一直转 while(true) { doFire(); doScannedRobot(); doMovement() ; execute(); } } public void onScannedRobot(ScannedRobotEvent e) { enemy.updateStat(e, this); } public void doMovement()//随即运动 { //程序首先判断运动是否完成,若完成,随机选出一个座标点,移动到该点 if( Math.abs( getDistanceRemaining() ) < 1 ) { double myX = getX(); double myY = getY(); double nextX, nextY; // the next point move to nextX = Math.random() * ( getBattleFieldWidth() - 100 ) + 50; nextY = Math.random() * ( getBattleFieldHeight() - 100 ) + 50; double turnAngle =getAngle(myX,myY,nextX,nextY ); turnAngle = normalizeBearing( turnAngle - getHeadingRadians() ); double moveDistance = Point2D.distance( myX, myY, nextX, nextY ); double moveDirection = 1; if ( Math.abs( turnAngle ) >Math.PI/2) { turnAngle = normalizeBearing( turnAngle + Math.PI); moveDirection *= -1; } setTurnRightRadians( turnAngle ); setAhead( moveDirection * moveDistance ); } } public static double getAngle(double x1, double y1, double x2, double y2) { return Math.atan2( x2 - x1, y2 - y1 ); } public void doScannedRobot() { if (getTime()-enemy.time>1) { setTurnRadarRightRadians(3*Math.PI); } else { double absolation_bearing=(getHeadingRadians()+enemy.relative_bearing)%(2*Math.PI); double relative_radar_bearing=getRadarHeadingRadians()-absolation_bearing; double a=normalizeBearing(relative_radar_bearing); setTurnRadarLeftRadians(a); } } public double normalizeBearing( double angle ) { if ( angle < -Math.PI ) angle += 2*Math.PI; if ( angle > Math.PI ) angle -= 2*Math.PI; return angle; } public void doFire() { double heading_offset=enemy.en_heading-enemy.pre_heading+0.000001;
那位大神帮我注释下,下面一段代码,谢谢 import robocode.*; import java.awt.geom.Point2D; import java.awt.Color; public class guopan extends AdvancedRobot { double moveDirection; enemyStat enemy = new enemyStat(); public void run() { setBodyColor(Color.red); setGunColor(Color.red); setRadarColor(Color.red); setScanColor(Color.RED); setBulletColor(Color.RED); setAdjustGunForRobotTurn(true); setAdjustRadarForGunTurn(true); setTurnRadarRightRadians(2*Math.PI); //让雷达一直转 while(true) { doFire(); doScannedRobot(); doMovement() ; execute(); } } public void onScannedRobot(ScannedRobotEvent e) { enemy.updateStat(e, this); } public void doMovement()//随即运动 { //程序首先判断运动是否完成,若完成,随机选出一个座标点,移动到该点 if( Math.abs( getDistanceRemaining() ) < 1 ) { double myX = getX(); double myY = getY(); double nextX, nextY; // the next point move to nextX = Math.random() * ( getBattleFieldWidth() - 100 ) + 50; nextY = Math.random() * ( getBattleFieldHeight() - 100 ) + 50; double turnAngle =getAngle(myX,myY,nextX,nextY ); turnAngle = normalizeBearing( turnAngle - getHeadingRadians() ); double moveDistance = Point2D.distance( myX, myY, nextX, nextY ); double moveDirection = 1; if ( Math.abs( turnAngle ) >Math.PI/2) { turnAngle = normalizeBearing( turnAngle + Math.PI); moveDirection *= -1; } setTurnRightRadians( turnAngle ); setAhead( moveDirection * moveDistance ); } } public static double getAngle(double x1, double y1, double x2, double y2) { return Math.atan2( x2 - x1, y2 - y1 ); } public void doScannedRobot() { if (getTime()-enemy.time>1) { setTurnRadarRightRadians(3*Math.PI); } else { double absolation_bearing=(getHeadingRadians()+enemy.relative_bearing)%(2*Math.PI); double relative_radar_bearing=getRadarHeadingRadians()-absolation_bearing; double a=normalizeBearing(relative_radar_bearing); setTurnRadarLeftRadians(a); } } public double normalizeBearing( double angle ) { if ( angle < -Math.PI ) angle += 2*Math.PI; if ( angle > Math.PI ) angle -= 2*Math.PI; return angle; } public void doFire() { double heading_offset=enemy.en_heading-enemy.pre_heading+0.000001;
那位大神,帮我注释下,下面一段代码,谢谢! import robocode.*; import java.awt.geom.Point2D; import java.awt.Color; public class guopan extends AdvancedRobot { double moveDirection; enemyStat enemy = new enemyStat(); public void run() { setBodyColor(Color.red); setGunColor(Color.red); setRadarColor(Color.red); setScanColor(Color.RED); setBulletColor(Color.RED); setAdjustGunForRobotTurn(true); setAdjustRadarForGunTurn(true); setTurnRadarRightRadians(2*Math.PI); //让雷达一直转 while(true) { doFire(); doScannedRobot(); doMovement() ; execute(); } } public void onScannedRobot(ScannedRobotEvent e) { enemy.updateStat(e, this); } public void doMovement()//随即运动 { //程序首先判断运动是否完成,若完成,随机选出一个座标点,移动到该点 if( Math.abs( getDistanceRemaining() ) < 1 ) { double myX = getX(); double myY = getY(); double nextX, nextY; // the next point move to nextX = Math.random() * ( getBattleFieldWidth() - 100 ) + 50; nextY = Math.random() * ( getBattleFieldHeight() - 100 ) + 50; double turnAngle =getAngle(myX,myY,nextX,nextY ); turnAngle = normalizeBearing( turnAngle - getHeadingRadians() ); double moveDistance = Point2D.distance( myX, myY, nextX, nextY ); double moveDirection = 1; if ( Math.abs( turnAngle ) >Math.PI/2) { turnAngle = normalizeBearing( turnAngle + Math.PI); moveDirection *= -1; } setTurnRightRadians( turnAngle ); setAhead( moveDirection * moveDistance ); } } public static double getAngle(double x1, double y1, double x2, double y2) { return Math.atan2( x2 - x1, y2 - y1 ); } public void doScannedRobot() { if (getTime()-enemy.time>1) { setTurnRadarRightRadians(3*Math.PI); } else { double absolation_bearing=(getHeadingRadians()+enemy.relative_bearing)%(2*Math.PI); double relative_radar_bearing=getRadarHeadingRadians()-absolation_bearing; double a=normalizeBearing(relative_radar_bearing); setTurnRadarLeftRadians(a); } } public double normalizeBearing( double angle ) { if ( angle < -Math.PI ) angle += 2*Math.PI; if ( angle > Math.PI ) angle -= 2*Math.PI; return angle; } public void doFire() { double heading_offset=enemy.en_heading-enemy.pre_heading+0.000001;
1 下一页