home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 4: Demo 1 / almathera_demo1.bin / amos / hit_the_target.amos / hit_the_target.amosSourceCode
AMOS Source Code  |  1995-03-16  |  3KB  |  151 lines

  1. Screen Open 0,320,256,16,Lowres
  2. Curs Off : Flash Off : Hide On : Cls 0
  3. ' loading title picture  
  4. ' Check to see if it's a 1 Meg Machine 
  5. If Chip Free>250000
  6.    MEG1=1
  7. Else 
  8.    MEG1=0
  9. End If 
  10. If Exist("Df0:Hit_The_Target.Bak")
  11.    Kill "Df0:Hit_The_Target.Bak"
  12. End If 
  13. Load "Graphics/gun.pic"
  14. Unpack 5 To 0
  15. Erase 5
  16. Repeat 
  17. Until Fire(1) or Fire(0)
  18. Cls 0
  19. Load "Graphics/tent.pic"
  20. Unpack 5 To 0
  21. Erase 5
  22. Load "Graphics/targets.abk"
  23. If MEG1=1
  24.    Load "Sound/Piano-Piece.Abk"
  25.    Music 1
  26. End If 
  27. Double Buffer 
  28. HI=0
  29. X=75 : Y=0
  30. Global X,Y,MEG1,HI
  31. SETUPLOT
  32. '
  33. Procedure SETUPLOT
  34.    X=75 : Y=0
  35.    Global X,Y
  36.    Get Sprite Palette 
  37.    MOVETARGETS
  38.    MOVEGUN
  39. End Proc
  40. '
  41. Procedure MOVETARGETS
  42.    Bob 1,20,130,1 : Bob 2,275,80,2 : Bob 3,20,41,3 : Bob 0,20,130,1
  43.    Channel 0 To Bob 0 : Channel 1 To Bob 1 : Channel 2 To Bob 2 : Channel 3 To Bob 3
  44.    Amal 0,"L:M 255,0,20;M -255,0,20;J L"
  45.    Amal 1,"L:M 255,0,60;M -255,0,60;J L" : Amal 2,"L:M -255,0,40;M 255,0,40;J L" : Amal 3,"L:M 255,0,50;M -255,0,50;J L"
  46.    Amal On 
  47. End Proc
  48. '
  49. Procedure MOVEGUN
  50.    Bob 4,X,Y,4
  51.    A$="Let R0=1 ; "
  52.    A$=A$+"A: If J1&1 then Jump E ;" : Rem up 
  53.    A$=A$+"B: If J1&2 then Jump F ;" : Rem down 
  54.    A$=A$+"C: If J1&4 then Jump G ;" : Rem left 
  55.    A$=A$+"D: If J1&8 then Jump H ;" : Rem right  
  56.    A$=A$+"Jump A ;"
  57.    A$=A$+"G: Let X=X-R0 ; Jump D ;"
  58.    A$=A$+"H: Let X=X+R0 ; Jump A ;"
  59.    A$=A$+"E: Let Y=Y-R0 ; Jump B ;"
  60.    A$=A$+"F: Let Y=Y+R0 ; Jump C ;"
  61.    Bob 4,160,100,4
  62.    Channel 4 To Bob 4
  63.    Amal 4,A$
  64.    Amal On 4
  65.    Do 
  66.       Pen 1 : Paper 0 : Curs Off 
  67.       SHOT
  68.       If X=0 Then OVER
  69.       If X>=10
  70.          Print At(3,30)+"SHOTS",X
  71.       Else 
  72.          Print At(3,30)+"SHOTS",X;" "
  73.       End If 
  74.       Print At(20,30)+"SCORE",Y
  75.    Loop 
  76. End Proc
  77. '
  78. Procedure SHOT
  79.    If Bob Col(4,0 To 3) and Fire(1) or Fire(0)
  80.       X=X-1
  81.       If Bob Col(4,0 To 0)
  82.          Amal Off 0
  83.          Bob 0,20,130,1
  84.          Channel 0 To Bob 0
  85.          Amal 0,"L:M 255,0,20;M -255,0,20;J L"
  86.          Amal On 0
  87.          Y=Y+50
  88.       End If 
  89.       If Bob Col(4,1 To 1)
  90.          Amal Off 1
  91.          Bob 1,20,130,1
  92.          Channel 1 To Bob 1
  93.          Amal 1,"L:M 255,0,60;M -255,0,60;J L"
  94.          Amal On 1
  95.          Y=Y+10
  96.       End If 
  97.       If Bob Col(4,2 To 2)
  98.          Amal Off 2
  99.          Bob 2,275,80,2
  100.          Channel 2 To Bob 2
  101.          Amal 2,"L:M -255,0,40;M 255,0,40;J L"
  102.          Amal On 2
  103.          Y=Y+30
  104.       End If 
  105.       If Bob Col(4,3 To 3)
  106.          Amal Off 3
  107.          Bob 3,20,41,3
  108.          Channel 3 To Bob 3
  109.          Amal 3,"L:M 255,0,50;M -255,0,50;J L"
  110.          Amal On 3
  111.          Y=Y+20
  112.       End If 
  113.    End If 
  114.    If Fire(1) or Fire(0) and Not Bob Col(4,0 To 3)
  115.       Paste Bob X Bob(4)-10,Y Bob(4)-10,5
  116.       X=X-1
  117.    End If 
  118. End Proc
  119. '
  120. Procedure OVER
  121.    Amal Off 
  122.    Bob Off 
  123.    Cls 0
  124.    Print At(10,10)+"Your Score Was";Y
  125.    If Y>HI
  126.       HI=Y
  127.       Centre At(,11)+"You also have set a new Hi-Score!"
  128.    End If 
  129.    Centre At(,13)+"Hi Score:"+Str$(HI)
  130.    Centre At(,15)+"Press A Key"
  131.    Curs Off 
  132.    Wait Key 
  133.    SETUPSCREEN1
  134. End Proc
  135. '
  136. Procedure SETUPSCREEN1
  137.    Cls 0
  138.    Load "Graphics/tent.pic"
  139.    Unpack 5 To 0
  140.    Erase 5
  141.    Double Buffer 
  142.    SETUPLOT
  143. End Proc
  144. '
  145. ' Congratulations must go to NICK on his FIRST EVER AMOS game. 
  146. ' ------------------------------------------------------------ 
  147. ' (I Will take the credit for the Music though!) 
  148. '
  149. ' All of Nick's original Code is here, plus a few extras that I  
  150. ' added..... 
  151. '