Robocode学习笔记(二)
来源:互联网 发布:网络兼容模式怎么设置 编辑:程序博客网 时间:2024/05/02 04:32
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
很多研究Robocode的 玩家都被其中的方向及坐标弄糊涂了。整个屏幕哪个是0度角,整个是坐标原点呢? 顺时针与逆时针的方向如何区分?
一段英文的翻译及说明:
- heading - absolute angle in degrees with 0 facing up the screen, positive clockwise. 0 <= heading < 360.
- bearing - relative angle to some object from your robot's heading, positive clockwise. -180 < bearing <= 180
- heading:是机器人方向与屏幕正上方的角度差,方向在0到360之间.
- bearing:是机器人的某个部件如雷达发现的目标与方向的角度差,顺时针为正角度在-180到180之间
几个在Robocode中很重要的概念:
- 坐标系:Robocode整个坐标系都是战场屏幕以左下角为原点
- 绝对方向系:Robocode中不管机器人在哪个方向都是以静态战场屏幕为参照的绝对角度(也即大家说的Heading),正上方为0度角。也即不管是Robot,Gun,Radar向北为0,向东为90,向南为180,向西为270。
- 相对方向系:相对方向是Robot,Gun,Radar以机器人的动态heading角度为参照的角度差不再以整个静态屏幕为参照了,叫它相对因为机器人的heading是随着机器人移动而不停的在改变,heaing只是个相对物体。
- 顺时针和逆时针是看另一机器人是在你的Heading角度的(0,180)还是(-180,0)之间。
再次提醒:Heading是个静态角度,正上方总为0.不管是取Heading,还是取方向。Bearing是个角度差值,是由参照的Heading和发现时的Heading的差值。好了,方向的问题就说到这,欢迎大家来讨论。
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script><script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- Robocode学习笔记(二)
- Robocode学习笔记(一)
- Robocode学习笔记(三)
- Robocode学习笔记(四)
- Robocode学习笔记的连接
- robocode 笔记
- robocode学习系列(一)--基础内容
- Robocode---风靡全世界的Java学习软件(转载)
- Robocode(坦克大战)
- Robocode
- Robocode
- 学习笔记(二)
- 学习笔记(二)
- 学习笔记(二)
- 学习笔记(二)
- 学习笔记(二)
- 学习笔记(二)
- 学习笔记(二)
- Eclipse+JBoss+MySQL开发环境设置
- JDBC系列教程(一)---连接
- JDBC系列教程(三)---语句
- ANT(1.6)高级特性:模块化
- 在Ant中引用外部的任务
- Robocode学习笔记(二)
- 使用Eclipse3.0开发Servlet
- AOP分离权限关注 - 补遗
- 在Eclipse中运行Ant
- 疯了的Hibernate(4) -- 由数据库生成映射文件
- 使用ANT协助开发java项目
- EJB的专用术语解释
- 在Linux下搭建Web应用环境(原创)
- 移除ArrayList内重复数据的两个方法