home *** CD-ROM | disk | FTP | other *** search
/ Carousel / CAROUSEL.cdr / mactosh / hc / gunshy.sit / Gunshy / background_3736.txt < prev    next >
Text File  |  1988-11-14  |  8KB  |  309 lines

  1. -- background: 3736 from stack: in
  2. -- bmap block id: 4300
  3. -- flags: 4000
  4. -- background id: 0
  5. -- name: GunShy Background
  6.  
  7.  
  8. -- part 1 (button)
  9. -- low flags: 00
  10. -- high flags: 0000
  11. -- rect: left=1 top=6 right=32 bottom=38
  12. -- title width / last selected line: 0
  13. -- icon id / first selected line: 11045 / 11045
  14. -- text alignment: 1
  15. -- font id: 0
  16. -- text size: 12
  17. -- style flags: 0
  18. -- line height: 16
  19. -- part name: Go Home
  20. ----- HyperTalk script -----
  21. on mouseUp
  22.   visual effect iris close
  23.   go Home
  24. end mouseUp
  25.  
  26.  
  27.  
  28. -- part 2 (button)
  29. -- low flags: 00
  30. -- high flags: 0000
  31. -- rect: left=465 top=5 right=31 bottom=509
  32. -- title width / last selected line: 0
  33. -- icon id / first selected line: 2478 / 2478
  34. -- text alignment: 1
  35. -- font id: 0
  36. -- text size: 12
  37. -- style flags: 0
  38. -- line height: 16
  39. -- part name: About
  40. ----- HyperTalk script -----
  41. on mouseUp
  42.   push card
  43.   visual effect zoom open
  44.   go to card "About Hyper-GunShy"
  45. end mouseUp
  46.  
  47.  
  48.  
  49. -- part 3 (button)
  50. -- low flags: 00
  51. -- high flags: A003
  52. -- rect: left=0 top=319 right=341 bottom=100
  53. -- title width / last selected line: 0
  54. -- icon id / first selected line: 0 / 0
  55. -- text alignment: 1
  56. -- font id: 0
  57. -- text size: 12
  58. -- style flags: 0
  59. -- line height: 16
  60. -- part name: New
  61. ----- HyperTalk script -----
  62. -- Start a new game
  63.  
  64. on mouseUp
  65.   global icon1, icon2, numicons, sofar, iconlist, changed
  66.   put 0 into icon1
  67.   put 0 into icon2
  68.   put empty into sofar
  69.   put true into changed
  70.   set cursor to 4 -- watch
  71.   put the number of buttons into numicons
  72.   -- get initial list of icons
  73.   put field 1 of card "Temp Work Storage" into iconlist
  74.   put empty into used
  75.   repeat with j = 1 to numicons
  76.     put false into ok
  77.     repeat until ok
  78.       put (139 + random(numicons)) into theicon
  79.       -- check or make list of icons already used
  80.       if offset(theicon,used) = 0 then
  81.         put theicon && empty after used
  82.         if not geticon(theicon) then put 140 + (theicon mod 36) into theicon
  83.         -- such an icon does not exist in the resources
  84.         put true into ok
  85.         set icon of button j to theicon
  86.         set hilite of button j to false
  87.         show button j
  88.         -- put the new icon no, into list
  89.         -- that HyperCard bug again - it can't handle complex things
  90.         -- put ((theicon mod 36) + 1) into first item of word j of iconlist
  91.         put word j of iconlist into temp
  92.         put second item of temp into layer
  93.         put third item of temp into row
  94.         -- need + 1 since we test for icon = 0
  95.         put ((theicon mod 36) + 1) into theicon
  96.         put theicon&","&layer&","&row into word j of iconlist
  97.         -- add more button attributes here
  98.       end if
  99.     end repeat
  100.   end repeat
  101.   -- put iconlist into msg -- debug
  102.   set cursor to 1 -- arrow
  103. end mouseUp
  104.  
  105.  
  106.  
  107. -- part 4 (button)
  108. -- low flags: 00
  109. -- high flags: A003
  110. -- rect: left=102 top=319 right=341 bottom=202
  111. -- title width / last selected line: 0
  112. -- icon id / first selected line: 0 / 0
  113. -- text alignment: 1
  114. -- font id: 0
  115. -- text size: 12
  116. -- style flags: 0
  117. -- line height: 16
  118. -- part name: Open
  119. ----- HyperTalk script -----
  120. -- Resume an existing game
  121.  
  122. on mouseUp
  123.   global icon1, icon2, numicons, iconlist, sofar, fname, changed
  124.   ask "Resume what Game" with fname
  125.   if (it is empty) or (the result is "Cancel") then exit mouseUp
  126.   put it into fname
  127.   set LockMessages to true
  128.   set LockScreen to true
  129.   go to card fname
  130.   if the result <> empty then
  131.     answer "No such Game" with "OK"
  132.     go to card "Hyper-GunShy Startup"
  133.     send mouseUp to me -- try again, recursive ???
  134.     exit mouseUp
  135.   end if
  136.   -- get the state of the game
  137.   set cursor to 4 -- watch
  138.   put field 1 into iconlist
  139.   put field 2 into sofar
  140.   put the number of words in iconlist into numicons
  141.   subtract the number of words in sofar from numicons
  142.   put 0 into icon1
  143.   put 0 into icon2
  144.   put true into changed
  145.   go to card "Hyper-GunShy Startup"
  146.   repeat with j = 1 to the number of buttons
  147.     set hilite of button j to false
  148.     show button j
  149.   end repeat
  150.   repeat with j = 1 to the number of words in sofar
  151.     put word j of sofar into temp
  152.     get first item of temp
  153.     hide button it
  154.   end repeat
  155.   set LockScreen to false
  156.   set LockMessages to false
  157. end mouseUp
  158.  
  159.  
  160.  
  161. -- part 6 (button)
  162. -- low flags: 00
  163. -- high flags: A003
  164. -- rect: left=306 top=319 right=341 bottom=406
  165. -- title width / last selected line: 0
  166. -- icon id / first selected line: 0 / 0
  167. -- text alignment: 1
  168. -- font id: 0
  169. -- text size: 12
  170. -- style flags: 0
  171. -- line height: 16
  172. -- part name: Save
  173. ----- HyperTalk script -----
  174. -- Save the game
  175.  
  176. on mouseUp
  177.   global numicons, sofar, iconlist, fname, changed
  178.   ask "Save as what game" with fname
  179.   if (it is empty) or (the result is "Cancel") then exit mouseUp
  180.   put it into fname
  181.   set LockScreen to true
  182.   set LockMessages to true
  183.   go to card fname
  184.   if the result is empty then
  185.     answer "OK to replace " & fname with "OK" or "Cancel"
  186.     if it is "Cancel" then
  187.       go to card "Hyper-GunShy Startup"
  188.       send mouseUp to me -- try again, recursive ???
  189.       exit mouseUp
  190.     end if
  191.   else
  192.     go to card "Temp Work Storage"
  193.     set cursor to 4 -- watch
  194.     doMenu "Copy Card"
  195.     doMenu "New Card"
  196.     doMenu "Paste Card"
  197.     set the name of this card to fname
  198.   end if
  199.   -- save the state of the game
  200.   put iconlist into field 1
  201.   put sofar into field 2
  202.   put false into changed
  203.   go to card "Hyper-GunShy Startup"
  204.   set LockScreen to false
  205.   set LockMessages to false
  206. end mouseUp
  207.  
  208.  
  209.  
  210. -- part 7 (button)
  211. -- low flags: 00
  212. -- high flags: 0000
  213. -- rect: left=416 top=316 right=341 bottom=459
  214. -- title width / last selected line: 0
  215. -- icon id / first selected line: 25002 / 25002
  216. -- text alignment: 1
  217. -- font id: 0
  218. -- text size: 12
  219. -- style flags: 0
  220. -- line height: 16
  221. -- part name: Do Help
  222. ----- HyperTalk script -----
  223. on mouseUp
  224.   push card
  225.   visual effect zoom open
  226.   go to card "Hyper-GunShy Help..."
  227. end mouseUp
  228.  
  229.  
  230.  
  231. -- part 8 (button)
  232. -- low flags: 00
  233. -- high flags: 0000
  234. -- rect: left=466 top=316 right=341 bottom=503
  235. -- title width / last selected line: 0
  236. -- icon id / first selected line: 1012 / 1012
  237. -- text alignment: 1
  238. -- font id: 0
  239. -- text size: 12
  240. -- style flags: 0
  241. -- line height: 16
  242. -- part name: Return
  243. ----- HyperTalk script -----
  244. -- Quit from game
  245.  
  246. on mouseUp
  247.   -- maybe ask user whether to save game first
  248.   visual effect iris close
  249.   pop card
  250. end mouseUp
  251.  
  252.  
  253.  
  254. -- part 9 (button)
  255. -- low flags: 00
  256. -- high flags: A003
  257. -- rect: left=204 top=319 right=341 bottom=304
  258. -- title width / last selected line: 0
  259. -- icon id / first selected line: 0 / 0
  260. -- text alignment: 1
  261. -- font id: 0
  262. -- text size: 12
  263. -- style flags: 0
  264. -- line height: 16
  265. -- part name: Restart
  266. ----- HyperTalk script -----
  267. -- Restart the current game
  268. on mouseUp
  269.   global icon1, icon2, num1, num2, sofar, numicons, changed
  270.   put 0 into icon1
  271.   put 0 into icon2
  272.   put 0 into num1
  273.   put 0 into num2
  274.   put true into changed
  275.   put the number of words of sofar into temp
  276.   -- only process icons that have gone
  277.   set cursor to 4 -- watch
  278.   repeat with j = 1 to temp
  279.     get word j of sofar
  280.     set hilite of button it to false
  281.     show button it
  282.   end repeat
  283.   set cursor to 1 -- arrow
  284.   put empty into sofar
  285.   put the number of buttons into numicons
  286. end mouseUp
  287.  
  288. -- quick & dirty utility routine to tidy up all icons
  289. -- to use, enter in msg : send "tidyup" to background button "Restart"
  290.  
  291. on tidyup
  292.   global icon1, icon2, num1, num2, sofar, numicons, changed
  293.   set cursor to 4 -- watch
  294.   put 0 into icon1
  295.   put 0 into icon2
  296.   put 0 into num1
  297.   put 0 into num2
  298.   put true into changed
  299.   put the number of buttons into numicons
  300.   put empty into sofar
  301.   repeat with j = 1 to numicons
  302.     set hilite of button j to false
  303.     show button j
  304.   end repeat
  305.   set cursor to 1 -- arrow
  306. end tidyup
  307.  
  308.  
  309.