Author Topic: Przykrość [Vexation] (F3)(MysticalDumpling)23.2.14  (Read 3158 times)

Offline MysticalDumpling

  • Bot Destroyer
  • ***
  • Posts: 205
  • Kurwa chuj!
    • View Profile
Przykrość [Vexation] (F3)(MysticalDumpling)23.2.14
« on: February 23, 2014, 02:13:56 PM »
This is my first F3 bot. Not all of the features may be working, but it seems to do well. It has
-Oculus
-Fruitfly reproduction gene
-Alpha's hunting mechanisms
 
'Przykrosc - pain or botherance
'F3 bot that forms clouds of teeny bots
'Uses .body funcs to make tiny high-nrg bots

'Shares potential targets via in/out and a qualifier
'qualifier -1
'x- 3
'y- 4

'-6 shots

Code: [Select]
def bxpos 21
def bypos 22
def hunting 23

0 0 0
'Reproduce, fruit-fly style!
cond
*.body 5 >
*.nrg 80 >
start
*.maxvel .dn store
50 .repro store
stop

'Handle body and nrg
cond
*.nrg 500 >
start
50 *.body 10 mult sub 0 floor .strbody store
stop

cond
*.body 20 >
start
*.body 10 mult 10 sub 0 floor .fdbody store
stop

'Set baby stuff
cond
*.robage 1 =
start
1886 .out1 store
.deltie inc
314 rnd .aimsx store
stop

'Use in/out to share targets
cond
*.in1 *.out1 =
*.in1 *.bxpos mult *.bypos mult 0 !=
start
*.out3 .bxpos store
*.out4 .bypos store
stop

'Search for prey
'If there is nothing, use x/ypos defs
'If everything is empty, spin!
cond
*.myup *.refup =
*.eyef 0 =
or
*.hunting 0 <=
and
start
*.bxpos *.bypos mult 0 !=
*.bxpos *.bypos angle .setaim store
1 .hunting store
clearbool
*.bxpos *.bypos mult 0 =
100 rnd .aimsx store
0 .hunting store
stop

start
 -4 *.eye1 *.eye9 sub sgn 0 floor mult *.eye1 *.eye8 sub sgn 0 floor mult *.eye1 *.eye7 sub sgn 0 floor mult *.eye1 *.eye6 sub sgn 0 floor mult *.eye1 *.eye5 sub sgn 0 floor mult *.eye1 *.eye4 sub sgn 0 floor mult *.eye1 *.eye3 sub sgn 0 floor mult *.eye1 *.eye2 sub sgn 0 floor mult 4 *.eye9 *.eye8 sub sgn 0 floor mult *.eye9 *.eye7 sub sgn 0 floor mult *.eye9 *.eye6 sub sgn 0 floor mult *.eye9 *.eye5 sub sgn 0 floor mult *.eye9 *.eye4 sub sgn 0 floor mult *.eye9 *.eye3 sub sgn 0 floor mult *.eye9 *.eye2 sub sgn 0 floor mult *.eye9 *.eye1 sub sgn ++ sgn mult add -3 *.eye2 *.eye9 sub sgn ++ sgn mult *.eye2 *.eye8 sub sgn 0 floor mult *.eye2 *.eye7 sub sgn 0 floor mult *.eye2 *.eye6 sub sgn 0 floor mult *.eye2 *.eye5 sub sgn 0 floor mult *.eye2 *.eye4 sub sgn 0 floor mult *.eye2 *.eye3 sub sgn 0 floor mult *.eye2 *.eye1 sub sgn ++ sgn mult add 3 *.eye8 *.eye9 sub sgn ++ sgn mult *.eye8 *.eye7 sub sgn 0 floor mult *.eye8 *.eye6 sub sgn 0 floor mult *.eye8 *.eye5 sub sgn 0 floor mult *.eye8 *.eye4 sub sgn 0 floor mult *.eye8 *.eye3 sub sgn 0 floor mult *.eye8 *.eye2 sub sgn ++ sgn mult *.eye8 *.eye1 sub sgn ++ sgn mult add -2 *.eye3 *.eye9 sub sgn ++ sgn mult *.eye3 *.eye8 sub sgn ++ sgn mult *.eye3 *.eye7 sub sgn 0 floor mult *.eye3 *.eye6 sub sgn 0 floor mult *.eye3 *.eye5 sub sgn 0 floor mult *.eye3 *.eye4 sub sgn 0 floor mult *.eye3 *.eye2 sub sgn ++ sgn mult *.eye3 *.eye1 sub sgn ++ sgn mult add 2 *.eye7 *.eye9 sub sgn ++ sgn mult *.eye7 *.eye8 sub sgn ++ sgn mult *.eye7 *.eye7 sub sgn 0 floor mult *.eye7 *.eye6 sub sgn 0 floor mult *.eye7 *.eye5 sub sgn 0 floor mult *.eye7 *.eye4 sub sgn ++ sgn mult *.eye7 *.eye2 sub sgn ++ sgn mult *.eye7 *.eye1 sub sgn ++ sgn mult add -1 *.eye4 *.eye9 sub sgn ++ sgn mult *.eye4 *.eye8 sub sgn ++ sgn mult *.eye4 *.eye7 sub sgn ++ sgn mult *.eye4 *.eye6 sub sgn 0 floor mult *.eye4 *.eye5 sub sgn 0 floor mult *.eye4 *.eye3 sub sgn ++ sgn mult *.eye4 *.eye2 sub sgn ++ sgn mult *.eye4 *.eye1 sub sgn ++ sgn mult add 1 *.eye6 *.eye9 sub sgn ++ sgn mult *.eye6 *.eye8 sub sgn ++ sgn mult *.eye6 *.eye7 sub sgn ++ sgn mult *.eye6 *.eye6 sub sgn ++ sgn mult *.eye6 *.eye5 sub sgn 0 floor mult *.eye6 *.eye3 sub sgn ++ sgn mult *.eye6 *.eye2 sub sgn ++ sgn mult *.eye6 *.eye1 sub sgn ++ sgn mult add 4 add *.focuseye 4 add sub dup sgn -- sgn ++ .focuseye mult inc -- dup sgn -- sgn ++ .focuseye mult inc -- dup sgn -- sgn ++ .focuseye mult inc -- dup sgn -- sgn ++ .focuseye mult inc -- dup sgn -- sgn ++ .focuseye mult inc -- dup sgn -- sgn ++ .focuseye mult inc -- dup sgn -- sgn ++ .focuseye mult inc -- dup sgn -- sgn ++ .focuseye mult inc -- dup sgn -- sgn ++ .focuseye mult inc -- 9 add - dup sgn -- sgn ++ .focuseye mult dec -- dup sgn -- sgn ++ .focuseye mult dec -- dup sgn -- sgn ++ .focuseye mult dec -- dup sgn -- sgn ++ .focuseye mult dec -- dup sgn -- sgn ++ .focuseye mult dec -- dup sgn -- sgn ++ .focuseye mult dec -- dup sgn -- sgn ++ .focuseye mult dec -- dup sgn -- sgn ++ .focuseye mult dec -- dup sgn -- sgn ++ .focuseye mult dec --
stop

'Withdraw from any pain and report the roundabouts
'This gene is not always functional...
cond
*.pain 100 >
start
*.xpos .out3 store
*.ypos .out4 store
*.shang .setaim store
1000 .dn store
stop

'Approach prey
cond
*.eyef 0 !=
*.myup *.refup !=
start
*.refveldx .dx store
*.refvelup 55 add .up store
stop

cond
 *.refup *.myup !=
 *.eyef 2000 >
start
 *.refxpos *.refypos angle .setaim store
 *.refxpos *.refypos angle *.refaim *.refvel mult 40 *.refxpos *.xpos sub 2 pow *.refypos *.ypos sub 2 pow add sqr div mult 60 *.focuseye mult mult .aimdx store
 *.refxpos *.refypos angle `(*.refaim *.aim sub abs mult) .aimshoot store
 *.refvelup .up store
 -6 .shoot store
stop

end
« Last Edit: April 30, 2014, 12:42:03 PM by Botsareus »
To być albo nie być, oto jest ze pytanie