AIBots ¬OA.I. Warsªº Perl ª©¥»¡A´£¨ÑTk¹Ï§Î¬É±¤Î¤å¦r¬É±¡C
aibots [-c -s -m -o -r] [Map] [Bot1 Bot2 ¡K]
³q±`¤£»Ý¥[¥ô¦ó°Ñ¼Æ¡C
-c: ¯Â¤å¦r¼Ò¦¡, -s: ÀRµ, -m: I´ºµ¼Ö, -o: ¶ÈÅã¥Ü°T®§, -r ¶ÈÅã¥Üµ²ªG.
¥ª¤U¨¤ªº¤U©Ô¦¡¿ï³æ¡A¦C¥X©Ò¦³¥i¥Îªº¦a¹Ï¨Ñ¨Ï¥ÎªÌ¿ï¨ú¡C
¥Î¤è¬A¸¹¬A°_¨Óªº¦a¹Ï(¦p[Solania])ªí¥Ü¤@Ó¡uÃö¥d¡v¡C
¤@¶}©lª±ªº¤H¥i¥H±qOpen©ÎArena¦a¹Ï¥Xµo¡C
³sÄò«ö³oÓ¶s¥i¥H«ö´«I´º¹Ï¡C
I´º¹Ï¹ï¹CÀ¸¹ê»Ú¶i¦æ¨ÃµL¼vÅT¡C
¦b¦a¹Ï¿ï³æ¥kÃä©M¤U¤èªº¤EÓBots¿ï³æ¡A¦C¥X©Ò¦³¥i¥ÎªºBotÀÉ¡C
«ö¤@¤UªÅ¥Õªº¿ï³æ´N¥i¥H·s¼W°ÑÁɪ̡C±N²{¦³ªº°ÑÁɪ̧ï¿ï¦¨³Ì¤W±ªºªÅ¥Õ¿ï¶µ´N¥i¥H§R°£¡C
¦b¤ñÁɶi¦æ¤¤¥i¥H«ö¨CÓBot¥ªÃ䪺ºÊ¬Ý¶s¡A±NºÊ¬Ý¥Ø¼Ð¤Á´«¦Ü¸ÓBot¡C³QºÊ¬ÝªºBot¸ê®Æ·|Åã¥Ü¦b¥ª¤W¤èªºª¬ºA¦C¤¤¡C
Åã¥Ü§@ªÌ¤Îµ{¦¡ª©¥»¸ê°T¡C
¿ï¦n¦a¹Ï¤Î°ÑÁɪ̫á¡A±Ò°Ê¶s·|«G°_¨Ó¡C«ö¤@¤U¡A¤ñÁÉ´N·|¶}©l¡C¨CÓBot·|¨Ì·Óµ{¦¡¦Û¤v¨M©w¦æ°Ê¡A¨Ï¥ÎªÌ¤£¶·±±¨î¡C
¦b¤ñÁɤ¤ÀH®É¥i¥H«ö¤U¼È°±¡F¦A«ö¤@¦¸´NÄ~Äò¡C
¤ñÁɳq±`¶i¦æ¨ì½L±¤W¯³Ñ¦P¤@¶¤ªºBot®Éµ²§ô¡C¦pªG¦b¦¹¤§«e³Ót¤w¸g¤À¾å¡B¨Ï¥ÎªÌ§P©wBots©¼¦¹¦A¤]¹J¤£¨ì¡A©Î°ò©ó¥ô¦ó§Oªºì¦]¡A³£¥i¥H«ö°±¤î¶s¤¤¤î¹CÀ¸¡C
¦b½wºC¡B¤¤µ¥¡B§Ö³t°õ¦æ¶¡¤Á´«¡C¦b±µªñ¾Ô®É¥i¥H½Õ¾ã¦¨¡uºC°Ê§@¡v¼½©ñ¡A¦ÓµL²áªº¬q¸¨§Ö³t±²¹L¥h¡C
¦pªG¦w¸Ë¤FWin32::Sound¼Ò²Õ¡AAIBotsÁÙ¥i¥H¼½©ñµ®Ä¡C¤£·QÅ¥®É¥i¥H«öµ®Ä¶s®øµ¡C¦A«ö¤@¦¸¦^´_¡C
¦b¹CÀ¸¶i¦æ®É¡A¥ª¤W¨¤ªº¶Â¦â«ö¶s·|Åã¥Ü¥Ø«e¥¿¦bºÊ¬ÝªºBot¡F¨Ï¥ÎªÌ¥i¥H«ö¸Ó«ö¶s¤Á´«¥Ø¼Ð¡C
³QºÊ¬ÝªºBot®ÇÃä·|¦³¹Ï§Î³ò¦í¡A¥¦ªº¥Ø«eª¬¯à¤]·|Åã¥Ü¦b¤W¤èªºª¬ºA¦C¤W¡A¨Ò¦p¦b¶}³õ®É¡G
[Mage-2] Score: 0 Ammo: 30 Life: 10 Fuel: 2499 [Turn Right]
¤À§Oªí¥ÜBotªººØÃþ(Mage)¡B½s¸¹(2)¡B¥Ø«e±o¤À(0)¡B³Ñ¾l¼uÃÄ(30)¡B¥Í©RÈ(10)¡Bªo®Æ(2499)¡B¦¹¦^¦Xªº¦æ°Ê(¦V¥kÂà)¡C
¥t¥~¡Aµøµ¡¼ÐÃD·|Åã¥Ü(Tick: 1)¡Aªí¥Ü³o¬O²Ä¤@¦^¦X¡C
¦bAIBots¤¤¡A¨Ï¥ÎªÌ¤ñªº¤£¬O¤ÏÀ³¡A¦Ó¬O©¼¦¹¼gµ{¦¡ªº¯à¤O¡C
¤@³õ¹CÀ¸ªº³Ót¡A¬O¾aBots²Ö¿nªº¤À¼Æ¨M©w¡CÀò±o¤À¼Æ³Ì¥Dnªº¤è¦¡´N¬O¹ï§O¶¤ªºBots³y¦¨¶Ë®`¡C¥t¥~¡A³Ì«á¦s¬¡ªºBot¦³500¤Àªº¼ú¤À¡C
n³y¦¨¶Ë®`»ÝnªZ¾¹¡CBotsµo®g¤@¯ëªZ¾¹(¯à¶qªi°£¥~)»Ýn¼uÃÄ¡CBotªº¥Í©RÈ¥Nªí¥i¥H©Ó¨üªº¶Ë®`¡A±¼¨ì¹s´N°}¤`¤F¡AÅܦ¨¤@±ºX¤l¡C
BotªºÂà¦V¡B²¾°Ê¤Îµo®g¸¼u³£»Ýnªo®Æ¡Cªo®Æ¯ÓºÉ®É¡A³o¨Ç°Ê§@³£¤£¯à¶i¦æ¡CBot¨ü¶Ë·U«¡A¯Óªo²v·U¤j¡C
¥Í©RÂI¼Æ©M¼uÃĤ£·|¦Û¤v«¥Í¡A¦ý¯à¦bBot¨«¨ìºX¤l¡B¼uÃÄ®w¡B¾Ô²¤nÂIµ¥¯S®íª««~¤W®É¸É¥R¡C
¨CÓ¦^¦X(Tick)¦b³õªº©Ò¦³Bots¦U½ü¬y°õ¦æ¤@Ó¦æ°Ê©R¥O¡A¦A´«¤UÓ¦^¦X¡C
¨CÓBotªºÀY¦V¨M©wµo®gªZ¾¹¡B«e¶i¤Î«á°hªº¤è¦V¡C
Bot¤£·|Å|¦b¤@°_¡C¨«¨ì§OªºBot¤W·|¸I¾À(bump)¡C
¹CÀ¸¶}©l®É¡ABotsÀH¾÷¥X²{©ó¶i¤JÂI¤W¡C
¦³¨Ç¶i¤JÂI¥i¥H¯S§O«ü©úµ¹¬YÓBot.
¶i¤JÂI¦b¹CÀ¸¶}®É«áµø¦PªÅ¦a¡A¤£°_§@¥Î¡C
¥ÛÀ𤣯à¬ï³z¡A¤£¯àÀ»¯}¡C
¸GÀ𤣯à¬ï³z¡A¥i¥H¥Î¥ô¦óªZ¾¹À»¯}¡C
¨«¨ìºX¤l¤WªºBotY¤w¨ü¶Ë¡A¦Y±¼ºX¤l¥i¸Éº¡¥Í©RÈ¡B¥[30ÂI¼uÃÄ¡B350ÂIªo®Æ¡FY¥Í©RȬ°º¡¡A«h¦Y±¼ºX¤l·|¨Ï¥Í©RÈ´î5ÂI¡C
¨«¨ì¦a¹p¤WªºBot¥Í©RÈ´î5ÂI¡A¿Uªo²v¼W¥[5¡C¦pªG¬O¼Ä¤è§Gªº¹p¡A§G¹pªÌ¥[400¤À¡C
¨«¨ì¼uÃÄ®w¤WªºBot¥[20ÂI¼uÃÄ¡C
¥ô¦óªZ¾¹¥´¨ì¼uÃÄ®w³£·|³y¦¨Ãz¬µ¡A¹ï¶gÃä¤@®æ¤ºªºBot¦U¶Ë3ÂI¡A¿Uªo²v¼W¥[3¡C
Â\¦b¤@°_¼uÃÄ®w·|³sÂêÃz¬µ¡C
°±¦b¾Ô²¤nÂI¤WªºBot¨C5¦^¦X¥[1ÂIªo®Æ¡A10¦^¦X¥[1ÂI¼uÃÄ¡A15¦^¦X¥[¤@ÂI¥Í©RÈ¡C¥Í©Rȸɺ¡¬°¤î¡C
¹p®g¬O³Ì°ò¥»ªºªZ¾¹¡A®ø¯Ó1ÂI¼uÃÄ¡A®gµ{¬°«e¤è¤®æ¡A¥´¨ìªF¦è´N°±¤î¡C
¨S¶}Å@¬ÞªºBot¦b5®æ¤º·|¨ü(6-¶ZÂ÷)ÂI¶Ë®`¡C¶}Å@¬ÞªºBot¯¦³¦b³Ìªñªº2®æ¨ü(3-¶ZÂ÷)ÂI¶Ë®`¡C
¹p®g³y¦¨ªº¿Uªo¶Ë®`»P¥Í©Rȶˮ`¬Û¦P¡C
®ø¯Ó10ÂI¼uÃĤÎ300ÂIªo®Æ¡Aµo®g«á¥H¨C¦^¦X¤@®æªº³t¦V«e¤è¸¡A¥´¨ìªF¦è´NÃz¬µ¡A¹ï¶gÃä¤@®æ¤ºªºBot³y¦¨7(µLÅ@¬Þ)©Î4(¦³Å@¬Þ)ÂI¶Ë®`¡C
³Qª½À»ªºBot¨ü9©Î6ÂI¶Ë®`¡AµøÅ@¬Þª¬ºA¨M©w¡C
¿Uªo¶Ë®`»P¥Í©Rȶˮ`¬Û¦P¡C
®ø¯Ó5ÂI¼uÃĤÎ200ÂIªo®Æ¡Aµo®g«á¥H¨C¦^¦X¤@®æªº³t¦V«e¤è¸¡A¥´¨ìªF¦è´NÃz¬µ¡A¹ï¶gÃä¤@®æ¤ºªºBot³y¦¨5(µLÅ@¬Þ)©Î2(¦³Å@¬Þ)ÂI¶Ë®`¡C
³Qª½À»ªºBot¨ü7©Î4ÂI¶Ë®`¡AµøÅ@¬Þª¬ºA¨M©w¡C
ª½À»¿Uªo¶Ë®`¬°12©Î9ÂI¡Aªi¤Î®É4©Î1ÂI¡C
¯à¶qªi®ø¯Ó1ÂI¥Í©RÈ¡A¹ï©P³ò¤@®æ¤ºªº©Ò¦³Bot³y¦¨2ÂI¶Ë®`¤Î2ÂI¿Uªo¶Ë®`¡C
¯à¶qªi¬O±©¤@¥i¥H®ø°£¶gÃä¦a¹p¤ÎºX¤lªºªZ¾¹¡C
¦ÛÃz¹ï©P³ò¤@®æ¤ºªº©Ò¦³Bot³y¦¨¬Û¦P©ó³Ñ¾l¥Í©RȪº¶Ë®`¡A¤Î¦Pµ¥ªº¿Uªo¶Ë®`¡C
¦ÛÃz«áªºBot¤£·|Åܦ¨ºX¤l¡C
Å@¬Þ¥i³B©óª@°_(enable)©Î¸¨¤U(disable)ª¬ºA¡C
ª@°_®É¨üªº¶Ë®`·|´î¤Ö¡A¦ý¤£¯àµo®g°£¯à¶qªi¥~ªºªZ¾¹¡C·íµM¥i¥H¦ÛÃz¡C
¶}±Ò(enable)§G¹pªºBot·|¦b¤§«á²¾°Ê®É©óì¥ý©Ò¦b¦ì¸m§G¹p¡A¨C¦¸»Ý®ø¯Ó5ÂI¼uÃÄ¡C
¶}±Ò(enable)Áô§ÎªºBot¤£·|³Q¨ä¦oBotªº$enemy_[x/y/h]¤Î$friend[x/y/h]°»´ú¨ì¡C
Áô§Î¨C¦^¦X®ø¯Ó10ÂIªo®Æ¤Î2ÂI¼uÃÄ¡C
Bazooka/¤õ½b¬¶ ª½À»: µLÅ@¬Þ+500, ¦³Å@¬Þ+300. ªi¤Î: µLÅ@¬Þ+400, ¦³Å@¬Þ+200.
Grenade/ºh¼u¬¶ ª½À»: µLÅ@¬Þ+500, ¦³Å@¬Þ+300. ªi¤Î: µLÅ@¬Þ+200, ¦³Å@¬Þ+100.
Laser/¹p®g ¹ê»Ú¶Ë®` * 20
Destruct/¦ÛÃz ¹ê»Ú¶Ë®` * 50
Energy/¯à¶qªi +100
Vault/¤ÞÃz¼uÃÄ®w +200
Mine/§G¹p +400
Ø ¨C1ÂI¥Í©RÈ¥[50¤À, §C©ó¹s¨C1ÂI¦©50¤À
Ø ¦]¶Ë®`³y¦¨ªº¯Óªo²v(burn rate) ¨C1ÂI¦©1¤À
Ø ³Ì«á¦s¬¡ªº¶¤¥î¦¨û¥¤À500¤À
$name, $author
$team
$pic
$shield, $laymine, $cloak
$bumped, $found
$score, $burn
$fuel, $max_fuel
$ammo, $max_ammo
$life, $max_life
$x, $y, $h
$enemy_x, $enemy_y, $enemy_h
$friend_x, $friend _y, $friend_h
$snode_x, $snode_y
$id, $botcount
$lastcmd
$state, $line
scan front, scan left, scan right;
scan perimeter;
scan cross, scan corner;
scan longrange;
scan position [1..9];
scan relative [1..9];
scan gps $x, $y;
move forward, move backward;
turn left, turn right;
fire energy;
fire laser;
fire bazooka;
fire grenade, fire grenade $d;
enable/disable shield;
enable/disable laymine;
enable/disable cloak;
attempt repair;
attempt destruct;
beam fuel/ammo/command;
&nearst(¡§friend¡¨|¡¨enemy¡¨)
&inperim(¡§friend¡¨|¡¨enemy¡¨)
&headto(¡§friend¡¨|¡¨enemy¡¨)
&found(¡§$obj1|$obj2|¡K¡¨)
&bumped(¡§$obj1|$obj2|¡K¡¨)
&damaged()
&ready($weapon)
&onnode()
&turnto(2|4|6|8)
&distance($x, $y)
&toggle()
if ($condition) {¡K}
unless($condition) {¡K}
elsif ($condition) {¡K}
else {¡K}
¡K if/unless ($condition)
LABEL: {¡K}
redo;
goto LABEL;
call LABEL;
return;
=background I´º
=bot[1..9] ¤º©wBot
=sound ¶}³õÁnµ
=snode x, y¾Ô²¤nÂI®y¼Ð