Author Topic: Spinner (F2) (Moonfisher) 04-04-08  (Read 2407 times)

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Spinner (F2) (Moonfisher) 04-04-08
« on: April 04, 2008, 08:24:42 AM »
Was making a testbot to try out some new eyes for Lovebot, and it enden up as a league bot in itself:P
It beats the old F1 league, probably won't beat a lot of the new F1 bots.
Dunno how it does in F2, still can't download the league zip file and haven't spendt the time fetching all those bots manualy.
But it beats Multiply4 and the F2 bots in the F1 top 30...
Nothing fancy in here, only the eyes. Some basic shell and some more or less clever poison and venom.
Virtualy no tie and virus defences, just enough to make it through the old F1 league.

Code: [Select]
'Spinner (F2) 04-04-08
'by Moonfisher
'Originaly a test bot for a new eye setup.
'It worked so well I enden up making an F2 league bot from it.
'Nothing fancy in here except the eyes.

'------------------- vars
def seteyes 50
def seteyewidth 51
def seteyespace 52
def setoffset 53

def state 54


'-------------------- constants
def spineyewidth 0
def spineyespace 105
def spinoffset 140

def scaning 1


cond
*.robage 0 =
start
1 .seteyes store
.spineyewidth .seteyewidth store
.spineyespace .seteyespace store
.spinoffset .setoffset store
.scaning .state store
123 120 store
120 .memloc store
.shoot .vloc store
-2 .venval store
.shoot .ploc store
stop

cond
*.seteyes 1 =
start
*.setoffset .eye9dir store
*.setoffset *.seteyespace add .eye8dir store
*.setoffset *.seteyespace 2 mult add .eye7dir store
*.setoffset *.seteyespace 3 mult add .eye6dir store
*.setoffset *.seteyespace 4 mult add .eye5dir store
*.setoffset *.seteyespace 5 mult add .eye4dir store
*.setoffset *.seteyespace 6 mult add .eye3dir store
*.setoffset *.seteyespace 7 mult add .eye2dir store
*.setoffset *.seteyespace 8 mult add .eye1dir store
4 .focuseye store
0 .seteyes store
stop

cond
*.state .scaning =
*.eye9 0 >
*.memval 123 !=
start
*.refxpos *.refypos angle .setaim store
*.refxpos *.xpos sub abs *.refypos *.ypos sub abs pyth 10 div 20 sub 0 floor *.refvelup add .up store
*.refveldx .dx store
-6 .shoot store
*.nrg 20 div 10 ceil *.eye9 30 sub 0 floor sgn *.body 70 sub 0 floor sgn mult mult .shootval store
stop

cond
*.state .scaning =
*.eye9 0 >
*.memval 123 !=
*.robage 5 mod 0 =
*.venom 1 >
start
-3 .shoot store
0 .shootval store
stop

cond
*.state .scaning =
*.eye9 0 =
*.robage 20 mod 16 >=
*.robage 200 >= or
start
*.aim 35 add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.robage 20 mod 16 <
*.robage 200 <
start
20 .dx store
stop

cond
*.state .scaning =
*.eye9 0 !=
*.memval 123 =
*.robage 20 mod 16 >=
*.robage 200 >= or
start
*.aim 35 add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 !=
*.memval 123 =
*.robage 20 mod 16 <
*.robage 200 <
start
20 .dx store
stop

cond
*.robage 100 >=
*.robage 1000 <
*.eye9 0 =
*.robage 20 mod 10 >
start
20 .dx store
stop

cond
*.state .scaning =
*.eye9 0 =
*.robage 20 >
*.memval 123 = and or
*.eye1 0 >
start
*.aim *.eye1dir add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.robage 20 >
*.memval 123 = and or
*.eye2 0 >
start
*.aim *.eye2dir add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.robage 20 >
*.memval 123 = and or
*.eye3 0 >
start
*.aim *.eye3dir add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.robage 20 >
*.memval 123 = and or
*.eye4 0 >
start
*.aim *.eye4dir add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.robage 20 >
*.memval 123 = and or
*.eye5 0 >
start
*.aim *.eye5dir add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.robage 20 >
*.memval 123 = and or
*.eye6 0 >
start
*.aim *.eye6dir add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.robage 20 >
*.memval 123 = and or
*.eye7 0 >
start
*.aim *.eye7dir add .setaim store
stop

cond
*.state .scaning =
*.eye9 0 =
*.robage 20 >
*.memval 123 = and or
*.eye8 0 >
start
*.aim *.eye8dir add .setaim store
stop

cond
*.eye9 0 =
*.nrg 300 >
*.body 100 >
*.totalmyspecies 70 <
start
51 .repro store
stop

cond
*.eye9 0 =
*.nrg 500 >
*.body 100 >
*.totalmyspecies 70 >=
start
51 .repro store
stop

cond
*.nrg 200 >
*.body 500 <
*.totalmyspecies 70 > or
start
100 .strbody store
stop

cond
*.nrg 100 <
*.body 20 >
start
50 .fdbody store
stop

cond
*.shell 50 <
*.nrg 50 >
start
20 .mkshell store
stop

cond
*.venom 50 <
*.nrg 20 >
start
10 .strvenom store
stop

cond
*.shell 200 <
*.nrg 200 >
*.eye9 0 >
*.refeye *.myeye !=
start
200 *.shell sub .mkshell store
stop

cond
*.shflav -1 =
*.nrg 80 >
*.poison 0 =
start
50 .strpoison store
stop

cond
*.shflav 0 !=
*.shflav -2 !=
*.shflav -3 !=
*.nrg 80 >
*.venom 5 >
start
*.shang .setaim store
-3 .shoot store
10 .shootval store
stop

cond
*.shflav 0 !=
*.shflav -2 !=
*.shflav -3 !=
*.nrg 80 >
*.venom 5 <=
start
*.shang .setaim store
.setaim .shoot store
*.refaim 682 add .shootval store
stop

cond
*.shflav 0 !=
start
0 .shflav store
stop

cond
*.numties 0 >
start
*.tiepres .tienum store
.tieval .tieloc store
1000 .tieval store
*.tiepres .deltie store
stop

cond
*.vtimer 0 !=
start
0 .vshoot store
stop

cond
*.repro 0 !=
*.repro 51 !=
start
0 .repro store
stop

cond
*.delgene 0 !=
start
0 .delgene store
stop
« Last Edit: August 28, 2010, 04:55:40 PM by Shasta »