Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Elite

Pages: 1 ... 5 6 [7]
91
Short bots / Una (1G)(Elite)-23.01.06
« on: January 23, 2006, 01:15:20 PM »
Code: [Select]
'Una
'
'Who needs conditions?
'

def IDcode 964
def parent 965

cond
start
.tie *.robage -1 mult 1 add mult inc
20 .dn *.robage -1 mult 2 add mult store
.deltie inc
.fixpos *.fixed mult dec
*.refveldx .dx *.eye5 sgn mult *.memval 43 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult store
*.refvelup 60 add .up *.eye5 -1 mult 45 add sgn mult *.memval 43 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult store
43 .IDcode *.robage -1 mult 1 add mult store
.IDcode .memloc *.robage -1 mult 1 add mult store
-6 .shoot *.eye5 0 sub sgn 1 add sgn mult *.eye5 40 sub sgn 1 add sgn -1 add -1 mult mult *.memval 43 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.eye5 sgn mult store
-8 .shootval *.eye5 0 sub sgn 1 add sgn mult *.eye5 40 sub sgn 1 add sgn -1 add -1 mult mult *.memval 43 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.eye5 sgn mult store
-6 .shoot *.refeye sgn -1 mult 1 add mult *.eye5 45 sub sgn 1 add sgn mult *.memval 43 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.eye5 sgn mult store
16 .shootval *.refeye sgn -1 mult 1 add mult *.eye5 45 sub sgn 1 add sgn mult *.memval 43 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.eye5 sgn mult store
.dn .shoot *.refeye *.refshoot add *.reftie add sgn mult *.eye5 45 sub sgn 1 add sgn mult *.memval 43 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.eye5 sgn mult store
32000 .shootval *.refeye *.refshoot add *.reftie add sgn mult *.eye5 45 sub sgn 1 add sgn mult *.memval 43 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.eye5 sgn mult store
*.refvelup .up *.eye5 45 sub sgn 1 add sgn mult *.memval 43 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.eye5 sgn mult store
*.refxpos *.refypos angle .setaim *.memval 43 sub dup mult sgn *.refeye *.myeye sub dup mult sgn add sgn mult *.robage sgn mult *.eye5 35 sub sgn mult store
314 rnd .aimdx *.memval 43 sub dup mult sgn -1 add -1 mult *.refeye *.myeye sub dup mult sgn -1 add -1 mult mult *.eye5 sgn -1 add -1 mult add sgn mult store
628 .aimdx *.parent mult store
.parent *.parent mult dec
40 .repro *.body 100 *.robage add sub sgn mult *.nrg 1000 sub sgn 1 add sgn mult store
628 .aimdx *.body 100 sub sgn mult *.nrg 1000 sub sgn 1 add sgn mult store
0 .shoot *.body 100 sub sgn mult *.nrg 1000 sub sgn 1 add sgn mult store
.parent *.body 100 sub sgn mult *.nrg 1000 sub sgn 1 add sgn mult inc
100 .strbody *.nrg 500 sub sgn mult store
100 .fdbody *.nrg -1 mult 100 add sgn mult store
*.tiepres .tienum *.numties sgn mult *.robage 1 sub sgn mult store
.dn .tieloc *.numties sgn mult *.robage 1 sub sgn mult store
32000 .tieval *.numties sgn mult *.robage 1 sub sgn mult store
*.waste .shootval *.waste 10 sub sgn mult store
-4 .shoot *.waste 10 sub sgn mult store
*.mkvirus .delgene *.mkvirus sgn mult store
.delgene inc .delgene inc
stop

end

92
Bot Tavern / Does this count as an MB?
« on: January 22, 2006, 04:20:29 PM »
' 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

def done 51

cond
*.robage 0 =
start
.tie inc
.tiepres .memloc store
.timer inc
100 .side store
stop
cond
*.robage 1 =
start
.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 =
*.treffixed 1 =
start
*.tiepres .tienum store
.fixpos .tieloc store
0 .tieval 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
*.body 5000 >
*.multi 1 =
start
10 .repro store
stop

cond
*.nrg 100 <
start
100 .fdbody 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 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.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

I'll post it in the beastary if it does

It ties to a veggie and uses it as a portable power source - it doesn't actually need to feed.

When tied to a veg like this you can do all kinds of cool stuff that would be impossible with a regular bot  :)
ie.
 - Make tons of shell, slime, poison etc
 - Use really powerfull shots (-36 in .shootval etc)

93
Tips and Tricks / Conditionless Bots
« on: January 22, 2006, 02:36:03 PM »
Here is Animal Minimalis

Code: [Select]
'Animal_Minimalis

'Contains everything necessary for it
'to survive and reproduce.

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

cond
*.eye5 50 >
*.refeye *.myeye !=
start
-1 .shoot store
*.refveldx .dx store
*.refvelup .up store
stop

cond
*.eye5 0 =
*.refeye *.myeye = or
start
314 rnd .aimdx store
stop

cond
*.nrg 20000 >
start
20 .repro store
stop
end

And here is my modified SG version

Code: [Select]
'Animal_Minimalis
'
'Contains everything necessary for it
'to survive and reproduce.
'
'Single gene

cond
start
*.refveldx .dx *.eye5 sgn mult *.refeye *.myeye sub dup mult sgn mult store
*.refvelup 30 add .up *.eye5 sgn mult *.refeye *.myeye sub dup mult sgn mult store

-1 .shoot *.eye5 50 sub sgn 1 add sgn mult *.refeye *.myeye sub dup mult sgn mult store
*.refveldx .dx *.eye5 50 sub sgn 1 add sgn mult *.refeye *.myeye sub dup mult sgn mult store
*.refvelup .up *.eye5 50 sub sgn 1 add sgn mult *.refeye *.myeye sub dup mult sgn mult store

314 rnd .aimdx *.eye5 sgn -1 mult 1 add *.refeye *.myeye sub dup mult sgn -1 mult 1 add add sgn mult store

20 .repro *.nrg 20000 sub 1 add sgn mult store
stop
end

Can you see how it works?

Sgn is a very useful command

94
The Gene depository / Chameleon gene
« on: January 22, 2006, 02:20:20 PM »
NOTE: I posted this in the tips and tricks section by mistake So I'll post it here and you can delete the one in the tips and tricks section

Well, chameleon genes ...

Code: [Select]
' Chameleon

def foundmemloc 51
def reqmemval 52

cond
*.eye5 0 >
*.refshoot *.myshoot !=
*.foundmemloc 0 =
start
.memloc .memloc store
*.memval .foundmemloc store
stop

cond
*.eye5 0 >
*.refshoot *.myshoot !=
*.foundmemloc 0 !=
start
*.foundmemloc .memloc store
*.memval .reqmemval store
stop

cond
*.reqmemval 0 !=
*.foundmemloc 0 !=
start
*.reqmemval *.foundmemloc store
stop

Once you've seen a bot with a .memloc based conspec recognition system you will be a conspec in it's eyes until you see another bot with a number in .memloc

Give a bot this gene and it will always beat Ymir  :)

Great program by the way

95
F1 bots / Animal Supremus (F1)(Vir)(Elite(Mod))-22.01.06
« on: January 22, 2006, 02:13:14 PM »
'Started out as animal minimalis - if it gets anywhere in the league then it's only fair to give Numsgil partial credit.

Code: [Select]
'Animal_Supremus

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

' Immunity to own virus and tie to parent

cond
 *.robage 0 =
start
 762 781 store
 .tie inc
stop

' Virus coding

cond
 *.vtimer 0 =
start
' Make viruses
 3 .mkvirus store
stop

' The virus!

cond
 *781 762 !=
start
 *.thisgene 1 rnd 2 mult -1 add add .delgene store
stop

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

' Delete the birth tie and unfix

cond
*.robage 1 =
start
.deltie inc
stop

cond
*.fixed 0 !=
start
.fixpos dec
stop

' Get closer to potential pray

cond
*.eye5 0 >
*.eye5 50 <
*.refeye *.myeye !=
start
*.refveldx .dx store
*.refvelup 60 add .up store
stop

' Fire ranged shots

cond
*.eye5 5 >
*.eye5 40 <
*.refeye *.myeye !=
start
-8 .shootval store
-6 .shoot store
stop

' If I get within range of a bot

' Virus

cond
*.eye5 35 >
*.refeye *.myeye !=
start
100 .vshoot store
stop

' Aim

cond
*.eye5 45 >
*.refeye *.myeye !=
*.robage 1 >
start
*.refxpos *.refypos angle .setaim store
stop

' Shoot poisonous bots with body (-6) shots

cond
*.eye5 45 >
*.refeye *.myeye !=
*.refpoison 0 >
start
8 .shootval store
-6 .shoot store
*.refvelup .up store
stop

' Shoot non-poisonous bots with regular (-1) shots

cond
*.eye5 45 >
*.refeye *.myeye !=
*.refpoison 0 =
start
8 .shootval store
-1 .shoot store
*.refvelup .up store
stop

' If there is no pray in sight then look for some

cond
*.eye5 0 =
*.refeye *.myeye = or
start
314 rnd .aimdx store
stop

' Reproduce

cond
*.nrg 1000 >
*.body 100 >
start
314 rnd .aimdx store
30 .repro store
stop

' Countermeasures

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

' Feed and store body

cond
*.nrg 1000 >
start
100 .strbody store
stop
cond
*.nrg 100 <
start
100 .fdbody store
stop

' Dispose of waste

cond
*.waste 10 >
start
*.waste .shootval store
-4 .shoot store
stop

' Antirepliviral

cond
*.mkvirus 3 !=
*.mkvirus 0 !=
start
*.mkvirus .delgene store
stop

end

Pages: 1 ... 5 6 [7]