home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 221 / 221.d81 / t.schotz.mak < prev    next >
Text File  |  2022-08-26  |  5KB  |  201 lines

  1. u
  2.   M O R E   A B O U T   S C H O T Z
  3.  
  4.            by Dave Moorman
  5.  
  6.  
  7.     Last month, we ran out of space,
  8. so I did not get a chance to tell you
  9. much about SCHOTZ.
  10.  
  11.     First of all, since several asked:
  12. The animation is by Yours Truly. I am
  13. still working on a good way to do
  14. animation on the C-64. The results
  15. should be in an upcoming issue.
  16.  
  17.     But back to the game itself.
  18. Changing the game play is extremely
  19. easy. The relavent information for
  20. each level is tucked away in an Edstar
  21. file, and you can edit it to your
  22. heart's content.
  23.  
  24.     Use Edstar or Mr. Edstar to take a
  25. look at "SCHOTZ.GAM". Each section has
  26. a title with a "/" before the name:
  27.  
  28.     /IdioT
  29.  
  30.  Each regular round begins with an "\"
  31. (English Pound), followed by the
  32. controls for that round.
  33.  
  34.     \
  35.     r2
  36.     t500
  37.     l3000
  38.     m1
  39.  
  40.  You can include any or all of these
  41. controls in each round. They don't
  42. even have to be in order. If a control
  43. is used, the value is changed.
  44.  
  45. "r" is for Random -- the number of
  46. colors the round will display.
  47.  
  48. "t" is for Time -- the time between
  49. each new row of blocks, measured in
  50. jiffies (1/60th of a second).
  51.  
  52. "l" is for Length -- the time the
  53. round lasts, again in jiffies.
  54.  
  55. "m" is multiplier -- the value each
  56. removed block is worth, and the value
  57. of each empty space at the end of a
  58. Successful round.
  59.  
  60.     At the end of each round is a WALL
  61. -- indicated in the GAM file with "^"
  62. (Up Arrow). The next line gives the
  63. extension of the predesigned Wall
  64. files: ".w01" will load "SCHOTZ.W01",
  65. etc.
  66.  
  67.     What you might want to do is save
  68. "SCHOTZ.GAM" to another filename, then
  69. redesign the game to your liking. If
  70. you want to try all the Walls without
  71. clawing through the regular rounds,
  72. you can do this:
  73.  
  74.     /WallaH
  75.     \
  76.     r1
  77.     t600
  78.     l600
  79.     m0
  80.  
  81.     I am not sure, but I [think] that
  82. one regular round must be played
  83. before any Walls. But after that
  84. initial round, the Walls can come
  85. right after each other.
  86.  
  87.     ^
  88.     .w01
  89.     ^
  90.     .w02
  91.     ^
  92.     .w03
  93.  
  94. and so forth.
  95.  
  96.     The Run It file is SCHOTZ.MAK,
  97. which I used to create the Walls. Run
  98. it, and press the key for the X-
  99. coordinate (1-9,A-C), press the key
  100. for the Y-coordinate (1-8), then press
  101. the key for the color (1-5).
  102.  
  103.     Each time you add a color, all the
  104. spaces above are pushed up if
  105. possible. So the trick is to create
  106. the Wall from the bottom. Designing a
  107. Wall that is possible to completely
  108. remove is very difficult. If you get
  109. some that work, send them to us. We
  110. will run an UP-AGAINST-THE-WALL
  111. special!
  112.  
  113.     Oh, yes -- you can Remove a
  114. mistake by pressing <RETURN> then
  115. pressing <1>. The Wall will return to
  116. the position before the last number
  117. was added. You can Remove all the way
  118. back to an empty wall, since every
  119. input is recorded and saved with the
  120. file.
  121.  
  122.     Saving and Loading are also
  123. accessed by pressing <RETURN>,
  124. followed by the associated number. To
  125. exit the program, just Break out.
  126.  
  127.     SCHOTZ.MAK is Q&D, but
  128. serviceable. Name your Walls
  129. "SCHOTZ." + a three character code.
  130. Use the dot-three character code in
  131. SCHOTZ.GAM to include your wall in the
  132. game.
  133.  
  134.  
  135. [TECHNO-BABBLE]
  136.  
  137.     The major challenge with Schotz
  138. was to have the computer figure out if
  139. three or more blocks were touching
  140. each other. The only way I could think
  141. to do this is to use a recursive
  142. routine.
  143.  
  144.     Recursive programming is different
  145. than our normal looping. It is
  146. something like the girl on the Morton
  147. Salt box, holding a Morton Salt box,
  148. which has a girl on it holding a
  149. Morton Salt box -- and so on to (in
  150. theory) infinity.
  151.  
  152.     What was needed for SCHOTZ was a
  153. routine that looked around the clicked
  154. block. If the same color was not
  155. found, the search would continue until
  156. all four blocks were checked. So far,
  157. so good, right?
  158.  
  159.     But when the same color block is
  160. found, the information about which
  161. block you are checking and how many of
  162. the four adjoining blocks have been
  163. checked is stuffed into a stack. You
  164. may remember that a stack is First
  165. On/Last Off, or FILO. Data is stored
  166. like one would stack dishes, putting a
  167. new one on top, then -- later --
  168. removing the dishes from the top down.
  169.  
  170.     This technique uses and reuses
  171. subroutines to do the same action over
  172. again. But the subroutines get stacked
  173. up in the process.
  174.  
  175.     Here is a Basic example of
  176. Recursion:
  177.  
  178.     10 REM RAISE 5 TO THE POWER OF 3
  179.     20 N = 5:P = 3
  180.     30 GOSUB 100
  181.     40 PRINT A
  182.     50 END
  183.     100 IF P = 0 THEN A = 1:RETURN
  184.     110 P = P - 1
  185.     120 GOSUB 100
  186.     130 A = A * N 140 RETURN
  187.  
  188.  Now this is absolutely clear as mud.
  189. I suggest you print it out and
  190. carefully check it by hand.
  191.  
  192.     Remember, every time you GOSUB,
  193. the location where the program will
  194. return is stuffed into the stack, and
  195. when RETURN is encountered, those
  196. locations are removed from the stack
  197. in the opposite order they were put
  198. in.
  199.  
  200.  DMM
  201.  
  202.