home *** CD-ROM | disk | FTP | other *** search
/ AMOS PD CD / amospdcd.iso / 126-150 / apd130 / woodball.bak / woodball.amosSourceCode < prev   
AMOS Source Code  |  1987-06-04  |  9KB  |  314 lines

  1. Rem ***************************************
  2. Rem *                                     *
  3. Rem *    Made by: Patrik Holmstr�m 1990   *  
  4. Rem *             using AMOS              *
  5. Rem *    Contact me: 5:e Bjurhovdag.37    *  
  6. Rem *                723 53 V�STER�S      *
  7. Rem *                SWEDEN               *
  8. Rem *                                     *
  9. Rem ***************************************
  10. Rem  
  11. Rem * Thanks to Frasse for his support 
  12. Rem * Hi to Ronny,Patrik,Per,Claes,Johan,Johnny and the rest.  
  13. Close Workbench : Close Editor 
  14. Change Mouse 2
  15. Dim JX(16),JY(16)
  16. For I=1 To 15 : Read X,Y : JX(I)=X : JY(I)=Y : Next I
  17. Screen Open 0,320,256,32,0
  18. Rem **************** Inledning ************************
  19. Screen Open 1,320,256,32,0
  20. Get Disc Fonts 
  21. Input "Do you have 1 meg.(y/n)?";A$
  22. If A$="y" Then M=1 Else M=0
  23. If M=1 Then Set Talk 0,0,70,100
  24. Cls 1
  25. NYTT:
  26. Sprite Off 
  27. Set Font 1
  28. Text 12,60,"     The Wooden Ball v1,00"
  29. If M=1 Then Say "The Wooden Ball.",0
  30. Sam Play 1,10,3000
  31. Wait 100
  32. Text 14,90,"       A shareware game"
  33. Wait 100
  34. Text 14,110,"Made by Patrik Holmstr�m 1990"
  35. Text 13,130,"           Using AMOS"
  36. Wait 100
  37. Locate 0,19
  38. OMIGEN:
  39. Cls 
  40. Print : Print : Input "     Do you wish instructions(n/y)?";Q$
  41. If Q$="y" Then Goto INST
  42. If Q$="Y" Then Goto INST
  43. If Q$="n" Then Goto STAR
  44. If Q$="N" Then Goto STAR
  45. Goto OMIGEN
  46. STAR:
  47. Locate 0,20
  48. Input "     Players 1 or 2:";SPEL
  49. HEJ:
  50. If SPEL=1 Then Input "     Level 0 to 5:";SG : SG=SG+5 : Goto PATRIK
  51. If SPEL=2 Then Goto PATRIK
  52. Cls : Goto STAR
  53. PATRIK:
  54. If SG>10 Then Goto HEJ
  55. Input "     Ball speed 1 to 3 (3=fastest):";B
  56. If B>3 Then Goto PATRIK
  57. If B<1 Then Goto PATRIK
  58. KICKI:
  59. Input "     Game speed O to 9 (0=fastest):";SH : SH=SH*100
  60. If SH>900 Then Goto KICKI
  61. Print : Print "     Please wait. Loading..."
  62. GG:
  63. L=11 : Rem bana 
  64. P1=0 : P2=0 : Rem poomts 
  65. BANABAKS:
  66.    For R=1 To 14
  67.  Sprite Off R
  68.    Next R
  69. Load Iff "df0:spelplan",0
  70. Load Iff "df0:spelplan",1
  71. Screen Hide 0
  72. Screen Hide 1
  73. Wait 100
  74. NYBANA:
  75. Sprite 1,427,166,5
  76. Sprite Off 13
  77. Sprite Off 14
  78. Limit Mouse 296,169 To 296,170
  79. F1=0 : F2=0
  80. SX=287 : SY=68 : Rem spelares start 
  81. BX=291 : BY=166 : Rem Bollstart
  82. JX=287 : JY=263 : Rem 2spelarstart 
  83. Reserve Zone(1)
  84. Set Zone 1,145,57 To 419,271 : Rem markerar veggar
  85. X=0 : Y=0
  86. Amal Off 
  87. Amal 3,"A 0,(1,1)(2,1)(3,1)(4,1)"
  88. Amal 5,"A 0,(1,1)(2,1)(3,1)(4,1)"
  89. Amal 11,"A 0,(6,2)(7,2)(8,2)"
  90. Amal 12,"A 0,(6,2)(7,2)(8,2)"
  91. Rem Amal 1,"Move 282-X,165-Y,32" 
  92. Make Mask 
  93. Sprite 3,287,68,1
  94. Sprite 5,287,263,1
  95. Sprite 12,286,274,6
  96. Sprite 11,286,49,6
  97. Sprite 10,187,135,L
  98. Screen Show 1
  99. Screen Show 0
  100. Sam Play 4,1,10000
  101.    Paper 2
  102.    Pen 6
  103.    Locate 2,0
  104.    Print P2;
  105.    Locate 2,31
  106.    Print P1;
  107. Wait 10
  108. For R=427 To 291 Step -1 : Sprite 1,R,, : Wait 1 : Next R
  109. If M=1 Then Say "Begin.",0
  110. Sam Play 4,11,4000
  111. Wait 50
  112. Amal On 
  113. Rem ********************  Huvudloopen **************************** 
  114. Rem ********************  Spelare1    **************************** 
  115. HLOOP:
  116.    For SS=0 To SH : Next SS
  117.    Q$=Inkey$ : If Q$="q" Then Sprite Off : Cls 1 : Goto NYTT
  118.    If Q$="p" Then Wait Key 
  119.    A=Joy(1) and 15
  120.    Add SX,JX(A) : Add SY,JY(A)
  121. VEGG:
  122.    Sprite 3,SX,SY,1
  123.    If Zone(X Sprite(3),Y Sprite(3)) Then Goto HIT : Rem kollar om veggkrock
  124.    Add SX,-JX(A) : Add SY,-JY(A) : Goto VEGG
  125. Rem ********************  datorspelare  ************************** 
  126. HIT:
  127. If SPEL=1
  128.       If F2=1
  129.          If JY<200
  130.             If JY>95-(SG*2)
  131.                Sprite Off 13
  132.                F2=0
  133.                X=0
  134.                Y=0
  135.             End If 
  136.          End If 
  137.       End If 
  138.    Sprite 5,JX,JY,3
  139.    If BX=JX
  140.       Goto YLED
  141.    Else 
  142.       If BX>JX
  143.          Add JX,1
  144.       Else 
  145.          Add JX,-1
  146.       End If 
  147.    End If 
  148. YLED:
  149.    If BY=JY-3
  150.       Goto VEGG3
  151.    Else 
  152.       If BY>JY
  153.          If Rnd(10)<SG : Rem svarighetsgrad 1-10svarast   
  154.             Add JY,2
  155.          Else 
  156.             Add JY,1
  157.          End If 
  158.       Else 
  159.          Add JY,-2
  160.       End If 
  161.    End If 
  162. VEGG3:
  163.    If Sprite Col(1,5 To 5)
  164.       Y=-2 : Add JY,-1 : Add BY,-2
  165.       If JX>288
  166.          X=-2
  167.       Else 
  168.          X=2
  169.       End If 
  170.    End If 
  171.    Goto HIT2
  172. End If 
  173. Rem ************************  spelare2 ************************
  174.    A=Joy(0) and 15
  175.    Add JX,JX(A) : Add JY,JY(A)
  176. VEGG2:
  177.    Sprite 5,JX,JY,3
  178.    If Zone(X Sprite(5),Y Sprite(5)) Then Goto HIT2 : Rem kollar om veggkrock
  179.    Add JX,-JX(A) : Add JY,-JY(A) : Goto VEGG2
  180. Rem ************************  Bollen **************************
  181. HIT2:
  182.    Add BX,X*B : Add BY,Y*B
  183. FAST:
  184.    Sprite 1,BX,BY,5
  185.    If BY<59 Then Y=-Y : BY=59 : F2=1 : Sprite 13,436,250,14 : Sam Play 4,14,4000 : Add BY,Y : Goto HLOOP : Rem Boll OM VEGGKROCK
  186.    If BY>279 Then Y=-Y : BY=279 : F1=1 : Sprite 14,436,70,14 : Sam Play 4,14,4000 : Add BY,Y : Goto HLOOP : Rem Boll OM VEGGKROCK
  187.    If BON=0 Then Add CC,1 : If CC=1000 Then Sprite 8,385,224,9 : Sam Play 2,2,4000 Else If CC=1100 Then Sprite 8,317,107,9 : CC=900 : Sam Play 2,2,4500
  188.    If Fire(0) and F2=1 Then X=0 : Sam Play 3,13,14000 : Y=0 : Sprite Off 13 : F2=0
  189.    If Fire(1) and F1=1 Then X=0 : Sam Play 3,13,14000 : Y=0 : Sprite Off 14 : F1=0
  190.    If BX<143 Then X=-X : BX=144 : Sam Play 4,14,4000 : Add BX,X : Goto HLOOP : Rem kollar om veggkrock
  191.    If BX>422 Then X=-X : BX=421 : Sam Play 4,14,4000 : Add BX,X : Goto HLOOP : Rem kollar om veggkrock
  192.    If Sprite Col(3,5 To 5) Then Gosub FIGHT
  193.    If Sprite Col(1,11 To 12) Then Goto GOAL
  194.    On BON Gosub BON1,BON2
  195.    If Sprite Col(8,3 To 5) Then Gosub BONUS
  196.    If Sprite Col(1,3 To 3) Then A=Joy(1) and 15 Else Goto SP2
  197.    Add BX,JX(A) : Add BY,JY(A) : X=JX(A) : Y=JY(A) : Sam Play 1,13,4000
  198. SP2:
  199.    If Sprite Col(1,5 To 5) Then A=Joy(0) and 15 Else Goto ETREF
  200.    Add BX,JX(A) : Add BY,JY(A) : X=JX(A) : Y=JY(A) : Sam Play 1,13,4000
  201. ETREF:
  202. Goto HLOOP
  203. Rem ************************ Slut Huvudloopen ******************** 
  204. Rem
  205. Rem ************************ Spelarkrock ************************* 
  206. FIGHT:
  207.    If BON<>0 Then BON=0
  208.    For R=1 To 5
  209.    A=Joy(0) and 15
  210.    Add JY,2 : Sam Play 1,13,4000
  211.    Sprite 5,JX,JY,3
  212.    If Zone(X Sprite(5),Y Sprite(5)) Then Goto FIT3 Else Add JY,-13
  213. FIT3:
  214.    A=Joy(1) and 15
  215.    Add SY,-2 : Sam Play 1,13,4000
  216.    Sprite 3,SX,SY,3
  217.    If Zone(X Sprite(3),Y Sprite(3)) Then Goto FIT2 Else Add SY,13
  218. FIT2:
  219.    Next R : Return 
  220. Rem *********************** Byte av bana (maal) ****************** 
  221. GOAL:
  222.    If Sprite Col(1,11 To 11) Then L=L+1
  223.    If Sprite Col(1,12 To 12) Then L=L-1
  224.    Sam Play 1,3,4000
  225.    If L=13 Then P1=P1+1 : Sam Play 2,1,4000 : JJ=1 : J=0 : LB=-1 : Goto MAAL
  226.    If L=9 Then P2=P2+1 : Sam Play 2,1,4000 : JJ=0 : J=1 : LB=1 : Goto MAAL
  227.    Fade 3
  228.    BON=0 : Sprite Off 8
  229.    Sprite 10,187,135,L
  230.    For R=1 To 40000 : Next R
  231.    Fade 3 To 0
  232.    Locate 2,0
  233.    Print P2;
  234.    Locate 2,31
  235.    Print P1;
  236.    Goto NYBANA
  237. Rem ********************    Maal  ************************** 
  238. MAAL:
  239.    Sam Play 4,10,5000 : CC=0 : L=11
  240.    Locate 2,0
  241.    Print P2;
  242.    Locate 2,31
  243.    Print P1;
  244.    If P2-P1=3 Then Goto FLUT
  245.    If P1-P2=3 Then Goto FLUT
  246.    Wait 100
  247.    If M=0 Then Goto GULPS
  248.    If P1>P2 Then Say "Come On Player Two.",0
  249.    If P2>P1 Then Say "Come On Player One.",0
  250.    If P1=P2 Then Say "A Tough Game.",0
  251. GULPS:
  252.    Fade 3 : Wait 100
  253.    Fade 3 To 0 : Goto NYBANA
  254. FLUT:
  255.    Wait 100
  256.    Sam Play 4,11,3000
  257.    Wait 200
  258.    Locate 16,0
  259.    Print "GAME OVER."
  260.    If M=1 Then Say "Game Over.",0
  261.    Amal Off 
  262.    Wait Key 
  263.    Sprite Off 
  264.    Cls 1
  265.    Goto NYTT
  266. Rem ************************ Bonusgrej ****************************
  267. BONUS:
  268.    If Sprite Col(8,3 To 3) Then BON=2 : Sprite Off 8 : CC=0 : Sam Play 3,10,6000
  269.    If Sprite Col(8,5 To 5) Then BON=1 : Sprite Off 8 : CC=0 : Sam Play 1,10,6000
  270.    Return 
  271. BON1:
  272.    A=Joy(0) and 15 : X=JX(A) : Y=JY(A) : Return 
  273. BON2:
  274.    A=Joy(1) and 15 : X=JX(A) : Y=JY(A) : Return 
  275. Rem ***************** Instructions ********************************
  276. INST:
  277. Cls 
  278. Locate 0,4
  279. Print "Don't eat shit and talk to your mother  at the same time."
  280. Print "All she will tell you is that your mouthis full with it!"
  281. Print : Print "By the way. If you want the latest      version of this game, please";
  282. Print " send me 40 Swedish Crowns and your adress."
  283. Print "After that you always get the latest    version";
  284. Print " directly from me."
  285. Print "I'll also send you a print of the prg."
  286. Print 
  287. Print "Send it to: "
  288. Print "Patrik Holmstr�m "
  289. Print "5:e Bjurhovdag.37"
  290. Print "723 53 V�ster�s"
  291. Print "SWEDEN"
  292. GULP:
  293. Input "           Real instructions (y/n)?";FF$
  294. If FF$="Y" Then Goto OJ
  295. If FF$="y" Then Goto OJ
  296. If FF$="N" Then Cls : Goto STAR
  297. If FF$="n" Then Cls : Goto STAR
  298. Goto GULP
  299. OJ:
  300. Cls 
  301. Locate 0,4
  302. Print "The game is in three areas:"
  303. Print "DEFEND,CENTER and SCORE AREA"
  304. Print "If the ball hits the other players"
  305. Print "wall you can push the firebutton to"
  306. Print "stop the ball."
  307. Print "Take the bonus to controll the ball."
  308. Print "Hitting the other player when he"
  309. Print "controlls the ball - it's god..."
  310. Print "You have to win with three points."
  311. Print "Key(Q) quits. Key(P) pauses."
  312. Print : Print "Press a key..." : Wait Key : Cls : Goto STAR
  313. Data 0,-2,0,2,0,0,-2,0,-2,-2,-2,2
  314. Data 0,0,2,0,2,-2,2,2,0,0,0,0,0,0,0,0,0,0,0