House Mortgage Mortgage Corp House Mortgage Mortgage Corp House Mortgage Mortgage Corp House Mortgage Mortgage Corp

S Housemortgagemortgagecorp House Szh 2009 03 Data Commodities Index House Mortgage Mortgage Corp Robocode中战场与机器人 - JAVA - 程序开发 - TechWeb-技术社区

S Housemortgagemortgagecorp House Szh 2009 03 Data Commodities Index House Mortgage Mortgage Corp

UID
2009 9 2009 searcha Szh a Szh &easearch Dsearcht searchssearch Data os Housemortgagemortgagecorp omm Commodities dtesearch searcht searchou House e Data osearchssearchmsearchr Data ggeor Szh g Data gcsearchr eo Data t Data agcsearchrp House c Housemortgagemortgagecorp D Data t Szh search D Commodities ta Commodities 2009 ouerh Housemortgagemortgagecorp Sz Index D Szh C Szh m Szh odit Data esearch Housemortgagemortgagecorp ap Szh easearchc2searche Commodities r Szh h0e Commodities r Index h Index
帖子
18205 
精华
32 
积分
29618 
阅读权限
100 
在线时间
465 小时 
注册时间
2006-10-17 
最后登录
2010-9-10 

版主

帖子
18205 
精华
32 
积分
29618 
最后登录
2010-9-10 
1#
打印
tT
发表于 2008-7-29 23:20 | 只看该作者

[转贴] Robocode中战场与机器人

在安装过程中,Robocode 将问您是否要使用这个外部的 Java VM 来编译机器人。您也可以选择使用作为 Robocode 分发包一部分而提供的 Jikes 编译器。
6 ]+ R: ]6 y9 V; f# \+ M
% U( U8 @5 G  a+ A    当激活 Robocode 时,将看到两个相关的 GUI 窗口,这两个窗口构成了 Robocode 的 IDE:4 m. ?& e9 V% H3 o# s: y
  U% _, d' h+ }3 w* d3 ^6 k% D+ ^

( E- l& t" ~* A6 h& y* `& b0 K8 G; |    战场
5 D0 V7 U+ r$ r+ \1 J5 J    Robot Editor, {})()" href="http://s.housemortgagemortgagecorp.com/j/House/Mortgage/Mortgage/Corp/szh/javascript:void(0);" title="分享到网易微博"> 转播 转播 转播 分享

charles 当前离线

UID
19414 
帖子
18205 
精华
32 
积分
29618 
阅读权限
100 
在线时间
465 小时 
注册时间
2006-10-17 
最后登录
2010-9-10 

版主

帖子
18205 
精华
32 
积分
29618 
最后登录
2010-9-10 
2#
发表于 2008-7-29 23:20 | 只看该作者
从这个角度而言,可以把robocode看作是回合制的游戏,每个回合各个robot设定要做些什么操作,即调用setXXX(),调用excute()完成本回合的操作设定。各个robot都设定完后,战斗模拟模块模拟执行各个robot的动作,并且在屏幕显示结果。下个回合,robot线程在excute()下面继续执行,直到再次调用excute()为止。4 f$ J- Y8 v  d, }5 H& x' m

" x+ ~5 s: D' R6 `; c; A9 e* X4 j    不过,setXXX()设定的操作,往往是在一个回合中执行不完的。在robocode中,一个回合是游戏中的一个时间单位,各个元素的运动都有一定的速度,需要一定单位的时间才能完成。如果上回合中设置的动作还没有完成,本回合又重新设定了,就会把新动作覆盖旧动作。- r) ]; w. B: K$ u
* g( P5 W/ A; S5 I
    事件处理函数 onXXX(),看起来是在事件发生的时候立即执行的,其实不然,还是要在回合中轮到这个robot的时候才能执行。而且若在队列中有多个事件,而某个事件处理函数调用了excute()结束了本回合的动作,那么剩下的事件就要等到下个回合才能处理了。因此,onXXX()改变的只是某个线程内部的执行次序,并不改变robot线程之间的执行次序。
返回列表
前沿技术
综合版块
建站版块
文档版块
安全版块