Talk:BF Joust strategies

From Esolang
Jump to navigation Jump to search

Strategy Codes

I've started to come up with a system for compactly representing programs in terms of which strategies they use and in which order. I'm going to start adding the codes to the programs in the major programs section if no one objects, after first getting comments on the system. Here's the table of codes, followed by a few example programs.

Symbol Strategy
O Clear with small offset (<20)
O Clear with medium offset (20-40)
O Clear with large offset (40-85)
R Reverse offset clear
C Careless clear with narrow range around 128 (<30)
C Careless clear with wide range around 128 (>30)
F Full Tape Clear
~ Wiggle Clear
\ Anti-Shudder Backup Clear
* Timer Clear (to be followed immediately by the symbol of what changes after the timer expires)
* Flexible Timer Clear (to be followed immediately by the symbol of what changes after the timer expires)
x Cycle length x Clear (where x is any number)
+ Leaves a trail
P Plain poke
P Deep poke
p Program pointer returns to the furthest "safe" cell as determined by a previous poke.
> Skips some decoys ("reverse tripwire avoidance" or "rule of 11" strategies)
0 No decoys
d Few (<4) small (<15) decoys (strikethru means reverse build)
D Few (<4) medium (15-40) decoys (strikethru means reverse build)
D Few (<4) large (>40) decoys (strikethru means reverse build)
d Several (4-7) small (<15) decoys (strikethru means reverse build)
D Several (4-7) medium (15-40) decoys (strikethru means reverse build)
D Several (4-7) large (>40) decoys (strikethru means reverse build)
d Many (>7) small (<15) decoys (strikethru means reverse build)
D Many (>7) medium (15-40) decoys (strikethru means reverse build)
D Many (>7) large (>40) decoys (strikethru means reverse build)
L Uses a lock
T Uses a triplock
% Bumps its own flag a small amount (<=10)
% Bumps its own flag a large amount (>10)
F Attempts to repair its own flag
S Shudders
V Vibrates
@ Waits for a tripwire to be cleared
@(foo) Repeats the actions indicated by symbol sequence foo many times or indefinitely
X Checks the contents of a cell "X" to assess if the opponent has changed it
Y Checks the contents of a cell "Y" to assess if the opponent has changed it
Z Checks the contents of a cell "Z" to assess if the opponent has changed it
X(foo) Performs the actions indicated by symbol sequence foo when cell "X" is changed
X(foo) Performs the actions indicated by symbol sequence foo when cell "X" is not changed
Y(foo) Performs the actions indicated by symbol sequence foo when cell "Y" is changed
Y(foo) Performs the actions indicated by symbol sequence foo when cell "Y" is not changed
Z(foo) Performs the actions indicated by symbol sequence foo when cell "Z" is changed
Z(foo) Performs the actions indicated by symbol sequence foo when cell "Z" is not changed
y!x Interrupts action symbolized with symbol y to begin action symbolized with symbol x
y@(!foo) Repeatedly interrupts and returns to the task symbolized by y in order to do the action symbolized by sequence foo
y? Action y performed only when evidence of opponent first encountered close to own flag
y? Action y performed only when evidence of opponent not first encountered close to own flag
y? Action y performed only when evidence of opponent first encountered far from own flag
y? Action y performed only when evidence of opponent not first encountered far from own flag
y? Action y only performed sometimes under specific, but hard-to-encode circumstances

quintopia_space_hotel: dPC?d?D@(!Y)Y(D)Y(D)%>~O2*3\+

david_werecat_leviathan: dd%D>~O2\

atehwa_test_blah: 0~R2

--Quintopia (talk) 07:35, 10 August 2012 (UTC)

Spec updated --Quintopia (talk) 18:23, 10 August 2012 (UTC)


I agree that this is a good idea. Although, david_werecat_leviathan should be dd%D>~O2\ since it tweaks the flag.
--David.werecat (talk) 12:35, 10 August 2012 (UTC)
Many of the colours are illegible on the wiki's background, but this seems like a good idea in theory. Italics on a (sometimes bold) capital letter seem a bit ugly too; perhaps something like an underline would be better? ehird (talk) 13:58, 10 August 2012 (UTC)
Which colors need to be changed? (They all stand out fine on my monitor.) I think the italics is easier to recognize than the underline when applied to a single character, but maybe a strikethru would show up well? Although, strikethru could also be used to negate the meaning of a symbol. i.e. X(foo) could mean that foo only happens when a reverse tripwire doesn't get tripped. OTOH, there's nothing saying it can't mean both things, since it's not exactly ambiguous. --Quintopia (talk) 16:38, 10 August 2012 (UTC)
Here's a simple application I made to help with strategy notation management and wikitext previews [1]. The notation set is stored in a tab separated file. Right clicking on the strategy selection box will give options to add/edit/delete strategies. It generates the notation set on the first run. It's most likely pointless, but I was bored. --David.werecat (talk) 00:17, 11 August 2012 (UTC)