home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 076-100 / apd096 / autoexec.amos / autoexec.amosSourceCode
AMOS Source Code  |  1994-01-01  |  8KB  |  405 lines

  1. 'Program debugged By Peter Winnard   ' 
  2. 'and Paul Townsend of Technical Fred Software
  3. 'of Technical Fred Software
  4. BEGIN:
  5. Default 
  6. Fade 5
  7. Randomize Timer
  8. Dim SHA(40)
  9. Dim X1(2)
  10. Dim Y1(2)
  11. Dim N(37)
  12. Volume 1,63
  13. NBV=0
  14. X1=0
  15. Y1=0
  16. FG=0
  17. HA=0
  18. SA=0
  19. TA=0
  20. LP=0
  21. A=0
  22. DG=0
  23. SC1=0
  24. SC2=0
  25. Load ":Music.abk"
  26. Load ":Samples.abk"
  27. Load Iff ":back.pic",0 : Curs Off : Flash Off 
  28. Curs Off : Flash Off 
  29. Limit Mouse 135,52 To 425,200-18
  30. Change Mouse 2
  31. Paper 10
  32. Pen 0
  33. Wait 100
  34. X=20
  35. Y=9
  36. Reserve Zone 36
  37. 1345 Gosub CLEAR
  38. Locate 18,19
  39. Print "Select tiles..."
  40. Locate 18,21
  41. Print "1. Default"
  42. Locate 18,22
  43. Print "2. Faces"
  44. Locate 18,23
  45. Print "3. Fruit & Veg."
  46. Locate 18,24
  47. Print "4. Patterns"
  48. Locate 18,25
  49. Print "5. Mark's Creations"
  50. Locate 18,28
  51. Input " Choice: ";WE$
  52. Gosub CLEAR
  53. Locate 18,19
  54. Print "Normal, or Hard Game"
  55. Locate 18,21
  56. Input "(N/H): ";HU$
  57. Locate 18,23
  58. If HU$="h" Then Goto 987
  59. Goto 351
  60. 987 Print "Mix after..."
  61. Locate 18,25
  62. Input "Moves (2-15): ";MO
  63. If MO>15 or MO<2 Then Goto 987
  64. Locate 18,27
  65. 351 Input "Music (Y/N): ";HG$
  66. PI=0
  67. If HG$="yes" Then PI=2
  68. If HG$="y" Then PI=2
  69. HA=0
  70. If MO>0 Then HA=1
  71. If WE$="1" Then Load ":Squares.abk" : Goto 432
  72. If WE$="2" Then Load ":Sqaures - Faces.abk" : Goto 432
  73. If WE$="3" Then Load ":Sqaures - F & G.abk" : Goto 432
  74. If WE$="4" Then Load ":Sqaures - Patterns.abk" : Goto 432
  75. If WE$="5" Then Load ":Sqaures - Marks.abk" : Goto 432
  76. Goto 1345
  77. 432 Gosub CLEAR
  78. SC1=0
  79. SC2=0
  80. For TY=1 To 36
  81. DG=DG+1
  82. If DG=10 Then DG=1 : Y=Y+30 : X=20
  83. If X=10 Then X=1
  84. If TY>1 and DG>1 Then X=X+30
  85. Paste Bob X,Y,TY
  86. Set Zone TY,X,Y To X+25,Y+25
  87. Shoot 
  88. If Mouse Key<>1 Then Wait 20
  89. Next TY
  90. Locate 18,19
  91. Print "Let's play PAIR-IT;"
  92. Sam Play 1
  93. Locate 18,21
  94. Print "Player 1, name:"
  95. Locate 18,23
  96. Input " ";N1$
  97. Locate 18,25
  98. Print "Player 2, name:"
  99. Locate 18,27
  100. Input " ";N2$
  101. CLEART:
  102. Double Buffer 
  103. Curs Off 
  104. Gosub CLEAR
  105. Locate 18,19
  106. Print "Randomizing Squares!"
  107. Locate 18,21
  108. A=4
  109. B=4
  110. C=4
  111. D=4
  112. E=4
  113. F=4
  114. G=4
  115. H=4
  116. I=4
  117. For X=1 To 36
  118. J=0
  119. 99 Z=Rnd(8)
  120. If Z=0 and A>0 Then A=A-1 : SHA(X)=37 : J=1
  121. If Z=1 and B>0 Then B=B-1 : SHA(X)=38 : J=1
  122. If Z=2 and C>0 Then C=C-1 : SHA(X)=39 : J=1
  123. If Z=3 and D>0 Then D=D-1 : SHA(X)=40 : J=1
  124. If Z=4 and E>0 Then E=E-1 : SHA(X)=41 : J=1
  125. If Z=5 and F>0 Then F=F-1 : SHA(X)=42 : J=1
  126. If Z=6 and G>0 Then G=G-1 : SHA(X)=43 : J=1
  127. If Z=7 and H>0 Then H=H-1 : SHA(X)=44 : J=1
  128. If Z=8 and I>0 Then I=I-1 : SHA(X)=45 : J=1
  129. If J=0 Then Goto 99
  130. Next X
  131. A=4
  132. B=4
  133. C=4
  134. D=4
  135. E=4
  136. F=4
  137. G=4
  138. H=4
  139. I=4
  140. Wait 100
  141. Print "Finished!!!"
  142. Curs Off 
  143. Gosub CLEAR
  144. NBV=0
  145. GAME1:
  146. Bob Off 
  147. If HA=1 Then NBV=NBV+1 : Goto 42
  148. Goto 64
  149. 42 If NBV=MO+1 Then Gosub SHUFFLE
  150. 64 X1(1)=0
  151. Y1(1)=0
  152. X1(2)=0
  153. Y1(2)=0
  154. FG=0
  155. LP=0
  156. SA=0
  157. TA=0
  158. Locate 18,19
  159. Print N1$; : WE=Len(N1$) : WE=20-WE : For IT=1 To WE : Print " "; : Next IT
  160. Locate 18,21
  161. Print "Score: ";SC1;"    "
  162. Locate 18,23
  163. Print "Select 2 Squares..."
  164. If PI=2 Then Music 1
  165. If PI=2 Then PI=1
  166. Do 
  167. If Mouse Zone>0 and Mouse Key=1 Then FG=Mouse Zone : SRD=1 : If PI<>1 Then Bell 
  168. If SRD=1 Then SRD=0 : Exit 
  169. Loop 
  170. LP=FG
  171. X1(1)=X1(1)+20
  172. 14 If FG<10 Then X1(1)=X1(1)+FG*30-30
  173. If FG<19 and FG>9 Then FG=FG-9 : Goto 14
  174. If FG<28 and FG>18 Then FG=FG-18 : Goto 14
  175. If FG<37 and FG>27 Then FG=FG-27 : Goto 14
  176. Y1(1)=Y1(1)+30
  177. 15 If LP<10 Then Y1(1)=Y1(1)-21
  178. If LP<19 and LP>9 Then Y1(1)=Y1(1)+9
  179. If LP<28 and LP>18 Then Y1(1)=Y1(1)+39
  180. If LP<37 and LP>27 Then Y1(1)=Y1(1)+69
  181. REVEAL1:
  182. Channel 1 To Bob 47
  183. Bob 47,X1(1),Y1(1),47
  184. Amal 1,"A 1,(47,5)(48,5)(49,5)(50,5)(51,5)(52,5)(53,5)(54,5)(55,5)(56,5)"
  185. Amal On 1
  186. Paste Bob X1(1),Y1(1),SHA(LP)
  187. Wait 50
  188. Do 
  189. If Mouse Zone>0 and Mouse Zone<>LP and Mouse Key=1 Then SA=Mouse Zone : SRD=1 : If PI<>1 Then Bell 
  190. If SRD=1 Then SRD=0 : Exit 
  191. Loop 
  192. TA=SA
  193. X1(2)=X1(2)+20
  194. 72 If SA<10 Then X1(2)=X1(2)+SA*30-30
  195. If SA<19 and SA>9 Then SA=SA-9 : Goto 72
  196. If SA<28 and SA>18 Then SA=SA-18 : Goto 72
  197. If SA<37 and SA>27 Then SA=SA-27 : Goto 72
  198. Y1(2)=Y1(2)+30
  199. 667 If TA<10 Then Y1(2)=Y1(2)-21
  200. If TA<19 and TA>9 Then Y1(2)=Y1(2)+9
  201. If TA<28 and TA>18 Then Y1(2)=Y1(2)+39
  202. If TA<37 and TA>27 Then Y1(2)=Y1(2)+69
  203. REVEAL2:
  204. Channel 2 To Bob 47
  205. Bob 47,X1(2),Y1(2),47
  206. Amal 2,"A 1,(47,5)(48,5)(49,5)(50,5)(51,5)(52,5)(53,5)(54,5)(55,5)(56,5)"
  207. Amal On 2
  208. Paste Bob X1(2),Y1(2),SHA(TA)
  209. Wait 100
  210. CHECK:
  211. If SHA(LP)=SHA(TA) Then Goto BLANK
  212. If PI<>1 Then Sam Play 3
  213. If PI=1 Then Sam Play 4,3,19000
  214. Paste Bob X1(1),Y1(1),LP
  215. Paste Bob X1(2),Y1(2),TA
  216. Goto GAME2
  217. BLANK:
  218. SC1=SC1+10
  219. If PI<>1 Then Sam Play 2
  220. If PI=1 Then Sam Play 4,2,19000
  221. Paste Bob X1(1),Y1(1),46
  222. Paste Bob X1(2),Y1(2),46
  223. Reset Zone LP
  224. Reset Zone TA
  225. N(LP)=1
  226. N(TA)=1
  227. If SHA(LP)=37 Then A=A-2
  228. If SHA(LP)=38 Then B=B-2
  229. If SHA(LP)=39 Then C=C-2
  230. If SHA(LP)=40 Then D=D-2
  231. If SHA(LP)=41 Then E=E-2
  232. If SHA(LP)=42 Then F=F-2
  233. If SHA(LP)=43 Then G=G-2
  234. If SHA(LP)=44 Then H=H-2
  235. If SHA(LP)=45 Then I=I-2
  236. If SC1+SC2=180 Then Goto FINN
  237. Goto GAME1
  238. GAME2:
  239. Bob Off 
  240. If HA=1 Then NBV=NBV+1 : Goto 656
  241. Goto 456
  242. 656 If NBV=MO+1 Then Gosub SHUFFLE
  243. 456 X1(1)=0
  244. Y1(1)=0
  245. X1(2)=0
  246. Y1(2)=0
  247. FG=0
  248. LP=0
  249. SA=0
  250. TA=0
  251. Locate 18,19
  252. Print N2$; : WE=Len(N2$) : WE=20-WE : For YT=1 To WE : Print " "; : Next YT
  253. Locate 18,21
  254. Print "Score: ";SC2;"    "
  255. Locate 18,23
  256. Print "Select 2 Squares..."
  257. Do 
  258. If Mouse Zone>0 and Mouse Key=1 Then FG=Mouse Zone : SRD=1 : If PI<>1 Then Bell 
  259. If SRD=1 Then SRD=0 : Exit 
  260. Loop 
  261. LP=FG
  262. X1(1)=X1(1)+20
  263. 61 If FG<10 Then X1(1)=X1(1)+FG*30-30
  264. If FG<19 and FG>9 Then FG=FG-9 : Goto 61
  265. If FG<28 and FG>18 Then FG=FG-18 : Goto 61
  266. If FG<37 and FG>27 Then FG=FG-27 : Goto 61
  267. Y1(1)=Y1(1)+30
  268. 63 If LP<10 Then Y1(1)=Y1(1)-21
  269. If LP<19 and LP>9 Then Y1(1)=Y1(1)+9
  270. If LP<28 and LP>18 Then Y1(1)=Y1(1)+39
  271. If LP<37 and LP>27 Then Y1(1)=Y1(1)+69
  272. REVEAL3:
  273. Channel 3 To Bob 47
  274. Bob 47,X1(1),Y1(1),47
  275. Amal 3,"A 1,(47,5)(48,5)(49,5)(50,5)(51,5)(52,5)(53,5)(54,5)(55,5)(56,5)"
  276. Amal On 3
  277. Paste Bob X1(1),Y1(1),SHA(LP)
  278. Wait 50
  279. Do 
  280. If Mouse Zone>0 and Mouse Zone<>LP and Mouse Key=1 Then SA=Mouse Zone : SRD=1 : If PI<>1 Then Bell 
  281. If SRD=1 Then SRD=0 : Exit 
  282. Loop 
  283. TA=SA
  284. X1(2)=X1(2)+20
  285. 66 If SA<10 Then X1(2)=X1(2)+SA*30-30
  286. If SA<19 and SA>9 Then SA=SA-9 : Goto 66
  287. If SA<28 and SA>18 Then SA=SA-18 : Goto 66
  288. If SA<37 and SA>27 Then SA=SA-27 : Goto 66
  289. Y1(2)=Y1(2)+30
  290. 65 If TA<10 Then Y1(2)=Y1(2)-21
  291. If TA<19 and TA>9 Then Y1(2)=Y1(2)+9
  292. If TA<28 and TA>18 Then Y1(2)=Y1(2)+39
  293. If TA<37 and TA>27 Then Y1(2)=Y1(2)+69
  294. REVEAL4:
  295. Channel 1 To Bob 47
  296. Bob 47,X1(2),Y1(2),47
  297. Amal 1,"A 1,(47,5)(48,5)(49,5)(50,5)(51,5)(52,5)(53,5)(54,5)(55,5)(56,5)"
  298. Amal On 1
  299. Paste Bob X1(2),Y1(2),SHA(TA)
  300. Wait 100
  301. CHECK2:
  302. If SHA(LP)=SHA(TA) Then Goto BLANK2
  303. If PI<>1 Then Sam Play 3
  304. If PI=1 Then Sam Play 4,3,19000
  305. Paste Bob X1(1),Y1(1),LP
  306. Paste Bob X1(2),Y1(2),TA
  307. Goto GAME1
  308. BLANK2:
  309. SC2=SC2+10
  310. If PI<>1 Then Sam Play 2
  311. If PI=1 Then Sam Play 4,2,19000
  312. Paste Bob X1(1),Y1(1),46
  313. Paste Bob X1(2),Y1(2),46
  314. Reset Zone LP
  315. Reset Zone TA
  316. N(LP)=1
  317. N(TA)=1
  318. If SHA(LP)=37 Then A=A-2
  319. If SHA(LP)=38 Then B=B-2
  320. If SHA(LP)=39 Then C=C-2
  321. If SHA(LP)=40 Then D=D-2
  322. If SHA(LP)=41 Then E=E-2
  323. If SHA(LP)=42 Then F=F-2
  324. If SHA(LP)=43 Then G=G-2
  325. If SHA(LP)=44 Then H=H-2
  326. If SHA(LP)=45 Then I=I-2
  327. If SC1+SC2=180 Then Goto FINN
  328. Goto GAME2
  329. FINN:
  330. Bob Off 
  331. Gosub CLEAR
  332. If PI<>1 Then 934
  333. For YR=63 To 1 Step -1
  334. Mvolume YR
  335. Wait 8
  336. Next YR
  337. 934
  338. Music Off 
  339. Mvolume 63
  340. Load ":Gameover"
  341. Locate 18,19
  342. Print "GAME OVER...."
  343. Music 1
  344. Wait 50
  345. Wait 200
  346. Locate 18,21
  347. Print N1$
  348. Wait 200
  349. Locate 18,23
  350. Print "Has";SC1;" points!"
  351. Locate 18,25
  352. Print N2$
  353. Wait 200
  354. Locate 18,27
  355. Print "Has";SC2;" points!"
  356. Locate 18,29
  357. Print "The winner is..."
  358. Wait 200
  359. Gosub CLEAR
  360. Music Off 
  361. Locate 18,19
  362. If SC1>SC2 Then Print N1$
  363. If SC2>SC1 Then Print N2$
  364. If SC2=SC1 Then Print "No-body! It's a draw!"
  365. Locate 18,21
  366. Print "Click a mouse button"
  367. Locate 18,23
  368. Print "for another game..."
  369. Do 
  370. If Mouse Key=1 Then Exit 
  371. Loop 
  372. Music Off 
  373. Fade 5
  374. Run "AUTOEXEC.AMOS"
  375. SHUFFLE:
  376. MO=99
  377. NBV=0
  378. HA=0
  379. Gosub CLEAR
  380. Locate 18,19
  381. Print "Shuffling Tiles!"
  382. Wait 50
  383. For DF=1 To 36
  384. JA=0
  385. If N(DF)=0 Then Gosub 97
  386. Next DF
  387. 97 Z=Rnd(8)
  388. If Z=0 and A>0 Then A=A-1 : SHA(DF)=37 : JA=1
  389. If Z=1 and B>0 Then B=B-1 : SHA(DF)=38 : JA=1
  390. If Z=2 and C>0 Then C=C-1 : SHA(DF)=39 : JA=1
  391. If Z=3 and D>0 Then D=D-1 : SHA(DF)=40 : JA=1
  392. If Z=4 and E>0 Then E=E-1 : SHA(DF)=41 : JA=1
  393. If Z=5 and F>0 Then F=F-1 : SHA(DF)=42 : JA=1
  394. If Z=6 and G>0 Then G=G-1 : SHA(DF)=43 : JA=1
  395. If Z=7 and H>0 Then H=H-1 : SHA(DF)=44 : JA=1
  396. If Z=8 and I>0 Then I=I-1 : SHA(DF)=45 : JA=1
  397. If JA=0 Then Goto 97
  398. Shoot 
  399. Return 
  400. CLEAR:
  401. For KL=31 To 19 Step -1
  402. Locate 18,KL
  403. Print "                     ";
  404. Next KL
  405. Return