cond *.edge 0 = start 40 40 angle .setaim store 30 *.vel sub .up store stop cond start .delgene *.edge mult inc stop cond start .fixpos *.fixed mult dec 9 inc stop cond *.robage 0 = start 50 1 rnd mult inc stop cond *.nrg 300 > *50 0 = start 50 inc stop cond *.eye5 50 > *.refeye *.myeye != start -1 *.refage *.refage div mult .shoot store stop cond *.refeye 0 = start .tie inc stop cond *.numties 4 = start .fixpos inc stop cond *50 0 != *.vel 20 < *.numties 0 = *.eye5 50 < start 20 *.vel sub 2 div rnd .up store stop cond *.eye2 *.eye8 != start *.eye2 *.eye8 sub 2 div .aimsx store stop cond *.eye4 *.eye6 != start *.eye4 *.eye6 sub .aimsx store stop cond *.refeye *.myeye = start 314 rnd .aimsx store stop cond *.nrg 10000 > start 300 inc stop cond start *.genes *.thisgene *.genes sub sgn 1 add sub .delgene *20 sgn - 1 add mult store 20 inc *.chlr .rmchlr store .tie *.refeye *.myeye sgn abs mult inc *.eye7 *.eye3 sub .aimdx store 10 .up store 0 .aimsx store 50 .mkslime 50 *.slime sub sgn 0 floor mult store *.thisgene .mkvirus store 1 .vshoot store stop '/*****proper reproduction 1 cond *.nrg 20000 > start 50 .repro store 'if time to reproduce store it 1 972 store stop cond '/after robot reproduces it reproduces more until energy less then 3000 *972 1 = start 50 .repro store stop '***** 2 cond *.nrg 3000 < start 0 972 store stop end