zoukankan      html  css  js  c++  java
  • Robocode教程4——Robocode的游戏物理

    摘自:http://site.douban.com/widget/notes/7736245/note/210261658/

     

    Robocode/游戏物理
    现在我们来了解Robocode的一些物理参数。
    坐标系统:Robocode采用了笛卡尔坐标系统,也就是我们最常用的左下角为(0,0)点。这与通常的java与c++编程有所区别。

    方向约定:
    【绝对方向系】:Robocode中不管机器人在哪个方向都是以静态战场屏幕为参照物的绝对角度(Heading),正上方为0度角。即是向北为0,向东为90,向南为180,向西为270。
    【相对方向系】:相对方向是以机器人的动态heading角度为参照物的角度差,不再以整个静态屏幕为参照了。叫它相对是因为机器人的heading是随着机器人移动而不停的在改变,heading只是个相对物体。
    【Heading】:是机器人方向与屏幕正上方的角度差,方向在0到360之间。
    【Bearing】:是机器人的某个部件如雷达发现的目标与方向的角度差,顺时针为正角度在-180到180之间。
            具体如下图所示:

     


     
    Heading和Bearing的概念非常重要,这是一切控制的基础,必须掌握好。


    时间和距离:
            Robocode的基本时间单位是“ticks”,每个robo每ticks 运动一个单位。Robocode的距离单位是像素,但是应该注意的是Robocode里面的距离distance是Double类型的数据,所以移动1.2个像素是可以实现的,另外,为了适应屏幕,Robocode里面的一个像素是要比真正的一个像素要小一些。


    其他运动物理:
          前进速度:坦克最大的速度(Velocity)为8,凼数getVelocity()迒回了坦克当前
    的速度。 
          加/减速度:加速度为 1 像素(pixel)/帧frame ,减速度为 2 pixel/frame。 
          参考公式: 设s为距离,Vt为终速度,Vo为初速度,t为时间,a 为加速度: 
          位秱公式 s=Vo*t+a*t*t/2 
          速度公式 Vt =Vo +a*t 
          平均速度公式 v=(Vt + Vo)/2=s/t 
          加速度公式 a=(Vt - Vo)/t 
    更多物理规则见《robocode游戏规则》

  • 相关阅读:
    易语言破解与安装
    用 AS3.0 的 fscommand 命令调用 .exe 文件。
    swf批量导出
    pureMVC java版搭建流程
    PureMVC 框架总结收录
    一些算法
    练习3.34
    关于数组的注意事项
    练习3.30、3.33
    练习3.27、3.28、3.29
  • 原文地址:https://www.cnblogs.com/KeenLeung/p/2554150.html
Copyright © 2011-2022 走看看