Author Topic: Devincio Dominator9 (F1)(PY)-07.04.04  (Read 2228 times)

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
Devincio Dominator9 (F1)(PY)-07.04.04
« on: January 05, 2007, 08:03:57 AM »
Code: [Select]
'released with 1st pond version of DB
'PY


'Devincio_Dominator9
'uses tie defence system
'***********************

'initialize
'*********
cond
    *.robage 0 =
  start
    8 rnd 2 add 51 store
    45 55 store
    .tie inc
stop

' move forward
'****************
cond
    *.refeye *55 !=
  start
    30 *.vel sub .up store
 stop

cond
    *.refeye *55 !=
    *.refeye 0 !=
    *.eye5 80 >
  start
    40 *.vel sub .up store
stop

'turn towards food
'*************************
'avoid other conspecifics
'****************************
cond
start
mult 0
stop

cond
*.eye4 *.eye6 >
start
mult -15
stop

cond
*.eye6 *.eye4 >
start
mult 15
stop

cond
*.eye3 *.eye5 >
*.eye3 *.eye4 >
*.eye3 *.eye6 >
start
mult -50
stop

cond
*.eye7 *.eye5 >
*.eye7 *.eye6 >
*.eye7 *.eye4 >
start
mult 50
stop

cond
*.eye1 *.eye5 >
*.eye1 *.eye4 >
*.eye1 *.eye6 >
*.eye1 *.eye3 >
*.eye1 *.eye7 >
start
mult -100
stop

cond
*.eye9 *.eye5 >
*.eye9 *.eye4 >
*.eye9 *.eye6 >
*.eye9 *.eye3 >
*.eye9 *.eye7 >
start
mult 100
stop

' Avoid conspecifics
' ***********************
cond
    *.refeye *55 =
  start
    mult 85
stop

' Avoid corpses
' ****************
cond
  *.refnrg 1 <
start
  mult 185
stop

' Turn away from the side of the screen
' ********************************************
cond
  *.edge 1 =
start
  mult 185
stop

'reproduce
'***********
cond
*.robage 50 <
*.eye5 50 <
*.nrg 6000 >
start
50 .repro store
mult 250
stop

cond
    *.nrg 25000 >
    *.eye5 50 <
  start
    40 .repro store
    mult 250
stop

'Tie to an enemy
'********************
cond
    *.eye5 30 >
    *.eye5 *.eye4 =
    *.eye5 *.eye6 =
    *.refeye *55 !=
    *.corpse 0 =
  start
    *51 .tie store
    mult 0
    65 inc
stop

' Actually rotate
' *****************
cond
start
     .aimdx store
stop

' sever ties to conspecifics
' *****************************
cond
    *.trefeye *55 =
  start
    *51 .deltie store
stop

'Feed
'******
cond
   *65 0 >
  start
    *.tiepres .tienum store
    -1000 .tieval store
    -1 .tieloc store
    *51 .readtie store
stop

cond
   *.tiepres *51 =
  start
    *.tiepres .tienum store
    -1000 .tieval store
    -1 .tieloc store
    *51 .readtie store
stop

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

cond
*.numties 0 =
*65 0 !=
start
65 dec
stop

cond
*.nrg 1000 <
start
100 .mkslime store
stop

cond
*.refeye *55 !=
*.refeye 0 !=
*.eye5 0 >
start
.mkslime .shoot store
-100 .shootval store
stop

end
« Last Edit: May 07, 2014, 12:07:49 PM by Botsareus »
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams