Bots and Simulations > Bot Tavern

Martian Tank

(1/4) > >>

Martian:
This is my first bot.
I did post the bot in the Bestiary but I would like some comments on this.

'Martian Tank
'By Martin Welgemoed, Martian in the DB Forum
'
'Thanks PY for simplebot tutorial
'Thanks to Elite for the counter attacking gene, the turning gene, the accuracy gene and the venom and poison tutorials

cond
 *.robage 0 =
start
 .tie inc
stop

cond
*.robage 1 =
start
.deltie inc
stop

Cond
*.refeye *.myeye !=
*.eye1 *.eye2 >=
*.eye1 *.eye3 >=
*.eye1 *.eye4 >=
*.eye1 *.eye5 >=
*.eye1 *.eye6 >=
*.eye1 *.eye7 >=
*.eye1 *.eye8 >=
*.eye1 *.eye9 >=
start
mult -140
stop

cond
*.refeye *.myeye !=
*.eye9 *.eye2 >=
*.eye9 *.eye3 >=
*.eye9 *.eye4 >=
*.eye9 *.eye5 >=
*.eye9 *.eye6 >=
*.eye9 *.eye7 >=
*.eye9 *.eye8 >=
*.eye9 *.eye1 >=
start
mult 140
stop

cond
*.refeye *.myeye !=
*.eye2 *.eye9 >=
*.eye2 *.eye3 >=
*.eye2 *.eye4 >=
*.eye2 *.eye5 >=
*.eye2 *.eye6 >=
*.eye2 *.eye7 >=
*.eye2 *.eye8 >=
*.eye2 *.eye1 >=
start
mult -105
stop

cond
*.refeye *.myeye !=
*.eye8 *.eye9 >=
*.eye8 *.eye3 >=
*.eye8 *.eye4 >=
*.eye8 *.eye5 >=
*.eye8 *.eye6 >=
*.eye8 *.eye7 >=
*.eye8 *.eye2 >=
*.eye8 *.eye1 >=
start
mult 105
stop

cond
*.refeye *.myeye !=
*.eye3 *.eye9 >=
*.eye3 *.eye8 >=
*.eye3 *.eye4 >=
*.eye3 *.eye5 >=
*.eye3 *.eye6 >=
*.eye3 *.eye7 >=
*.eye3 *.eye2 >=
*.eye3 *.eye1 >=
start
mult -70
stop

cond
*.refeye *.myeye !=
*.eye7 *.eye9 >=
*.eye7 *.eye8 >=
*.eye7 *.eye4 >=
*.eye7 *.eye5 >=
*.eye7 *.eye6 >=
*.eye7 *.eye3 >=
*.eye7 *.eye2 >=
*.eye7 *.eye1 >=
start
mult 70
stop

cond
*.refeye *.myeye !=
*.eye4 *.eye9 >=
*.eye4 *.eye8 >=
*.eye4 *.eye7 >=
*.eye4 *.eye5 >=
*.eye4 *.eye6 >=
*.eye4 *.eye3 >=
*.eye4 *.eye2 >=
*.eye4 *.eye1 >=
start
mult -35
stop

cond
*.refeye *.myeye !=
*.eye6 *.eye9 >=
*.eye6 *.eye8 >=
*.eye6 *.eye7 >=
*.eye6 *.eye5 >=
*.eye6 *.eye4 >=
*.eye6 *.eye3 >=
*.eye6 *.eye2 >=
*.eye6 *.eye1 >=
start
mult 35
stop

cond
*.refeye *.myeye !=
*.eye5 *.eye9 >=
*.eye5 *.eye8 >=
*.eye5 *.eye7 >=
*.eye5 *.eye6 >=
*.eye5 *.eye4 >=
*.eye5 *.eye3 >=
*.eye5 *.eye2 >=
*.eye5 *.eye1 >=
start
mult
stop

cond
 *.eye5 0 >
 *.refeye *.myeye !=
start
 *.refxpos *.refypos angle .setaim store
 *.refveldx .dx store
 *.refvelup 30 add .up store
stop

cond
 *.eye5 0 >
 *.refeye *.myeye =
start
rnd .amdx store
50 .up store
stop

cond
start
.aimdx store
stop

cond
 *.nrg 5100 >
start
 50 .repro store
 100 .strbody store
stop

cond
*.eye1 = 0
*.eye2 = 0
*.eye3 = 0
*.eye4 = 0
*.eye5 = 0
*.eye6 = 0
*.eye7 = 0
*.eye8 = 0
*.eye9 = 0
*.robage 50 mod = 0
start
rnd .amdx store
stop

cond
*.eye1 = 0
*.eye2 = 0
*.eye3 = 0
*.eye4 = 0
*.eye5 = 0
*.eye6 = 0
*.eye7 = 0
*.eye8 = 0
*.eye9 = 0
start
100 .up store
stop

cond
*.shflav 0 !=
*.shflav -2 !=
start
*.shang .aimshoot store
32 .shootval store
-6 .shoot store
0 .shflav store
stop

cond
 *.venom 200 <
start
 100 .strvenom store
stop

cond
*.eye5 30 <
*.refeye *.myeye !=
*.refeye 0 >
start
-3 .shoot store
stop

cond
*.eye5 30 >
*.refeye *.myeye !=
start
16 .shootval store
-1 .shoot store
stop

cond
 *.robage 0 =
start
 .shoot .vloc store
 -2 .venval store
 .shoot .ploc store
stop

cond
 *.poison 500 <
start
 100 .strpoison store
stop

end

Martian:
The new and improved Martian Tank 2. What do you think?

cond
*.robage 0 =
start
.tie inc
stop

cond
*.robage 1 =
start
.deltie inc
stop

cond
*.refeye *.myeye !=
*.eye1 *.eye2 >=
*.eye1 *.eye3 >=
*.eye1 *.eye4 >=
*.eye1 *.eye5 >=
*.eye1 *.eye6 >=
*.eye1 *.eye7 >=
*.eye1 *.eye8 >=
*.eye1 *.eye9 >=
start
mult -140
stop

cond
*.refeye *.myeye !=
*.eye9 *.eye2 >=
*.eye9 *.eye3 >=
*.eye9 *.eye4 >=
*.eye9 *.eye5 >=
*.eye9 *.eye6 >=
*.eye9 *.eye7 >=
*.eye9 *.eye8 >=
*.eye9 *.eye1 >=
start
mult 140
stop

cond
*.refeye *.myeye !=
*.eye2 *.eye9 >=
*.eye2 *.eye3 >=
*.eye2 *.eye4 >=
*.eye2 *.eye5 >=
*.eye2 *.eye6 >=
*.eye2 *.eye7 >=
*.eye2 *.eye8 >=
*.eye2 *.eye1 >=
start
mult -105
stop

cond
*.refeye *.myeye !=
*.eye8 *.eye9 >=
*.eye8 *.eye3 >=
*.eye8 *.eye4 >=
*.eye8 *.eye5 >=
*.eye8 *.eye6 >=
*.eye8 *.eye7 >=
*.eye8 *.eye2 >=
*.eye8 *.eye1 >=
start
mult 105
stop

cond
*.refeye *.myeye !=
*.eye3 *.eye9 >=
*.eye3 *.eye8 >=
*.eye3 *.eye4 >=
*.eye3 *.eye5 >=
*.eye3 *.eye6 >=
*.eye3 *.eye7 >=
*.eye3 *.eye2 >=
*.eye3 *.eye1 >=
start
mult -70
stop

cond
*.refeye *.myeye !=
*.eye7 *.eye9 >=
*.eye7 *.eye8 >=
*.eye7 *.eye4 >=
*.eye7 *.eye5 >=
*.eye7 *.eye6 >=
*.eye7 *.eye3 >=
*.eye7 *.eye2 >=
*.eye7 *.eye1 >=
start
mult 70
stop

cond
*.refeye *.myeye !=
*.eye4 *.eye9 >=
*.eye4 *.eye8 >=
*.eye4 *.eye7 >=
*.eye4 *.eye5 >=
*.eye4 *.eye6 >=
*.eye4 *.eye3 >=
*.eye4 *.eye2 >=
*.eye4 *.eye1 >=
start
mult -35
stop

cond
*.refeye *.myeye !=
*.eye6 *.eye9 >=
*.eye6 *.eye8 >=
*.eye6 *.eye7 >=
*.eye6 *.eye5 >=
*.eye6 *.eye4 >=
*.eye6 *.eye3 >=
*.eye6 *.eye2 >=
*.eye6 *.eye1 >=
start
mult 35
stop

cond
*.refeye *.myeye !=
*.eye5 *.eye9 >=
*.eye5 *.eye8 >=
*.eye5 *.eye7 >=
*.eye5 *.eye6 >=
*.eye5 *.eye4 >=
*.eye5 *.eye3 >=
*.eye5 *.eye2 >=
*.eye5 *.eye1 >=
start
mult
stop

cond
*.eye5 0 >
*.refeye *.myeye !=
start
*.refxpos *.refypos angle .setaim store
*.refveldx .dx store
*.refvelup 30 add .up store
stop

cond
*.eye5 0 >
*.refeye *.myeye =
start
rnd .amdx store
50 .up store
stop

cond
start
.aimdx store
stop

cond
*.nrg 5100 >
start
50 .repro store
100 .strbody store
stop

cond
*.eye1 = 0
*.eye2 = 0
*.eye3 = 0
*.eye4 = 0
*.eye5 = 0
*.eye6 = 0
*.eye7 = 0
*.eye8 = 0
*.eye9 = 0
*.robage 50 mod = 0
start
rnd .amdx store
stop

cond
*.eye1 = 0
*.eye2 = 0
*.eye3 = 0
*.eye4 = 0
*.eye5 = 0
*.eye6 = 0
*.eye7 = 0
*.eye8 = 0
*.eye9 = 0
start
100 .up store
stop

cond
*.eye5 15 <
*.refeye *.myeye !=
*.refeye 0 >
start
-3 .shoot store
stop

cond
*.eye5 30 >
*.refeye *.myeye !=
*.refpoison *.refshell >
start
16 .shootval store
-6 .shoot store
stop

cond
*.eye5 30 >
*.refeye *.myeye !=
*.refpoison *.refshell <
start
16 .shootval store
-1 .shoot store
stop

cond
*.eye5 30 >
*.refeye *.myeye !=
*.shoot 0 =
start
16 .shootval store
-6 .shoot store
stop

cond
*.shflav 0 !=
*.shflav -2 !=
*.refeye *.myeye !=
*.refpoison *.refshell <
start
*.shang .aimshoot store
32 .shootval store
*.refshell
-1 .shoot store
0 .shflav store
stop

cond
*.shflav 0 !=
*.shflav -2 !=
*.refeye *.myeye !=
*.refpoison *.refshell >
start
*.shang .aimshoot store
32 .shootval store
*.refshell
-6 .shoot store
0 .shflav store
stop

cond
*.venom 200 <
start
100 .strvenom store
stop

cond
*.robage 0 =
start
.shoot .vloc store
-2 .venval store
.shoot .ploc store
stop

cond
*.poison 500 <
start
100 .strpoison store
stop

end

Peter:

--- Quote from: Martian ---cond
*.refeye *.myeye !=
*.eye1 *.eye2 >=
*.eye1 *.eye3 >=
*.eye1 *.eye4 >=
*.eye1 *.eye5 >=
*.eye1 *.eye6 >=
*.eye1 *.eye7 >=
*.eye1 *.eye8 >=
*.eye1 *.eye9 >=
start
mult -140
stop
--- End quote ---

What is that gene exactly doing, is it doing anything at all.

Martin Welgemoed klinkt als een nederlandse naam, ben jij ook nederlands.?


If you don't understand that line just say no.

Jez:
Martin Welgemoed is a Dutch name, are you from Holland?  

If the conditions are met then it adds -140 to the top of the stack; later on there is a

cond
start
.aimdx store
stop

gene which takes the top number off the stack and uses that to set the .aimdx value.

It's a cost cutting method that avoids using store too often. (First used by PY).

(I should have this tested by the end of the week btw Martin, just have to test some other bots first!)

Martian:

--- Quote from: Peter ---Martin Welgemoed klinkt als een nederlandse naam, ben jij ook nederlands.?
--- End quote ---

No, I'm not Dutch. I'm Afrikaans which is close to Dutch, so I can understand a (very small) amount of Dutch.

"Hierdie sin is Afrikaans. Sien jy wat ek bedoel?" This is an Afrikaans sentence.

It seems to work very well when *.refxpos *.refypos angle .setaim store is added, otherwise there is a bit of trouble hitting small bots.


--- Quote ---I should have this tested by the end of the week btw Martin, just have to test some other bots first!
--- End quote ---

OK thanks.

Navigation

[0] Message Index

[#] Next page

Go to full version