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`*))]
- Printer-friendly version
- Login or register to post comments

Click 
