home *** CD-ROM | disk | FTP | other *** search
/ Sauce 'n' Code 1 / sauce-n-code-01.adf / AMOS_Source / cannoncontrol-M&J.amos / cannoncontrol-M&J.amosSourceCode < prev    next >
AMOS Source Code  |  1995-05-06  |  5KB  |  117 lines

  1. Screen Open 0,320,250,16,Lowres
  2. Double Buffer 
  3. Show On 
  4. Curs Off 
  5. Flash Off 
  6. Limit Mouse 128,50 To 440,290
  7. Get Bob Palette 
  8. Cls 0
  9.  
  10. ' -* Players AMAL Control Program (WoW!-Big Huh?) *-   
  11. '------------------------------------------------------------------- 
  12. ' AMAL Registers hold... 
  13. '                        R0 - Target X co-ordinate (where to go) 
  14. '                        R1 - Target Y co-ordinate (where to go) 
  15. '                        R2 - Flag  ~|     
  16. '                        R3 - Animation Flag 
  17. '                        R4 - Temp X co-ordinate (Joystick Only) 
  18. '                        R5 - Temp Y co-ordinate (Joystick Only) 
  19. '                        R7 - Animation Frame 1
  20. '                        R8 - Animation Frame 2  
  21. '                        R9 - Animation Frame 3  
  22. '------------------------------------------------------------------- 
  23. MOVA$="" : MOVB$=""
  24. MOV1$="" : MOV2$=""
  25.  
  26. MOVJ$="If J1=16 then Jump X;" : Rem Joystick Control 
  27. MOVJ$=MOVJ$+"  Let R0=R4;" : Rem Get TARGET X co-ordinate   
  28. MOVJ$=MOVJ$+"  Let R1=R5;" : Rem Rem Get TARGET Y co-ordinate   
  29.  
  30. MOVM$="If K1=-1 then Jump X;" : Rem Mouse Control
  31. MOVM$=MOVM$+"  Let R0=XS(0,XM);" : Rem Get TARGET X co-ordinate 
  32. MOVM$=MOVM$+"  Let R1=YS(0,YM);" : Rem Get TARGET Y co-ordinate 
  33.  
  34. MOVA$=MOVA$+"  If R0<X then Jump J;"
  35. MOVA$=MOVA$+"  If R0>X then Jump K;"
  36. MOVA$=MOVA$+"  If R1<Y then Jump L;"
  37. MOVA$=MOVA$+"  If R1>Y then Jump M;"
  38. MOVA$=MOVA$+"  Jump A;"
  39. MOVA$=MOVA$+"B:Let R2=1;Pause;" : Rem Set FLAG 
  40.  
  41. MOVM2$="  If K1=-1 then Jump N;" : Rem Left Mouse Button Test 
  42. MOVJ2$="  If J1=16 then Jump O;" : Rem Joystick Fire Button Test
  43.  
  44. MOVB$=MOVB$+"  If R0>X then Jump D;"
  45. MOVB$=MOVB$+"  If R0<X then Jump E;"
  46. MOVB$=MOVB$+"C:If R1>Y then Jump F;"
  47. MOVB$=MOVB$+"  If R1<Y then Jump G;"
  48. MOVB$=MOVB$+"  If X=R0 then Jump H;"
  49. MOVB$=MOVB$+"R:If Y=R1 then Jump I;"
  50. MOVB$=MOVB$+"  Jump B;"
  51. MOVB$=MOVB$+"D:Let X=X+1;If R3=1 then Jump V else Jump C;" : Rem Walk Right 
  52. MOVB$=MOVB$+"E:Let X=X-1;If R3=1 then Jump U else Jump C;" : Rem Walk Left
  53. MOVB$=MOVB$+"F:Let Y=Y+1;If R3=1 then Jump S else Jump B;" : Rem Walk Down
  54. MOVB$=MOVB$+"G:Let Y=Y-1;If R3=1 then Jump T else Jump B;" : Rem Walk Up
  55. MOVB$=MOVB$+"H:If Y=R1 then Jump Y else Jump B;" : Rem Has TARGET Y Been Reached  
  56. MOVB$=MOVB$+"I:If X=R0 then Jump Y else Jump B;" : Rem Has TARGET X Been Reached
  57. MOVB$=MOVB$+"W:Anim 0,(R7,4)(R8,4)(R9,4)(R8,4);Let R3=0;Jump B" : Rem Animate Bob
  58. MOVB$=MOVB$+"X:Let R3=1;Jump B;" : Rem Set Animation On 
  59. MOVB$=MOVB$+"Y:Let R2=0;Anim 0,(R7,0);Jump A;" : Rem Clear FLAG 
  60.  
  61. ' -* Player 1 Animation *- 
  62. MOV1$=MOV1$+"J:Let A=$8007;Jump A;" : Rem LEFT Object
  63. MOV1$=MOV1$+"K:Let A=$0007;Jump A;" : Rem RIGHT Object 
  64. MOV1$=MOV1$+"L:Let A=$0004;Jump A;" : Rem UP Object
  65. MOV1$=MOV1$+"M:Let A=$0001;Jump A;" : Rem DOWN Object
  66. MOV1$=MOV1$+"S:Let R7=1;Let R8=2;Let R9=3;Jump W;" : Rem Animate DOWN 
  67. MOV1$=MOV1$+"T:Let R7=4;Let R8=5;Let R9=6;Jump W;" : Rem Animate UP 
  68. MOV1$=MOV1$+"U:Let R7=$8007:Let R8=$8008;Let R9=$8009;Jump W;" : Rem Animate LEFT 
  69. MOV1$=MOV1$+"V:Let R7=7;Let R8=8;Let R9=9;Jump W;" : Rem Animate RIGHT
  70. MOV1$=MOV1$+"N:Let R0=XS(0,XM);Let R1=YS(0,YM);Jump X;" : Rem Get New TARGET X & Y 
  71.  
  72. ' -* Player 2 Animation *- 
  73. MOV2$=MOV2$+"J:Let A=$8007;Jump A;" : Rem LEFT Object
  74. MOV2$=MOV2$+"K:Let A=$0007;Jump A;" : Rem RIGHT Object 
  75. MOV2$=MOV2$+"L:Let A=$0004;Jump A;" : Rem UP Object
  76. MOV2$=MOV2$+"M:Let A=$0001;Jump A;" : Rem DOWN Object
  77. MOV2$=MOV2$+"S:Let R7=1;Let R8=2;Let R9=3;Jump W;" : Rem Animate DOWN 
  78. MOV2$=MOV2$+"T:Let R7=4;Let R8=5;Let R9=6;Jump W;" : Rem Animate UP 
  79. MOV2$=MOV2$+"U:Let R7=$8007:Let R8=$8008;Let R9=$8009;Jump W;" : Rem Animate LEFT 
  80. MOV2$=MOV2$+"V:Let R7=7;Let R8=8;Let R9=9;Jump W;" : Rem Animate RIGHT
  81. MOV2$=MOV2$+"O:Let R0=R4;Let R1=R5;Jump X;" : Rem Get New TARGET X & Y 
  82.  
  83. ' -* Set Player 2 Up *-
  84. P1X_START=100 : P1Y_START=100
  85. Bob 1,P1X_START,P1Y_START,1
  86. Channel 1 To Bob 1
  87. Amal 1,"A:"+MOVM$+MOVA$+MOVM2$+MOVB$+MOV1$
  88.  
  89. ' -* Set Player 1 Up *-
  90. P2X_START=150 : P2Y_START=100
  91. Bob 2,P2X_START,P2Y_START,1
  92. Channel 2 To Bob 2
  93. Amal 2,"A:"+MOVJ$+MOVA$+MOVJ2$+MOVB$+MOV2$
  94.  
  95. ' -* Position Players Pointers *-
  96. P2X=P2X_START
  97. P2Y=P2Y_START
  98.  
  99. ' -* Start Players AMAL Control *- 
  100. Amal On 
  101.  
  102. ' -* Main Control Testing Loop *-
  103. Do 
  104.    ' -* Player 2's Joystick Controls *- 
  105.    If Jleft(1)=True : P2X=P2X-3 : End If 
  106.    If Jright(1)=True : P2X=P2X+3 : End If 
  107.    If Jup(1)=True : P2Y=P2Y-3 : End If 
  108.    If Jdown(1)=True : P2Y=P2Y+3 : End If 
  109.    If P2X<0 Then P2X=0
  110.    If P2X>320 Then P2X=320
  111.    If P2Y>200 Then P2Y=200
  112.    If P2Y<0 Then P2Y=0
  113.    Amreg(2,4)=P2X : Amreg(2,5)=P2Y
  114.    Bob 3,P2X,P2Y,9 : Rem PL2 Pointer
  115.    Exit If Inkey$=Chr$(27)
  116.    Wait Vbl 
  117. Loop