Code center > Suggestions

Gene structure - cond start stop

<< < (9/10) > >>

EricL:
FYI, its implemented as

ClearBool
DropBool
ClearInt
DropInt

in 2.43u.  If someone really wants, I'll add synonyms.   Just ask.

Gobo:
I hope, they are not case-sensitive, are they?  

EricL:

--- Quote from: Gobo ---I hope, they are not case-sensitive, are they?  
--- End quote ---
All the sysvars get lowercased during DNA file parsing.  So, no.

Botsareus:
I gess I will just have to program my alternate virsion myself...

Trafalgar:
Interesting. I definitely like the drop/clear bool/int commands. Back when I was playing/experimenting/etc, I was doing 'dup xor inc' to pop and discard a value from the stack.

The system I made for branching nested conditionals was rather complicated, and if these changes are in the latest released version of DarwinBots, then it sounds like you've made what I was doing there entirely pointless.

If anyone's curious, here's an example of what I was doing (the commented out lines are the original lines, which were translated to what's below them) - scroll down to the if (1): to see where the branch stuff is:

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']'NestedBranchTest.txt compiled by PyBot V1 from NestedBranchTest.pyr.

'def one1 at 991
def one1 991
'def one2 at 992
def one2 992
'def one3 at 993
def one3 993
'def one4 at 994
def one4 994
'def one5 at 995
def one5 995
'def zero1 at 981
def zero1 981
'def zero2 at 982
def zero2 982
'def zero3 at 983
def zero3 983
'def zero4 at 984
def zero4 984
'def zero5 at 985
def zero5 985
'def zero6 at 986
def zero6 986
'def outside1 at 1000
def outside1 1000
'if ():
cond

start
0 *980 1 sub sgn 0 floor *980 sgn - 0 floor | 980 mult store
'   #branch-use 980
'   #disable-storecheck
'   one1=0
0 .one1 store
'   one2=0
0 .one2 store
'   one3=0
0 .one3 store
'   one4=0
0 .one4 store
'   one5=0
0 .one5 store
'   zero1=0
0 .zero1 store
'   zero2=0
0 .zero2 store
'   zero3=0
0 .zero3 store
'   zero4=0
0 .zero4 store
'   zero5=0
0 .zero5 store
'   zero6=0
0 .zero6 store
'   outside1=0
0 .outside1 store
'   if (1):
1
'      one1 = 1
dup *980 - ++ & 980 mult inc dup - ++ *980 & 980 mult dec
1 .one1 *980 mult store
'      if (1):
dup dup 1 &
'         one2 = 1
dup *980 - ++ & 980 mult inc dup - ++ *980 & 980 mult dec
1 .one2 *980 mult store
'      elif 1:
- ++ & - ++ dup - ++ dup 1 &
'         zero2 = 1
dup *980 - ++ & 980 mult inc dup - ++ *980 & 980 mult dec
1 .zero2 *980 mult store
'      if 0:
add add dup ^ inc dup dup 0 &
'         zero3 = 1
dup *980 - ++ & 980 mult inc dup - ++ *980 & 980 mult dec
1 .zero3 *980 mult store
'      elif 1:
- ++ & - ++ dup - ++ dup 1 &
'         one3 = 1
dup *980 - ++ & 980 mult inc dup - ++ *980 & 980 mult dec
1 .one3 *980 mult store
'      else:
- ++ & - ++ | - ++
'         zero4 = 1
dup *980 - ++ & 980 mult inc dup - ++ *980 & 980 mult dec
1 .zero4 *980 mult store
'      if 0:
dup ^ inc dup dup 0 &
'         zero5 = 1
dup *980 - ++ & 980 mult inc dup - ++ *980 & 980 mult dec
1 .zero5 *980 mult store
'      elif 0:
- ++ & - ++ dup - ++ dup 0 &
'         zero6 = 1
dup *980 - ++ & 980 mult inc dup - ++ *980 & 980 mult dec
1 .zero6 *980 mult store
'      else:
- ++ & - ++ | - ++
'         one4 = 1
dup *980 - ++ & 980 mult inc dup - ++ *980 & 980 mult dec
1 .one4 *980 mult store
'      one5 = 1
dup ^ inc
dup *980 - ++ & 980 mult inc dup - ++ *980 & 980 mult dec
1 .one5 *980 mult store
'   else:
- ++
'      zero1 = 1
dup *980 - ++ & 980 mult inc dup - ++ *980 & 980 mult dec
1 .zero1 *980 mult store
'   outside1 = 1
dup ^ inc
1 .outside1 store
'   outside2 = 1
1 .outside2 store
stop



(There was some bug in DarwinBots at the time which was keeping that from working properly. I don't know if it's been fixed.)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version