Oritaka is a BWAPI bot for Terran. Its main design concept is rule-base. Used units are SCV, Marine, Command Center, Supply Depot, and Barracks. Oritaka's SCV can collect resource such as minerals and gas, build structures, and scout the enemy bases. Barracks generates Marines. When Marines are built up a certain number, they attack the enemy bases at once.
Oritaka.cpp consists of onStart and onFrame. A function onStart is called at first. It does terrain analysis with BWTA and initialize parameters. A function onFrame is called every frame. It consists of drawing debug information, preprocessing, allocation of instruction, execution of instruction.
As debug information, the number of units of their own at each type, the number of enemy units that are in sight, frame count, elapsed time of the game, map name, the place of mineral and oil field, appropriate place to build a resource depot, and name, id, order at each units are displayed.
At preprocessing, the information used in the conditional expression at assignment instruction are calculated.
At allocation of instruction, my units are classified by their type and allocated order with rule-base. When some worker are allocated building order, mineral_reserve that is necessary to ensure resources will be defined.
At execution of instruction, my units are classified into tasks: task_train_scv, task_train_marine, task_set_rally_point, task_scout, task_attack, task_escape, task_build_command_center, task_refinary, task_build_supply_depot, task_build_barracks.