Author Topic: BotBot(F2)(bacillus)15.05.08  (Read 2822 times)

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
BotBot(F2)(bacillus)15.05.08
« on: May 15, 2008, 03:09:29 AM »
This bot grows large, like its predecessor Colossus, but when it reaches the body threshold, starts reproducing like mad. Each bot may produce hundreds of offspring at a time.

Code: [Select]
def mode 50

cond
 *.robage 0 =
start
 7890 .out10 store
 80 .eye1dir store
 60 .eye2dir store
 40 .eye3dir store
 20 .eye4dir store
 -20 .eye6dir store
 -40 .eye7dir store
 -60 .eye8dir store
 -80 .eye9dir store
 20 .eye1width store
 20 .eye2width store
 20 .eye3width store
 20 .eye4width store
 20 .eye5width store
 20 .eye6width store
 20 .eye7width store
 20 .eye8width store
 20 .eye9width store
stop

cond
 *.robage 5 <
 *.nrg 1000 <
start
 180 .dx store
 2 .mode store
stop

start
 3 .up store
 *.nrg 3 div *.body sub dup .strbody store - .fdbody store
 -4 *.eye1 *.eye9 sub sgn 0 floor mult *.eye1 *.eye8 sub sgn 0 floor mult *.eye1 *.eye7 sub sgn 0   

floor mult *.eye1 *.eye6 sub sgn 0 floor mult *.eye1 *.eye5 sub sgn 0 floor mult *.eye1 *.eye4 sub   

sgn 0 floor mult *.eye1 *.eye3 sub sgn 0 floor mult *.eye1 *.eye2 sub sgn 0 floor mult 4 *.eye9     

*.eye8 sub sgn 0 floor mult *.eye9 *.eye7 sub sgn 0 floor mult *.eye9 *.eye6 sub sgn 0 floor mult
 *.eye9 *.eye5 sub sgn 0 floor mult *.eye9 *.eye4 sub sgn 0 floor mult *.eye9 *.eye3 sub sgn 0 floor

 mult *.eye9 *.eye2 sub sgn 0 floor mult *.eye9 *.eye1 sub sgn ++ sgn mult add -3 *.eye2 *.eye9 sub 

 sgn ++ sgn mult *.eye2 *.eye8 sub sgn 0 floor mult *.eye2 *.eye7 sub sgn 0 floor mult *.eye2 *.eye6

 sub sgn 0 floor mult *.eye2 *.eye5 sub sgn 0 floor mult *.eye2 *.eye4 sub sgn 0 floor mult *.eye2   

 *.eye3 sub sgn 0 floor mult *.eye2 *.eye1 sub sgn ++ sgn mult add 3 *.eye8 *.eye9 sub sgn ++ sgn   

 mult *.eye8 *.eye7 sub sgn 0 floor mult *.eye8 *.eye6 sub sgn 0 floor mult *.eye8 *.eye5 sub sgn 0 

 floor mult *.eye8 *.eye4 sub sgn 0 floor mult *.eye8 *.eye3 sub sgn 0 floor mult *.eye8 *.eye2 sub 

 sgn ++ sgn mult *.eye8 *.eye1 sub sgn ++ sgn mult add -2 *.eye3 *.eye9 sub sgn ++ sgn mult *.eye3   

 *.eye8 sub sgn ++ sgn mult *.eye3 *.eye7 sub sgn 0 floor mult *.eye3 *.eye6 sub sgn 0 floor mult
 *.eye3 *.eye5 sub sgn 0 floor mult *.eye3 *.eye4 sub sgn 0 floor mult *.eye3 *.eye2 sub sgn ++ sgn 

 mult *.eye3 *.eye1 sub sgn ++ sgn mult add 2 *.eye7 *.eye9 sub sgn ++ sgn mult *.eye7 *.eye8 sub   

 sgn ++ sgn mult *.eye7 *.eye7 sub sgn 0 floor mult *.eye7 *.eye6 sub sgn 0 floor mult *.eye7 *.eye5

 sub sgn 0 floor mult *.eye7 *.eye4 sub sgn ++ sgn mult *.eye7 *.eye2 sub sgn ++ sgn mult *.eye7     

*.eye1 sub sgn ++ sgn mult add -1 *.eye4 *.eye9 sub sgn ++ sgn mult *.eye4 *.eye8 sub sgn ++ sgn     

mult *.eye4 *.eye7 sub sgn ++ sgn mult *.eye4 *.eye6 sub sgn 0 floor mult *.eye4 *.eye5 sub sgn 0   

floor mult *.eye4 *.eye3 sub sgn ++ sgn mult *.eye4 *.eye2 sub sgn ++ sgn mult *.eye4 *.eye1 sub     

sgn ++ sgn mult add 1 *.eye4 *.eye9 sub sgn ++ sgn mult *.eye4 *.eye8 sub sgn ++ sgn mult *.eye4   

*.eye7 sub sgn ++ sgn mult *.eye4 *.eye6 sub sgn ++ sgn mult *.eye4 *.eye5 sub sgn 0 floor mult
 *.eye4 *.eye3 sub sgn ++ sgn mult *.eye4 *.eye2 sub sgn ++ sgn mult *.eye4 *.eye1 sub sgn ++ sgn   

 mult add 0 *.eye5 *.eye9 sub sgn ++ sgn mult *.eye5 *.eye8 sub sgn ++ sgn mult *.eye5 *.eye7 sub   

 sgn ++ sgn mult *.eye5 *.eye6 sub sgn ++ sgn mult *.eye5 *.eye4 sub sgn ++ sgn mult *.eye5 *.eye3   

sub sgn ++ sgn mult *.eye5 *.eye2 sub sgn ++ sgn mult *.eye5 *.eye1 sub sgn ++ sgn mult add

.focuseye store
stop

cond
 *.mode 0 =
start
 150 *.slime sub .mkslime store
 50 *.shell sub .mkshell store
 20 *.poison sub .strpoison store
 .shoot .ploc store
stop

cond
 *.in10 *.out10 !=
start
 *.refxpos *.refypos angle .setaim store
stop

cond
 *.mode 0 =
 *.body 30000 >
start
  .mode inc
stop

cond
 *.mode 2 =
 *.body 500 >
start
 0 .mode store
stop

cond
 *.mode 1 =
 *.nrg 1000 >
start
 32000 *.nrg div .repro store
 314 rnd .aimdx store
stop

cond
 *.eye5 40 >
 *.in10 *.out10 !=
start
 *.mode -- abs 15 mult ++ .shootval store
 -5 *. mode 2 sub sgn abs mult -- .shoot store
stop

cond
 *.mode 1 =
 *.nrg 500 <
start
 .mode dec
stop
« Last Edit: May 09, 2014, 11:07:58 AM by Botsareus »
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan