Difference between revisions of "WhiteWhale (robot)"
(Source code) |
(Started explaining how the bot works) |
||
Line 6: | Line 6: | ||
The current source code can be downloaded from [http://sites.google.com/site/dcvqksyb/robocode/kinsen.nano.WhiteWhale_1.0_src.jar http://sites.google.com/site/dcvqksyb/robocode/kinsen.nano.WhiteWhale_1.0_src.jar]. | The current source code can be downloaded from [http://sites.google.com/site/dcvqksyb/robocode/kinsen.nano.WhiteWhale_1.0_src.jar http://sites.google.com/site/dcvqksyb/robocode/kinsen.nano.WhiteWhale_1.0_src.jar]. | ||
+ | |||
+ | |||
+ | == How The Robot Works == | ||
+ | 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. | ||
+ | |||
+ | 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. | ||
[[Category:NanoBots]] | [[Category:NanoBots]] | ||
[[Category:Bots]] | [[Category:Bots]] |
Revision as of 05:13, 3 October 2009
This page is reserved for Kinsen's latest nanobot. This robot 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.
How The Robot Works
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.
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.