Author Topic: Symbioticus v2.1  (Read 2954 times)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Symbioticus v2.1
« on: January 24, 2006, 01:50:36 PM »
As discussed in the 'Does this count as a MB' thread  ^_^

' Symbioticus
'
' A tank with a battery ...
'
' Ties to a veg, pulls
' it close behind it and
' uses it as an energy
' source
'
' Version 2.0
' - Uses a modified version of Animal Minimalis' search pattern
' Version 2.1
' - Uses some better coding to save energy

def done 51

cond
start
.tie *.robage -1 mult 1 add mult inc
.tiepres .memloc *.robage -1 mult 1 add mult store
.deltie inc
stop

'*************************************************************

' Find and tie to a veggie

cond
*.robage 0 >
*.done 0 =
*.multi 0 =
*.eye5 0 >
*.eye5 45 <
*.refshoot 0 =
*.refaimdx 1 =
*.refeye 0 =
*.memval 86 !=
*.numties 0 =
start
40 .up store
stop

cond
*.robage 0 >
*.eye5 45 >
*.refshoot 0 =
*.refaimdx 1 =
*.refeye 0 =
*.memval 86 !=
*.numties 0 =
start
86 .tie store
stop

cond
*.robage 0 >
*.numties 0 =
*.eye5 0 =
*.memval 86 = or
*.refshoot 0 != or
*.refaimdx 1 != or
*.refeye 0 != or
start
314 rnd .aimdx store
stop

'*************************************************************

cond
*.numties 1 =
*.treffixed 1 =
start
86 .tienum store
.fixpos .tieloc store
0 .tieval store
stop

cond
*.numties 1 =
*.done 0 =
start
.done inc
628 .fixang store
-32000 .fixlen store
86 .tienum store
.fixang .tieloc store
628 .tieval store
86 .readtie store
stop

cond
*.numties 0 =
*.done 1 =
start
.done dec
stop

'*************************************************************

' When tied to a vegetable

cond
*.myeye *.trefeye =
start
*.tiepres .deltie store
stop

cond
*.numties 0 =
*.shell 0 >
start
0 *.shell sub .mkshell store
stop

'*************************************************************

' Sharing and producing

cond
*.done 1 =
*.multi 1 =
start
75 .sharenrg store
50 .shareslime store
50 .shareshell store
.sharewaste inc
*.pleas 3 div .strbody *.pleas sgn mult store
*.pleas 3 div .mkslime *.pleas sgn mult store
600 *.shell sub .mkshell store
stop

cond
*.done 1 =
*.multi 1 =
*.eye5 0 >
*.refeye *.myeye !=
*.memval 86 !=
start
-32 .shootval store
-6 .shoot store
stop

cond
*.done 1 =
*.multi 1 =
*.eye5 45 >
*.refeye *.myeye !=
*.memval 86 !=
start
32 .shootval store
-6 .shoot store
stop

cond
*.done 1 =
*.multi 1 =
*.eye5 0 =
*.memval 86 = or
*.refeye *.myeye = or
start
750 .dx store
30 .up store
stop

cond
*.done 1 =
*.multi 1 =
*.eye5 0 >
*.refeye *.myeye !=
*.memval 86 !=
start
*.refxpos *.refypos angle .setaim store
*.refveldx .dx store
stop

cond
*.done 1 =
*.multi 1 =
*.eye5 0 >
*.eye5 30 <
*.refeye *.myeye !=
*.memval 86 !=
start
*.refvelup *.refvelup add 100 add .up store
stop

'*************************************************************

' Reproduction

cond
start
10 .repro *.body 5000 sub sgn mult *.multi sgn mult store
100 .fdbody *.nrg -1 mult 100 add sgn mult store
stop

'*************************************************************

cond
*.shflav 0 !=
*.shflav -2 !=
*.multi 1 =
start
1256 *.shang sub .aimshoot store
64 .shootval store
-6 .shoot store
0 .shflav store
stop

cond
start
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
stop

end
« Last Edit: January 24, 2006, 01:52:41 PM by Elite »