Console Apps (category)

These are softcoded applications which utilize the Status Console.

Since this is such a new thing, much of the initial content of this category is silly, fun exploration of potential. Hopefully, in time, it'll grow to include useful stuff (i.e., right now, I'm having fun playing).

Miscellaneous Apps

Text:


@@============================================================================
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ ---------------------------------------------------------------------------
@@ Flying Pig (absolutely worthless as anything other than a console eraser)
@@ ---------------------------------------------------------------------------
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ ---------------------------------------------------------------------------
@wait 0=@set me=~:[create(flying pig,10)]
&~`1 [get(me/~)]=SSS_//|.-~~~~-,SSS
&~`2 [get(me/~)]=S_/66SS\SSSSSSS\_@
&~`3 [get(me/~)]=(")_SSS/SSS/SSS|SS
&~`4 [get(me/~)]=SS'--'||S|-\SS/SSS
&~`5 [get(me/~)]=jgsSSS//_/S/_/SSSS
@dol lnum(1,5)=@set [get(me/~)]=~`##:[edit(get(get(me/~)/~`##),S,%b)]
&~`c [get(me/~)]=0
&~`t [get(me/~)]=@assert [null(list(lnum(1, 5), CONSOLE [itext(0)] [mid(setr(p, repeat(chr(160), 78))[get(me/~`[itext(0)])][r(p)], get(me/~`c), 78)])))][set(me, ~`c:[inc(get(me/~`c))])][lte(get(me/~`c), add(78, strlen(get(me/~`1))))]; @tr me/~`t
@startup [get(me/~)]=@tr [set(me, ~`c:0)]me/~`t
@@
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ fast pig
@@
&describe [get(me/~)]=[u(me/~`t)]
&~`T [get(me/~)]=[null(iter(lnum(setr(w, add(setr(m, 77), 18)))[iter(1 2 3 4 5,setq(##,setr(p, space(%qm))[get(me/~`##)]%qp))], list(1 2 3 4 5,CONSOLE [itext(0)] [mid(r(itext(0)),inum(1),%qm)])))]
@@
@@ ===========================================================================
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ ---------------------------------------------------------------------------
@@ Frogger
@@ ---------------------------------------------------------------------------
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ ---------------------------------------------------------------------------
@@ Presently only a single 'fly'
@@ To Do: Frog (client macro to move left/right, and catch flies)
@@ Flies (more flies, and need to deal with catching ^^)
@@ Scoring (pointless, but a good exercise in console management)
@@
@wait 0=@set me=~:[create(Frogger,10)]
@wait 0=@set [get(me/~)]=VT:[chr(247)]
@wait 0=@set [get(me/~)]=VS:[chr(032)]
&VR [get(me/~)]=1
&VC [get(me/~)]=0
&VP [get(me/~)]=CONSOLE
&fly [get(me/~)]=[pemit(owner(me), %vp %vr\,%vc %vs)][set(me, vr:[pickrand(switch(%vr, 1, 1 2, 2, 1 2 3, 3, 2 3 4, 3 4))])][set(me, vc:[pickrand(switch(%vc, 0, 0 1, setr(w, 78), %qw 0, %vc [inc(%vc)]))])][pemit(owner(me), %vp %vr\,%vc %vt)]
&trig [get(me/~)]=@wait 1[null(u(fly))]=@tr me/trig
@@
@@ ===========================================================================
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ ---------------------------------------------------------------------------
@@ Pong
@@ ---------------------------------------------------------------------------
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ ---------------------------------------------------------------------------
@@ So far, it manages ball travel.
@@ To Do: Paddles (client macros for movement)
@@ Paddles (optional macros for 'English') to add dynamic directioning.
@@ Scorekeeping (somewhat ridiculous and without purpose, since this
@@ will always be either too fast to play, or too slow
@@ to be challenging. still should probably be done as
@@ an exercise in console design)
@@
@wait 0=@set me=~:[create(Pong,10)]
&X [get(me/~)]=6
&Y [get(me/~)]=5
&VX [get(me/~)]=-5
&VY [get(me/~)]=3
@set [get(me/~)]=vs:[chr(032)]
&WX [get(me/~)]=+
&WY [get(me/~)]=0
&XX [get(me/~)]=10
&go [get(me/~)]=[map(go`[set(me, wx:[switch(%vx, -[v(X)], +, [v(X)], -, %wx)])]2, v(players) [v(spectators)])]
&go`2 [get(me/~)]=[pemit(%0, [u(PREFIX,%0)]C%vy\,[add(%vx, %xx)] [switch(%vx, 0, :, %vs)])][set(me, vx:[add(%vx, %wx1)])][set(me, wy:[switch(%vy, 1, +, [v(Y)], -, %wy)])][set(me, vy:[add(%vy, switch(%wy, +, 1, -, -1, 0))])][pemit(%0, [u(PREFIX, %0)] %vy\,[add(%vx, %xx)] *)]
&go`- [get(me/~)]=
&go [get(me/~)]=
&go [get(me/~)]=
&PREFIX [get(me/~)]=CONSOLE
@@
@@ NOTE: TFPREFIX management for PvP gaming can be done by having each
@@ player start the game by entering their TFPREFIXes. These can then
@@ be encrypted using the start time of the game as a key or some such
@@
@@ ===========================================================================
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ ---------------------------------------------------------------------------
@@ Generic World Info
@@ ---------------------------------------------------------------------------
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ ---------------------------------------------------------------------------
@@ Got started (barely) on a generic console for any world. The purpose of
@@ this application is to help advance the tf script for world-awareness.
@@
@wait 0=@set [get(me/~)]=DATA`MUDNAME:[mudname()]
@wait 0=@set [get(me/~)]=DATA`PLAYERNAME:%n
@wait 0=@set [get(me/~)]=DATA`MONEY:[money(me)]
@dolist d h m=@wait 0=@set [get(me/~)]=DATA`CONN`##:0
@dolist d h m=@wait 0=@set [get(me/~)]=DATA`IDLE`##:0
@@
@@ ===========================================================================
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ ---------------------------------------------------------------------------
@@ Experimental
@@ ---------------------------------------------------------------------------
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ ---------------------------------------------------------------------------
@@ The following code was experimental, and never made it to testing phase
@@ before being uploaded here (i.e., none of this has ever been executed at
@@ all -- it's just a couple lines from notepad that I didn't want to just
@@ discard).
@@ The intended purpose was to eventually define a portion of the above
@@ (Generic World Info) console as multi-purpose area.
@@ This 'banner info' section would have eventually been similar to the kind
@@ of thing seen outside banks (time, temp, messagefoo) as a 'default'.
@@ Then, the same section could be used for 'games' such as Pong and Frogger
@@ (above).
@@
th iter(lnum(1, add(setr(w, width(%#)), setr(l, ~letlen(graceful,this is a test))))[setq(b, ~let(graceful,this is a test))][iter(lnum(1, 4), setq([itext(0)], repeat(chr(160), %qw)[elements(%qb, [itext(0)], %r)][repeat(chr(160), sub(add(%qw, %ql)
@@
&STATUS obj=th [map(#lambda/[lit(pemit(%#, !TFPREFIXC%0 [u(STATUS`%0)]))], lnum(1,4))]
&STATUS`1 obj=[map(#lambda/[lit(u(%0))], lattr(me/STATUS`1`*))]

Stick Figure Animations

Text:


@@============================================================================
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ ---------------------------------------------------------------------------
@@ stick figure animations
@@ (soon, I hope to convert these from line-based streams to character-
@@ based ones, so that they can be placed in any location on the console.)
@@ ---------------------------------------------------------------------------
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ ---------------------------------------------------------------------------
@@ Source of material for 'cartwheel': Unsigned material located at...
@@ http://www.geocities.com/SouthBeach/Marina/4942/ascii.htm
@@
@@ 'Juggle', an original animation by Trispis.
@@ ---------------------------------------------------------------------------
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ ---------------------------------------------------------------------------
@wait 0=@set me=~:[create(stickman,10)]
@set [get(me/~)]=!no_command
&A0`1 [get(me/~)]=§§o§§
&A0`2 [get(me/~)]=§/|\§
&A0`3 [get(me/~)]=§/§\§
&A1`1 [get(me/~)]=\§o§/
&A1`2 [get(me/~)]=§§|§§
&A1`3 [get(me/~)]=§/§\§
&A2`1 [get(me/~)]=§_§o§
&A2`2 [get(me/~)]=§§/\§
&A2`3 [get(me/~)]=§|§\§
&A3`1 [get(me/~)]=§§§§§§§
&A3`2 [get(me/~)]=§§___\o
&A3`3 [get(me/~)]=§/)§§|§
&A4`1 [get(me/~)]=§§§__|§§
&A4`2 [get(me/~)]=§§§§§\o§
&A4`3 [get(me/~)]=§§§§§(§\
&A5`1 [get(me/~)]=§§§§§§\§/
&A5`2 [get(me/~)]=§§§§§§§|§
&A5`3 [get(me/~)]=§§§§§§/o\
&A6`1 [get(me/~)]=§§§§§§§§§§|__
&A6`2 [get(me/~)]=§§§§§§§§o/§§§
&A6`3 [get(me/~)]=§§§§§§§/§)§§§
&A7`1 [get(me/~)]=§§§§§§§§§§§§§§
&A7`2 [get(me/~)]=§§§§§§§§§o/__§
&A7`3 [get(me/~)]=§§§§§§§§§|§§(\
&A8`1 [get(me/~)]=§§§§§§§§§§§§o§_
&A8`2 [get(me/~)]=§§§§§§§§§§§§/\§
&A8`3 [get(me/~)]=§§§§§§§§§§§§/§|
&A9`1 [get(me/~)]=§§§§§§§§§§§§\§o§/
&A9`2 [get(me/~)]=§§§§§§§§§§§§§§|§§
&A9`3 [get(me/~)]=§§§§§§§§§§§§§/§\§
&A10`1 [get(me/~)]=§§§§§§§§§§§§§§o§§
&A10`2 [get(me/~)]=§§§§§§§§§§§§§/|\§
&A10`3 [get(me/~)]=§§§§§§§§§§§§§/§\§
@fo me=@edit [get(me/~)]/A*`*=§,[chr(160)]
&cartwheel [get(me/~)]=$cartwheel:@dol lnum(0, 10)=@wait #@=th [null(iter(1 2 3, pemit(%#, CONSOLE [itext(0)] [v(A##`[itext(0)])])))]
@@
&J`0`1 [get(me/~)]=~~~~~~~
&J`0`2 [get(me/~)]=~__O__
&J`0`3 [get(me/~)]=(oo|~o)
&J`0`4 [get(me/~)]=~~/~\
&J`0`5 [get(me/~)]=~_|~|_
@@
&J`1`1 [get(me/~)]=~~~~~o
&J`1`2 [get(me/~)]=~__O__)
&J`1`3 [get(me/~)]=(oo|~~
&J`1`4 [get(me/~)]=~~/~\
&J`1`5 [get(me/~)]=~_|~|_
@@
&J`2`1 [get(me/~)]=~~~~o
&J`2`2 [get(me/~)]=~~_O_
&J`2`3 [get(me/~)]=~(o|o)
&J`2`4 [get(me/~)]=~~/~\
&J`2`5 [get(me/~)]=~_|~|_
@@
&J`3`1 [get(me/~)]=~~~o~~o
&J`3`2 [get(me/~)]=~~_O__/
&J`3`3 [get(me/~)]=~(o|
&J`3`4 [get(me/~)]=~~/~\
&J`3`5 [get(me/~)]=~_|~|_
@@
&J`4`1 [get(me/~)]=~~o~~o
&J`4`2 [get(me/~)]=~~_O__)
&J`4`3 [get(me/~)]=~(o|
&J`4`4 [get(me/~)]=~~/~\
&J`4`5 [get(me/~)]=~_|~|_
@@
&J`5`1 [get(me/~)]=~o~~o
&J`5`2 [get(me/~)]=~~_O_~
&J`5`3 [get(me/~)]=~(o|~)
&J`5`4 [get(me/~)]=~~/~\
&J`5`5 [get(me/~)]=~_|~|_
@@
&J`6`1 [get(me/~)]=~o~~o
&J`6`2 [get(me/~)]=~~_O_~
&J`6`3 [get(me/~)]=~/~|o)
&J`6`4 [get(me/~)]=~~/~\
&J`6`5 [get(me/~)]=~_|~|_
@@
&J`7`1 [get(me/~)]=~~~o~~o
&J`7`2 [get(me/~)]=o~~O__/
&J`7`3 [get(me/~)]=~\/|
&J`7`4 [get(me/~)]=~~/~\
&J`7`5 [get(me/~)]=~_|~|_
@@
&J`8`1 [get(me/~)]=~~o~~o
&J`8`2 [get(me/~)]=~__O__)
&J`8`3 [get(me/~)]=(o~|
&J`8`4 [get(me/~)]=~~/~\
&J`8`5 [get(me/~)]=~_|~|_
@@
&J`9`1 [get(me/~)]=~o~~o
&J`9`2 [get(me/~)]=~~_O_~
&J`9`3 [get(me/~)]=~(o|~)
&J`9`4 [get(me/~)]=~~/~\
&J`9`5 [get(me/~)]=~_|~|_
@@
&J`10`1 [get(me/~)]=~o~~o
&J`10`2 [get(me/~)]=~~_O_~
&J`10`3 [get(me/~)]=~/~|o)
&J`10`4 [get(me/~)]=~~/~\
&J`10`5 [get(me/~)]=~_|~|_
@@
&J`11`1 [get(me/~)]=~~~o
&J`11`2 [get(me/~)]=o~~O_~
&J`11`3 [get(me/~)]=~\/|o)
&J`11`4 [get(me/~)]=~~/~\
&J`11`5 [get(me/~)]=~_|~|_
@@
&J`12`1 [get(me/~)]=~~o
&J`12`2 [get(me/~)]=~__O_~
&J`12`3 [get(me/~)]=(o~|o)
&J`12`4 [get(me/~)]=~~/~\
&J`12`5 [get(me/~)]=~_|~|_
@@
&J`13`1 [get(me/~)]=~o
&J`13`2 [get(me/~)]=~~_O_~
&J`13`3 [get(me/~)]=~(o|o)
&J`13`4 [get(me/~)]=~~/~\
&J`13`5 [get(me/~)]=~_|~|_
@@
&J`14`1 [get(me/~)]=~
&J`14`2 [get(me/~)]=o~_O__~
&J`14`3 [get(me/~)]=~/~|oo)
&J`14`4 [get(me/~)]=~~/~\
&J`14`5 [get(me/~)]=~_|~|_
@@
&J`15`1 [get(me/~)]=~
&J`15`2 [get(me/~)]=~__O_~
&J`15`3 [get(me/~)]=o~~|o)
&J`15`4 [get(me/~)]=~~/~\o
&J`15`5 [get(me/~)]=~_|~|_
@@
&J`16`1 [get(me/~)]=~
&J`16`2 [get(me/~)]=~__O_~
&J`16`3 [get(me/~)]=~~~|~\
&J`16`4 [get(me/~)]=o~/~\o
&J`16`5 [get(me/~)]=~_|~|_o
@@
&J`17`1 [get(me/~)]=~
&J`17`2 [get(me/~)]=~\_O_/
&J`17`3 [get(me/~)]=~~~|~
&J`17`4 [get(me/~)]=~~/~\
&J`17`5 [get(me/~)]=o_|~|_oo
@@
&J`18`1 [get(me/~)]=~
&J`18`2 [get(me/~)]=~~_O_
&J`18`3 [get(me/~)]=~<~|~>
&J`18`4 [get(me/~)]=~~/~\
&J`18`5 [get(me/~)]=o_|~|_oo
@wait 0=@edit [get(me/~)]/J*=~,%b
@@
&juggle [get(me/~)]=$juggle:@dol lnum(0, 18)=@wait #@=th null(iter(1 2 3 4 5, pemit(%#, CONSOLE [itext(0)] [v(J`##`[itext(0)])])))
@@============================================================================
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ ---------------------------------------------------------------------------
@@ Boot Wizard: an original animation - sad hack PD2007.
@@
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@ NOTE: This uses the following, slightly different, input definition:
@@
@@ /def -ag -mregexp -t'CONSOLE R([1-5])C(\d+) (.+)' statstuffbychar = \
@@ etc.
@@
@@ The purpose for this modified version is to circumvent complications from
@@ having to escape commas.
@@ .:....1....:....2....:....3....:....4....:....5....:....6....:....7....:...
@@
&bootwiz [get(me/~)]=$bootwiz:@dolist 0 1=@wait [mul(##,10)]=@tr me/S`##=%#
@@
&UFUN`CENTER [get(me/~)]=[setq(w, switch(width(%#), *, 77))][setq(m, mod(%qw, 2))][setq(c, add(%qm, div(sub(%qw, %qm), 2)))]%qc
@@
&UFUN`CLEARLINE [get(me/~)]=CONSOLE %0 [chr(160)]
@@
&S`0 [get(me/~)]=@dolist [iter(1 2 3 4 5, pemit(setr(u, %0), CONSOLE [itext(0)] [chr(160)]))][lnum(1, 9)]=@wait ##=th [null(iter(get(me/S`0`F`##), [pemit(%qu, CONSOLE R[first(first(itext(0)), .)]C[add(%vc, rest(first(itext(0)), .))] [edit(iter(rest(itext(0)), ansi(first(itext(0), .), chr(rest(itext(0), .)))),%b,)])],|))]
@@
&S`0`F`1 [get(me/~)]=5.0 .046
@@
&S`0`F`2 [get(me/~)]=5.0 .111
@@
&S`0`F`3 [get(me/~)]=5.-1 .111 .056 .111
@@
&S`0`F`4 [get(me/~)]=4.-1 .111 .244 .111|5.-2 .111 .056 .056 .056 .111
@@
&S`0`F`5 [get(me/~)]=3.-1 .095 .212 .095|4.-2 .111 .056 .056 .056 .111|5.-3 .111 .056 .056 .056 .056 .056 .111
@@
&S`0`F`6 [get(me/~)]=2.-1 .095 .212 .095|3.-2 .047 .160 .089 .160 .092|4.-2 .046 .111 .056 .111 .046|5.-3 .046 .111 .056 .056 .056 .111 .046
@@
&S`0`F`7 [get(me/~)]=2.-3 .119 .095 .095 .212 .095 .095 .119|3.-2 .092 .095 .089 .095 .047|4.-2 .160 .047 .095 .092 .160|5.-3 .046 .111 .056 .056 .056 .111 .046
@@
&S`0`F`8 [get(me/~)]=1.-3 .109 .160 .160 .160 .160 .160 .109|2.-3 .160 .124 .092 .212 .047 .124 .160|3.-2 .160 .092 .089 .047 .160|5.-3 .046 .095 .047 .160 .092 .095 .046
@@
&S`0`F`9 [get(me/~)]=1.-3 .160 .095|1.2 .095 .160|2.-3 .109 .095|2.2 .095 .109|3.-3 bh.042|3.3 bh.042|5.-3 .160|5.3 .160
@@
&S`1 [get(me/~)]=@tr me/S`1`F`3=%0,3
@@
&S`1`F`3 [get(me/~)]=@dol 1 2=@wait ##=@tr me/S`1`F`3`##=%0,3
@@
&S`1`F`3`1 [get(me/~)]=@dolist [lnum(sub(%vc, 4), 0)]=@wait 0=@pemit %0=CONSOLE R%1C[setr(c, ##)] [edit(iter(lnum(sub(%vc, 4), %qc), [ansi(pickrand(r y g c b m), pickrand(+ ~ ^ -))]),%b,)]
@@
&S`1`F`3`2 [get(me/~)]=@dolist h a c k [iter(lnum(5,sub(%vc,4)),.)]=@wait 0=@pemit %0=CONSOLE R%1C[dec(setr(c,#@))] [switch(##,.,chr(160),##)][edit(iter(lnum(%qc,sub(%vc,4)),[ansi(pickrand(r y g c b m),pickrand(+ ~ ^ -))]),%b,)]