我被击中了

     今天早晨本来是打算对昨日的HMM算法做总结的,随手翻翻,发现了好多牛人,牛人很多,这是大家都心知肚明的。可我被击中的原因是什么,什么呢?

看看这个超链接:http://blog.csdn.net/dark_scope/article/details/8165934   ,不由的感叹,自己在那个年纪的时候在干嘛啊,这么小的年纪却又如此强大的内心,我真的被击中了,好汗颜。

    除此差距之外,还有一个自己到现在都还不具备 恒心,大哭~~~~~~斯坦福“机器学习的视频”我一年一点看了一集,当时还专门在QQ签名上给所有人推荐,接触的第一次就觉得超好。第二次看是在7月份,又看了2集,真的是很好啊。接下来又被搁置了~~~~我真的是太懒了。当初一是决心没有坚定,二是自己还是有点怕怕繁复的数学推导,可能功底不好,自己信心不足。这些真的是可以培养的,呜呜~~~~~~~~~~为什么差距这么大?我知道原因的,但是为什么就是不改呢。为什么一定要偷懒呢? 真是对自己无语。

     我自己深知只要在路上,就比如电饭锅插上电了,某某人坐上公交了,只要事情上了轨道,到达就只是时间的问题。时间不是一直是一个动态的过程么,所以result都会很快出现。

     生活继续,学习go on~~~ 

      

好的,以下是一段示例代码,可以作为参考: ```java import robocode.*; public class MyRobot extends AdvancedRobot { private double targetBearing; private double targetDistance; private double targetEnergy; public void run() { setAdjustRadarForRobotTurn(true); setAdjustGunForRobotTurn(true); setAdjustRadarForGunTurn(true); turnRadarRightRadians(Double.POSITIVE_INFINITY); } public void onScannedRobot(ScannedRobotEvent e) { double radarTurn = getHeadingRadians() + e.getBearingRadians() - getRadarHeadingRadians(); setTurnRadarRightRadians(2.0 * Utils.normalRelativeAngle(radarTurn)); double gunTurn = getHeadingRadians() + e.getBearingRadians() - getGunHeadingRadians(); setTurnGunRightRadians(Utils.normalRelativeAngle(gunTurn)); targetBearing = e.getBearingRadians(); targetDistance = e.getDistance(); targetEnergy = e.getEnergy(); double bulletPower = Math.min(3.0, targetEnergy / 4.0); double bulletSpeed = 20.0 - 3.0 * bulletPower; long bulletTravelTime = (long) (targetDistance / bulletSpeed); double futureX = getX() + Math.sin(targetBearing) * targetDistance; double futureY = getY() + Math.cos(targetBearing) * targetDistance; double dx = futureX - getBattleFieldWidth() / 2; double dy = futureY - getBattleFieldHeight() / 2; double angleToTarget = Math.atan2(dx, dy); double distanceToWall = Math.min(Math.min(getX(), getBattleFieldWidth() - getX()), Math.min(getY(), getBattleFieldHeight() - getY())); if (distanceToWall < 100 || Math.abs(getTurnRemaining()) < 5) { setTurnRightRadians(Utils.normalRelativeAngle(angleToTarget - getHeadingRadians())); setAhead(Double.POSITIVE_INFINITY); } setFire(bulletPower); setTurnRightRadians(Utils.normalRelativeAngle(angleToTarget - getHeadingRadians())); setAhead(Math.min(targetDistance, bulletTravelTime)); } public void onHitByBullet(HitByBulletEvent e) { double bulletBearing = e.getBearingRadians(); double bulletHeading = e.getHeadingRadians(); double bulletAngle = bulletBearing + bulletHeading; double oppositeAngle = bulletAngle + Math.PI; setTurnRightRadians(Utils.normalRelativeAngle(oppositeAngle - getHeadingRadians())); setAhead(100); } public void onHitWall(HitWallEvent e) { double wallBearing = e.getBearingRadians(); double wallHeading = wallBearing + Math.PI / 2.0; setTurnRightRadians(Utils.normalRelativeAngle(wallHeading - getHeadingRadians())); setAhead(100); } } ``` 该机器人主要思路是,在扫描到敌人后,计算出敌人的位置和运动状态,然后根据敌人的位置和运动状态计算出应该发射的子弹威力和方向,并进行相应的调整和移动,以保证能够击中敌人。同时,如果机器人被敌人的子弹击中或即将碰到墙壁,也会进行相应的调整和移动,以避免被击中或撞墙。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值