Not logged in

Artifact d359f0894c18db96c25f8ab2d51ca705bf6c6271:

File hangman/graphics.retro part of check-in [eca5386b7f] - Check in of hangman game from the forthlets part of the main Retro repo. by charleschilders on 2010-05-31 21:51:52. [annotate]


0000: 28 20 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ( ~~~~~~~~~~~~~~
0010: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
0020: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
0030: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 20 29  ~~~~~~~~~~~~~~ )
0040: 0a 28 20 48 61 6e 67 6d 61 6e 20 66 6f 72 20 52  .( Hangman for R
0050: 65 74 72 6f 20 43 6f 6e 73 6f 6c 65 20 20 20 20  etro Console    
0060: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0080: 29 0a 28 20 20 2a 20 44 72 61 77 69 6e 67 20 72  ).(  * Drawing r
0090: 6f 75 74 69 6e 65 73 2e 20 20 20 20 20 20 20 20  outines.        
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 29 0a 28 20 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e   ).( ~~~~~~~~~~~
00d0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
00e0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
00f0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
0100: 7e 20 29 0a 28 20 43 6f 70 79 72 69 67 68 74 20  ~ ).( Copyright 
0110: 5b 63 5d 20 32 30 31 30 2c 20 4d 61 72 63 20 53  [c] 2010, Marc S
0120: 69 6d 70 73 6f 6e 20 20 20 20 20 20 20 20 20 20  impson          
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 29 0a 28 20 4c 69 63 65 6e 73 65 3a 20     ).( License: 
0150: 49 53 43 20 20 20 20 20 20 20 20 20 20 20 20 20  ISC             
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0180: 20 20 20 20 29 0a 28 20 7e 7e 7e 7e 7e 7e 7e 7e      ).( ~~~~~~~~
0190: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
01a0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
01b0: 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e 7e  ~~~~~~~~~~~~~~~~
01c0: 7e 7e 7e 7e 20 29 0a 0a 26 63 6f 6e 73 6f 6c 65  ~~~~ )..&console
01d0: 20 6f 70 65 6e 0a 28 20 2d 2d 5b 20 44 72 61 77   open.( --[ Draw
01e0: 69 6e 67 20 52 6f 75 74 69 6e 65 73 20 5d 2d 2d  ing Routines ]--
01f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0200: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0210: 2d 2d 2d 2d 20 29 0a 0a 3a 20 62 61 72 20 28 20  ---- )..: bar ( 
0220: 78 79 6e 2d 20 29 20 70 75 73 68 20 61 74 2d 78  xyn- ) push at-x
0230: 79 20 70 6f 70 20 66 6f 72 20 63 68 61 72 3a 20  y pop for char: 
0240: 2d 20 65 6d 69 74 20 6e 65 78 74 20 3b 0a 3a 20  - emit next ;.: 
0250: 63 6f 6c 20 28 20 78 79 6e 2d 20 29 20 66 6f 72  col ( xyn- ) for
0260: 20 32 64 75 70 20 61 74 2d 78 79 20 63 68 61 72   2dup at-xy char
0270: 3a 20 7c 20 65 6d 69 74 20 31 2b 20 6e 65 78 74  : | emit 1+ next
0280: 20 32 64 72 6f 70 20 3b 0a 0a 28 20 2d 2d 5b 20   2drop ;..( --[ 
0290: 53 74 61 67 65 73 20 5d 2d 2d 2d 2d 2d 2d 2d 2d  Stages ]--------
02a0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
02b0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
02c0: 2d 2d 2d 2d 2d 2d 2d 2d 20 29 0a 0a 28 20 4e 4f  -------- )..( NO
02d0: 54 45 3a 20 31 33 20 69 73 20 46 49 58 45 44 20  TE: 13 is FIXED 
02e0: 75 6e 6c 65 73 73 20 77 65 20 61 64 64 20 6d 6f  unless we add mo
02f0: 72 65 20 64 72 61 77 69 6e 67 20 58 54 73 20 29  re drawing XTs )
0300: 0a 0a 31 33 20 63 6f 6e 73 74 61 6e 74 20 73 74  ..13 constant st
0310: 61 67 65 73 0a 0a 68 65 72 65 20 73 74 61 67 65  ages..here stage
0320: 73 20 61 6c 6c 6f 74 20 63 6f 6e 73 74 61 6e 74  s allot constant
0330: 20 67 72 61 70 68 69 63 73 0a 67 72 61 70 68 69   graphics.graphi
0340: 63 73 20 76 61 72 69 61 62 6c 65 3a 20 63 75 72  cs variable: cur
0350: 72 65 6e 74 2d 67 72 61 70 68 69 63 0a 0a 3a 20  rent-graphic..: 
0360: 63 75 72 72 65 6e 74 2d 67 72 61 70 68 69 63 2c  current-graphic,
0370: 20 63 75 72 72 65 6e 74 2d 67 72 61 70 68 69 63   current-graphic
0380: 20 40 20 21 20 63 75 72 72 65 6e 74 2d 67 72 61   @ ! current-gra
0390: 70 68 69 63 20 2b 2b 20 3b 0a 0a 68 65 72 65 20  phic ++ ;..here 
03a0: 5d 20 32 30 20 31 35 20 31 35 20 20 20 20 20 20  ] 20 15 15      
03b0: 20 20 20 20 20 20 20 62 61 72 20 3b 20 20 20 63         bar ;   c
03c0: 75 72 72 65 6e 74 2d 67 72 61 70 68 69 63 2c 0a  urrent-graphic,.
03d0: 68 65 72 65 20 5d 20 32 30 20 20 35 20 31 30 20  here ] 20  5 10 
03e0: 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 20              col 
03f0: 3b 20 20 20 63 75 72 72 65 6e 74 2d 67 72 61 70  ;   current-grap
0400: 68 69 63 2c 0a 68 65 72 65 20 5d 20 32 30 20 20  hic,.here ] 20  
0410: 35 20 31 35 20 20 20 20 20 20 20 20 20 20 20 20  5 15            
0420: 20 62 61 72 20 3b 20 20 20 63 75 72 72 65 6e 74   bar ;   current
0430: 2d 67 72 61 70 68 69 63 2c 0a 68 65 72 65 20 5d  -graphic,.here ]
0440: 20 32 31 20 20 36 20 61 74 2d 78 79 20 63 68 61   21  6 at-xy cha
0450: 72 3a 20 2f 20 65 6d 69 74 20 3b 20 20 20 63 75  r: / emit ;   cu
0460: 72 72 65 6e 74 2d 67 72 61 70 68 69 63 2c 0a 68  rrent-graphic,.h
0470: 65 72 65 20 5d 20 33 30 20 20 36 20 20 32 20 20  ere ] 30  6  2  
0480: 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 20 3b             col ;
0490: 20 20 20 63 75 72 72 65 6e 74 2d 67 72 61 70 68     current-graph
04a0: 69 63 2c 0a 68 65 72 65 20 5d 20 33 30 20 20 38  ic,.here ] 30  8
04b0: 20 61 74 2d 78 79 20 63 68 61 72 3a 20 40 20 65   at-xy char: @ e
04c0: 6d 69 74 20 3b 20 20 20 63 75 72 72 65 6e 74 2d  mit ;   current-
04d0: 67 72 61 70 68 69 63 2c 0a 68 65 72 65 20 5d 20  graphic,.here ] 
04e0: 33 30 20 20 39 20 20 31 20 20 20 20 20 20 20 20  30  9  1        
04f0: 20 20 20 20 20 63 6f 6c 20 3b 20 20 20 63 75 72       col ;   cur
0500: 72 65 6e 74 2d 67 72 61 70 68 69 63 2c 0a 68 65  rent-graphic,.he
0510: 72 65 20 5d 20 32 39 20 20 39 20 61 74 2d 78 79  re ] 29  9 at-xy
0520: 20 63 68 61 72 3a 20 2f 20 65 6d 69 74 20 3b 20   char: / emit ; 
0530: 20 20 63 75 72 72 65 6e 74 2d 67 72 61 70 68 69    current-graphi
0540: 63 2c 0a 68 65 72 65 20 5d 20 33 31 20 20 39 20  c,.here ] 31  9 
0550: 61 74 2d 78 79 20 63 68 61 72 3a 20 5c 20 65 6d  at-xy char: \ em
0560: 69 74 20 3b 20 20 20 63 75 72 72 65 6e 74 2d 67  it ;   current-g
0570: 72 61 70 68 69 63 2c 0a 68 65 72 65 20 5d 20 33  raphic,.here ] 3
0580: 30 20 20 39 20 20 31 20 20 20 20 20 20 20 20 20  0  9  1         
0590: 20 20 20 20 63 6f 6c 20 3b 20 20 20 63 75 72 72      col ;   curr
05a0: 65 6e 74 2d 67 72 61 70 68 69 63 2c 0a 68 65 72  ent-graphic,.her
05b0: 65 20 5d 20 33 30 20 31 30 20 20 31 20 20 20 20  e ] 30 10  1    
05c0: 20 20 20 20 20 20 20 20 20 63 6f 6c 20 3b 20 20           col ;  
05d0: 20 63 75 72 72 65 6e 74 2d 67 72 61 70 68 69 63   current-graphic
05e0: 2c 0a 68 65 72 65 20 5d 20 32 39 20 31 31 20 61  ,.here ] 29 11 a
05f0: 74 2d 78 79 20 63 68 61 72 3a 20 2f 20 65 6d 69  t-xy char: / emi
0600: 74 20 3b 20 20 20 63 75 72 72 65 6e 74 2d 67 72  t ;   current-gr
0610: 61 70 68 69 63 2c 0a 68 65 72 65 20 5d 20 33 31  aphic,.here ] 31
0620: 20 31 31 20 61 74 2d 78 79 20 63 68 61 72 3a 20   11 at-xy char: 
0630: 5c 20 65 6d 69 74 20 3b 20 20 20 63 75 72 72 65  \ emit ;   curre
0640: 6e 74 2d 67 72 61 70 68 69 63 2c 0a 0a 28 20 3d  nt-graphic,..( =
0650: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0660: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0670: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
0680: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 20 29 0a        =========== ).