Difference between revisions of "Inc/dec"

From WikiManual
Jump to: navigation, search
Line 32: Line 32:
 
This technique allows you to "freeze" values or to raise/lower a number to a value and then keep it there. This is best used for when you need a value at a constant number, but without the cost of continously storing it.  
 
This technique allows you to "freeze" values or to raise/lower a number to a value and then keep it there. This is best used for when you need a value at a constant number, but without the cost of continously storing it.  
  
<math>nowiki>
+
<nowiki>
 
' Basic method to demonstrate freezing
 
' Basic method to demonstrate freezing
 
' Will keep .tieloc at -1 permanently
 
' Will keep .tieloc at -1 permanently
Line 48: Line 48:
 
stop
 
stop
 
</nowiki>
 
</nowiki>
</math><
 

Revision as of 19:32, 17 September 2005

Increase/Decrease These operators, inc(increase) and dec(decrease), are some of the most useful but are infrequently used. They work by either decreasing or increasing a memory location by 1.

For example:

50 inc

adds 1 to 50. When more are used simultaneously the effects are cumulative.

For Example:

50 inc 50 inc 50 inc

Adds 3 to 50. One of the more popular uses of this is for birth tie removal.

cond start .tie *.robage 1000 mult add inc .deltie *.robage 1 sub 1000 mult add inc stop It has also been used effectivly as an inter-gene signal and method to "freeze" values.

Not all locations can be handled with them, memlocs 1-8(more?) can not be inc/dec. This is to ensure that the bots are required to expend some energy.

Value freezing using inc/dec

This technique allows you to "freeze" values or to raise/lower a number to a value and then keep it there. This is best used for when you need a value at a constant number, but without the cost of continously storing it.

' Basic method to demonstrate freezing ' Will keep .tieloc at -1 permanently cond start .tieloc *.tieloc dup div mult inc .tieloc dec stop' More complex method demonstrates freezing ' at a value with .ploc=7 cond start ' When *.ploc = 7 dec by 1 .ploc *.ploc 7 sub 1000 mult add dec .ploc inc stop