Difference between revisions of "WhiteWhale (robot)"

From Robowiki
Jump to navigation Jump to search
(Made an intro)
(→‎Performance: Rumble stats have stabilized)
 
(3 intermediate revisions by the same user not shown)
Line 12: Line 12:
 
WhiteWhale has a large, but limited memory. The calls to Java functions are stored in STRING_TABLE and the commands are stored in COMMANDS.
 
WhiteWhale has a large, but limited memory. The calls to Java functions are stored in STRING_TABLE and the commands are stored in COMMANDS.
  
The nanobot's most obvious shortcoming is its inability to do anything remotely object-oriented. There is no way to instantiate arbitrary objects.
+
The nanobot cannot do anything object-oriented. There is no way to instantiate arbitrary objects.
  
 
The architecture has proven to be a bit controversial.
 
The architecture has proven to be a bit controversial.
  
 
== Performance ==
 
== Performance ==
The interpreter robot is quite speedy compared to other bots due to various neat tricks, which you'll have to read the code to find out for yourself. :) Let's just say that it wasn't exactly a fast bot for a very long time.
+
The interpreter robot is quite speedy due to various neat tricks, which you'll have to read the code to find out for yourself. :) Let's just say that it wasn't exactly a fast bot for a very long time.
  
As far as the nanorumble goes, WhiteWhale currently beats all the bots except for 4.
+
As far as the nanorumble goes, WhiteWhale beats all the bots except for 1.
  
 
[[Category:NanoBots]]
 
[[Category:NanoBots]]
 
[[Category:Bots]]
 
[[Category:Bots]]

Latest revision as of 07:41, 9 October 2009

WhiteWhale is a nanobot. It builds on the work from NanoInterpreter.

The robot is in the RoboRumble.

NanoRumble ‒ APS: 77.96% (1st), PL: 147-4 (1st), Survival: 89.87%

The current source code can be downloaded from http://sites.google.com/site/dcvqksyb/robocode/kinsen.nano.WhiteWhale_1.0_src.jar.

Architecture

The robot understands a very small set of instructions: set, get, subtract, divide, if, call, and characterToInteger (CMD_SET, CMD_IF, CMD_SUBTRACT, CMD_DIVIDE, CMD_IF, CMD_CALL, and CMD_LITERAL). This instruction set provides the foundation for basic mathematical expressions. The expressions use prefix notation (e.g. + 5 2 instead of 5 + 2).

WhiteWhale has a large, but limited memory. The calls to Java functions are stored in STRING_TABLE and the commands are stored in COMMANDS.

The nanobot cannot do anything object-oriented. There is no way to instantiate arbitrary objects.

The architecture has proven to be a bit controversial.

Performance

The interpreter robot is quite speedy due to various neat tricks, which you'll have to read the code to find out for yourself. :) Let's just say that it wasn't exactly a fast bot for a very long time.

As far as the nanorumble goes, WhiteWhale beats all the bots except for 1.