Bots and Simulations > DNA - General

Why doesn't this bot work?

(1/2) > >>

Billy:
This is my first conditionless bot, and I thought I was being very clever while I was making it as I followed no tutorials, but it doesn't do anything! Nothing at all! Please help. :(


--- Code: ---def runaway 51

start
628 rnd 314 sub .aimdx *.eyef sgn mult store
30 .up *.eyef sgn mult store
*.refxpos *.refypos angle 628 add .setaim *.eyef sgn *.refeye sgn mult mult store
50 .runaway *.eyef sgn *.refeye sgn mult mult store
50 .up *.runaway sgn mult store
.runaway *.runaway sgn mult dec
-1 .shoot *.eyef 50 sub sgn 0 floor *.refeye - 1 add 0 floor mult mult store
50 .repro *.nrg 3000 sub sgn 0 floor mult store
*.refvelup 50 add .up *.eyef sgn mult store
*.refveldx .up *.eyef sgn mult store
*.refvelup .up *.eyef 50 sub sgn 0 floor *.refeye - 1 add 0 floor mult mult store
.deltie *.robage - 1 add 0 floor mult inc
*.genes .delgene store
.delgene *.thisgene *.genes sub abs - 1 add 0 floor mult dec
*.body -- -- .fdbody 0 *.body sub sgn 1 floor -- - mult store
0 .strbody store

'OCULUS II
-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 *.eye4 *.eye9 sub sgn ++ sgn mult *.eye4 *.eye8 sub sgn ++ sgn mult *.eye4 *.eye7 sub sgn ++ sgn mult *.eye4 *.eye6 sub

sgn ++ sgn 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 0 *.eye5 *.eye9 sub sgn ++ sgn mult *.eye5 *.eye8 sub sgn ++

sgn mult *.eye5 *.eye7 sub sgn ++ sgn mult *.eye5 *.eye6 sub sgn ++ sgn mult *.eye5 *.eye4 sub sgn ++ sgn mult *.eye5 *.eye3 sub sgn ++ sgn mult *.eye5 *.eye2 sub sgn

++ sgn mult *.eye5 *.eye1 sub sgn ++ sgn mult add .focuseye store

-436 .eye9dir store
-327 .eye8dir store
-218 .eye7dir store
-109 .eye6dir store
 109 .eye4dir store
 218 .eye3dir store
 327 .eye2dir store
 436 .eye1dir store
109 .eye1width store
109 .eye2width store
109 .eye3width store
109 .eye4width store
109 .eye5width store
109 .eye6width store
109 .eye7width store
109 .eye8width store
109 .eye9width store
stop
--- End code ---
Thanks.

Billy:
Oops, I think I forgot to add *.refxpos *.refypos .setaim *.eyef sgn mult store, but that doesn't explain anything!

bacillus:
Just to clarify, .aimdx *.eyef sgn mult will only trigger if eyef > 0. If you want it to be the other way round, which I suspect makes more sense,  try .aimdx *.eyef sgn -- abs mult instead. This way you are testing for <=0.

Billy:
Aha, yeah, good point, thanks.

Billy:
Okay, here is an updated version of the bot, this one also appears to do nothing but on closer inspection I think it slowly rotates clockwise. :S I used my own thing which activates when it's zero instead of the one you posted, because I'm very proud of t and I want to use it whenever I can.


--- Code: ---def runaway 51

cond
start
628 rnd 314 sub .aimdx *.eyef - 1 add 0 floor mult mult store
30 .up *.eyef - 1 add 0 floor mult mult store
*.refxpos *.refypos angle 628 add .setaim *.eyef sgn *.refeye sgn mult mult store
50 .runaway *.eyef sgn *.refeye sgn mult mult store
50 .up *.runaway sgn mult store
.runaway *.runaway sgn mult dec
-1 .shoot *.eyef 50 sub sgn 0 floor *.refeye - 1 add 0 floor mult mult store
50 .repro *.nrg 3000 sub sgn 0 floor mult store
*.refvelup 50 add .up *.eyef sgn mult store
*.refveldx .up *.eyef sgn mult store
*.refvelup .up *.eyef 50 sub sgn 0 floor *.refeye - 1 add 0 floor mult mult store
.deltie *.robage - 1 add 0 floor mult inc
*.genes .delgene store
.delgene *.thisgene *.genes sub abs - 1 add 0 floor mult dec
*.body -- -- .fdbody 0 *.body sub sgn 1 floor -- - mult store
0 .strbody store
*.refxpos *.refypos .setaim *.eyef sgn mult store

'OCULUS II
-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 *.eye4 *.eye9 sub sgn ++ sgn mult *.eye4 *.eye8 sub sgn ++ sgn mult *.eye4 *.eye7 sub sgn ++ sgn mult *.eye4 *.eye6 sub

sgn ++ sgn 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 0 *.eye5 *.eye9 sub sgn ++ sgn mult *.eye5 *.eye8 sub sgn ++

sgn mult *.eye5 *.eye7 sub sgn ++ sgn mult *.eye5 *.eye6 sub sgn ++ sgn mult *.eye5 *.eye4 sub sgn ++ sgn mult *.eye5 *.eye3 sub sgn ++ sgn mult *.eye5 *.eye2 sub sgn

++ sgn mult *.eye5 *.eye1 sub sgn ++ sgn mult add .focuseye store

-436 .eye9dir store
-327 .eye8dir store
-218 .eye7dir store
-109 .eye6dir store
 109 .eye4dir store
 218 .eye3dir store
 327 .eye2dir store
 436 .eye1dir store
109 .eye1width store
109 .eye2width store
109 .eye3width store
109 .eye4width store
109 .eye5width store
109 .eye6width store
109 .eye7width store
109 .eye8width store
109 .eye9width store
stop
--- End code ---

Navigation

[0] Message Index

[#] Next page

Go to full version