home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 601-625 / apd603 / autoexec.amos / autoexec.amosSourceCode
AMOS Source Code  |  1978-03-10  |  5KB  |  201 lines

  1. Screen Open 0,320,200,16,Lowres
  2. Curs Off : Cls 0 : Hide 
  3. Load "letters.abk" : Load "cool_breeze.abk" : Music 1
  4. STEXT$="......... WELCOME  TO  YOUR  VERY  OWN  TABLES  TEST , CREATED  BY  GRAHAM WOOD     "
  5. STEXT$=STEXT$+"  THERE  ARE  TEN  QUESTIONS  FOR  EACH  TEST ,  YOU  ARE  TRYING  TO  SCORE "
  6. STEXT$=STEXT$+"  TEN  OUT  OF  TEN......GOOD  LUCK "
  7. STEXT$=STEXT$+" .........PRESS  MOUSE  KEY  TO  BEGIN  TEST "
  8. INIT_SCROLTEXT[0,150,4,1]
  9. Hide On 
  10. Repeat 
  11.    SCROLTEXT
  12.    Wait Vbl 
  13. Until Mouse Key
  14. Cls 0
  15. Gosub LO
  16. Procedure INIT_SCROLTEXT[SC,Y,V,BB]
  17.    Global STEXT$,SLTEXT,SPTEXT,BBFIRST
  18.    Global SSC,STSCREEN,STREAL,HSFNT
  19.    Global SVX,STX,SSP,SCPT,SX,SY,SOX
  20.    No Mask 
  21.    NCOUL=Deek(Start(15)+4)
  22.    HSFNT=Deek(Start(15))
  23.    STSCREEN=336+16
  24.    STREAL=STSCREEN+32
  25.    SLTEXT=Len(STEXT$)
  26.    SPTEXT=1
  27.    SX=STSCREEN : SY=0
  28.    SVX=V
  29.    STX=0 : SCPT=-V
  30.    SSC=SC : SOX=0
  31.    BBFIRST=BB-1
  32.    Screen Open SC,STREAL,200,NCOUL,0
  33.    Curs Off : Flash Off : Cls 0
  34.    Screen Display SC,,Y,,HSFNT
  35.    Get Sprite Palette 
  36. End Proc
  37. Procedure SCROLTEXT
  38.    Global STEXT$,SLTEXT,SPTEXT,BBFIRST
  39.    Global SSC,STSCREEN,STREAL,HSFNT
  40.    Global SVX,STX,SSP,SCPT,SX,SY,SOX
  41.    SCPT=SCPT+SVX
  42.    If SCPT>=STX
  43.       C=Asc(Mid$(STEXT$,SPTEXT,1))
  44.       SPTEXT=SPTEXT+1 : If SPTEXT>=SLTEXT : SPTEXT=SPTEXT-SLTEXT : End If 
  45.       If C=64 : Cls 0 : SOX=0 : SX=STSCREEN : SY=0 : C=32 : End If 
  46.       A=Start(15)+8+C*2
  47.       SSP=Peek(A)
  48.       STX=Peek(A+1)
  49.       SCPT=0
  50.    End If 
  51.    Clip SX,SY To SX+SVX,SY+HSFNT
  52.    Paste Bob SX-SCPT,SY,SSP
  53.    SX=SX+SVX
  54.    If SX>=STREAL : SX=0 : SY=SY+1 : End If 
  55.    SOX=SOX+SVX : Screen Offset SSC,SOX,0
  56. End Proc
  57. LO:
  58. Load "cool_breeze.abk" : Load Iff "score",4 : Spack 4 To 10 : Cls 0 : Hide 
  59. Load "samples.abk" : Load "plane.abk" : Load Iff "sky",2 : Screen Hide 2
  60. Double Buffer 
  61. PICK:
  62. Music 1 : Screen Open 1,320,200,16,Lowres
  63. Curs Off : Flash Off : Cls 0 : Show On 
  64. Centre "PICK THE TABLE YOU WANT TO TRY"
  65. Reserve Zone 12
  66. Z=1
  67. For X=40 To 230 Step 60
  68.    For Y=20 To 140 Step 60
  69.       Set Zone Z,X,Y To X+55,Y+55
  70.       Set Zone Z,X,Y To X+55,Y+55
  71.       Set Zone Z,X,Y To X+55,Y+55
  72.       Z=Z+1
  73.    Next Y
  74. Next X
  75. Paste Bob 40,20,11 : Paste Bob 100,20,14 : Paste Bob 160,20,17 : Paste Bob 220,20,20
  76. Paste Bob 40,80,12 : Paste Bob 100,80,15 : Paste Bob 160,80,18 : Paste Bob 220,80,21
  77. Paste Bob 40,140,13 : Paste Bob 100,140,16 : Paste Bob 160,140,19 : Paste Bob 220,140,22
  78. Z=0 : While Z=0
  79.    While Mouse Key=0 : Wend 
  80. Z=Mouse Zone : Wend 
  81. If Z=1 Then Gosub Q2
  82. If Z=Mouse Zone Then Gosub Q1
  83. Z=Mouse Zone
  84. Q1:
  85. Screen Close 1
  86. For N=1 To 10
  87.    Screen Open 0,320,200,16,Lowres
  88.    Curs Off : Flash Off : Cls 0 : Hide : Paper 0
  89.    Get Sprite Palette 
  90.    Bob Update Off 
  91.    R=Rnd(12)
  92.    I=26
  93.    For X=1 To 9
  94.       I=I+1
  95.       Bob 11,30,30,I : Bob 12,100,50,I : Bob 13,190,40,I : Bob 17,260,20,I
  96.       Bob 14,30,150,I : Bob 15,100,170,I : Bob 16,190,150,I : Bob 18,260,170,I
  97.       Bob Update 
  98.       Wait 5
  99.       If I=30 Then I=26
  100.    Next X
  101.    Bell 
  102.    Locate 10,12
  103.    Print Z;" TIMES ";R; : Input "=";A
  104.    Screen Close 0
  105.    If A=Z*R
  106.       Gosub RIGHT
  107.    Else 
  108.       Gosub WRONG
  109.    End If 
  110. Next 
  111. Gosub SC
  112. Q2:
  113. Screen Close 1
  114. For N=1 To 10
  115.    Screen Open 0,320,200,16,Lowres
  116.    Curs Off : Flash Off : Cls 0 : Hide : Paper 0
  117.    Bob Update Off 
  118.    Get Sprite Palette 
  119.    R=Rnd(12) : Z=Rnd(12)
  120.    W=26
  121.    For X=1 To 9
  122.       W=W+1
  123.       Bob 11,30,30,W : Bob 12,100,50,W : Bob 13,190,40,W : Bob 17,260,20,W
  124.       Bob 14,30,150,W : Bob 15,100,170,W : Bob 16,190,150,W : Bob 18,260,170,W
  125.       Bob Update 
  126.       Wait 5
  127.       If W=30 Then W=26
  128.    Next X
  129.    Bell 
  130.    Locate 10,12
  131.    Print Z;" TIMES ";R; : Input "=";A
  132.    Screen Close 0
  133.    If A=Z*R
  134.       Gosub RIGHT
  135.    Else 
  136.       Gosub WRONG
  137.    End If 
  138. Next 
  139. Gosub SC
  140. WRONG:
  141. Screen Open 4,320,300,16,Lowres
  142. Curs Off : Hide : Cls 0
  143. Double Buffer 
  144. I=25
  145. Sam Play 7
  146. For L=1 To 10
  147.    Bob 1,180,60,I : Bob 2,110,10,I : Bob 3,55,80,I
  148.    Bob 4,110,140,I : Bob 5,200,170,I : Bob 6,20,170,I
  149.    Bob 7,10,10,I : Bob 8,250,10,I : Bob 9,250,110,I
  150.    Bob Update 
  151.    Wait 10
  152.    I=51-I
  153. Next L
  154. A=0
  155. Screen Close 4
  156. Return 
  157. End 
  158. RIGHT:
  159. Screen Show 2
  160. Curs Off : Hide : Flash Off 
  161. Sam Play %111,11,2700
  162. P=23
  163. For X=480 To -150 Step -4
  164.    Bob Update 
  165.    Bob 10,X,50,P
  166.    Wait Vbl 
  167.    P=47-P
  168. Next 
  169. Sam Play 12
  170. Wait 10
  171. Sam Play 12
  172. For Y=150 To -70 Step -4
  173.    Bob Update 
  174.    Bob 19,40,Y,31 : Bob 20,100,Y,32
  175.    Bob 21,150,Y,33 : Bob 22,210,Y,31
  176.    Bob 23,260,Y,32 : Bob 24,310,Y,33
  177.    Wait Vbl 
  178. Next 
  179. Screen Hide 2
  180. S=S+1
  181. A=0
  182. Return 
  183. SC:
  184. Screen Open 4,320,200,16,Lowres
  185. Curs Off : Hide : Flash Off 
  186. Unpack 10 To 4
  187. Paste Bob 130,80,S
  188. Get Sprite Palette 
  189. G=34
  190. For D=1 To 20
  191.    Bob Update 
  192.    Bob 26,30,60,G
  193.    Bob 27,200,60,G
  194.    G=69-G
  195.    Wait 20
  196.    Wait Vbl 
  197. Next 
  198. Fade 6 : Wait 90
  199. S=0
  200. Screen Close 4
  201. Gosub PICK