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 >
Wrap
AMOS Source Code
|
1995-05-06
|
5KB
|
117 lines
Screen Open 0,320,250,16,Lowres
Double Buffer
Show On
Curs Off
Flash Off
Limit Mouse 128,50 To 440,290
Get Bob Palette
Cls 0
' -* Players AMAL Control Program (WoW!-Big Huh?) *-
'-------------------------------------------------------------------
' AMAL Registers hold...
' R0 - Target X co-ordinate (where to go)
' R1 - Target Y co-ordinate (where to go)
' R2 - Flag ~|
' R3 - Animation Flag
' R4 - Temp X co-ordinate (Joystick Only)
' R5 - Temp Y co-ordinate (Joystick Only)
' R7 - Animation Frame 1
' R8 - Animation Frame 2
' R9 - Animation Frame 3
'-------------------------------------------------------------------
MOVA$="" : MOVB$=""
MOV1$="" : MOV2$=""
MOVJ$="If J1=16 then Jump X;" : Rem Joystick Control
MOVJ$=MOVJ$+" Let R0=R4;" : Rem Get TARGET X co-ordinate
MOVJ$=MOVJ$+" Let R1=R5;" : Rem Rem Get TARGET Y co-ordinate
MOVM$="If K1=-1 then Jump X;" : Rem Mouse Control
MOVM$=MOVM$+" Let R0=XS(0,XM);" : Rem Get TARGET X co-ordinate
MOVM$=MOVM$+" Let R1=YS(0,YM);" : Rem Get TARGET Y co-ordinate
MOVA$=MOVA$+" If R0<X then Jump J;"
MOVA$=MOVA$+" If R0>X then Jump K;"
MOVA$=MOVA$+" If R1<Y then Jump L;"
MOVA$=MOVA$+" If R1>Y then Jump M;"
MOVA$=MOVA$+" Jump A;"
MOVA$=MOVA$+"B:Let R2=1;Pause;" : Rem Set FLAG
MOVM2$=" If K1=-1 then Jump N;" : Rem Left Mouse Button Test
MOVJ2$=" If J1=16 then Jump O;" : Rem Joystick Fire Button Test
MOVB$=MOVB$+" If R0>X then Jump D;"
MOVB$=MOVB$+" If R0<X then Jump E;"
MOVB$=MOVB$+"C:If R1>Y then Jump F;"
MOVB$=MOVB$+" If R1<Y then Jump G;"
MOVB$=MOVB$+" If X=R0 then Jump H;"
MOVB$=MOVB$+"R:If Y=R1 then Jump I;"
MOVB$=MOVB$+" Jump B;"
MOVB$=MOVB$+"D:Let X=X+1;If R3=1 then Jump V else Jump C;" : Rem Walk Right
MOVB$=MOVB$+"E:Let X=X-1;If R3=1 then Jump U else Jump C;" : Rem Walk Left
MOVB$=MOVB$+"F:Let Y=Y+1;If R3=1 then Jump S else Jump B;" : Rem Walk Down
MOVB$=MOVB$+"G:Let Y=Y-1;If R3=1 then Jump T else Jump B;" : Rem Walk Up
MOVB$=MOVB$+"H:If Y=R1 then Jump Y else Jump B;" : Rem Has TARGET Y Been Reached
MOVB$=MOVB$+"I:If X=R0 then Jump Y else Jump B;" : Rem Has TARGET X Been Reached
MOVB$=MOVB$+"W:Anim 0,(R7,4)(R8,4)(R9,4)(R8,4);Let R3=0;Jump B" : Rem Animate Bob
MOVB$=MOVB$+"X:Let R3=1;Jump B;" : Rem Set Animation On
MOVB$=MOVB$+"Y:Let R2=0;Anim 0,(R7,0);Jump A;" : Rem Clear FLAG
' -* Player 1 Animation *-
MOV1$=MOV1$+"J:Let A=$8007;Jump A;" : Rem LEFT Object
MOV1$=MOV1$+"K:Let A=$0007;Jump A;" : Rem RIGHT Object
MOV1$=MOV1$+"L:Let A=$0004;Jump A;" : Rem UP Object
MOV1$=MOV1$+"M:Let A=$0001;Jump A;" : Rem DOWN Object
MOV1$=MOV1$+"S:Let R7=1;Let R8=2;Let R9=3;Jump W;" : Rem Animate DOWN
MOV1$=MOV1$+"T:Let R7=4;Let R8=5;Let R9=6;Jump W;" : Rem Animate UP
MOV1$=MOV1$+"U:Let R7=$8007:Let R8=$8008;Let R9=$8009;Jump W;" : Rem Animate LEFT
MOV1$=MOV1$+"V:Let R7=7;Let R8=8;Let R9=9;Jump W;" : Rem Animate RIGHT
MOV1$=MOV1$+"N:Let R0=XS(0,XM);Let R1=YS(0,YM);Jump X;" : Rem Get New TARGET X & Y
' -* Player 2 Animation *-
MOV2$=MOV2$+"J:Let A=$8007;Jump A;" : Rem LEFT Object
MOV2$=MOV2$+"K:Let A=$0007;Jump A;" : Rem RIGHT Object
MOV2$=MOV2$+"L:Let A=$0004;Jump A;" : Rem UP Object
MOV2$=MOV2$+"M:Let A=$0001;Jump A;" : Rem DOWN Object
MOV2$=MOV2$+"S:Let R7=1;Let R8=2;Let R9=3;Jump W;" : Rem Animate DOWN
MOV2$=MOV2$+"T:Let R7=4;Let R8=5;Let R9=6;Jump W;" : Rem Animate UP
MOV2$=MOV2$+"U:Let R7=$8007:Let R8=$8008;Let R9=$8009;Jump W;" : Rem Animate LEFT
MOV2$=MOV2$+"V:Let R7=7;Let R8=8;Let R9=9;Jump W;" : Rem Animate RIGHT
MOV2$=MOV2$+"O:Let R0=R4;Let R1=R5;Jump X;" : Rem Get New TARGET X & Y
' -* Set Player 2 Up *-
P1X_START=100 : P1Y_START=100
Bob 1,P1X_START,P1Y_START,1
Channel 1 To Bob 1
Amal 1,"A:"+MOVM$+MOVA$+MOVM2$+MOVB$+MOV1$
' -* Set Player 1 Up *-
P2X_START=150 : P2Y_START=100
Bob 2,P2X_START,P2Y_START,1
Channel 2 To Bob 2
Amal 2,"A:"+MOVJ$+MOVA$+MOVJ2$+MOVB$+MOV2$
' -* Position Players Pointers *-
P2X=P2X_START
P2Y=P2Y_START
' -* Start Players AMAL Control *-
Amal On
' -* Main Control Testing Loop *-
Do
' -* Player 2's Joystick Controls *-
If Jleft(1)=True : P2X=P2X-3 : End If
If Jright(1)=True : P2X=P2X+3 : End If
If Jup(1)=True : P2Y=P2Y-3 : End If
If Jdown(1)=True : P2Y=P2Y+3 : End If
If P2X<0 Then P2X=0
If P2X>320 Then P2X=320
If P2Y>200 Then P2Y=200
If P2Y<0 Then P2Y=0
Amreg(2,4)=P2X : Amreg(2,5)=P2Y
Bob 3,P2X,P2Y,9 : Rem PL2 Pointer
Exit If Inkey$=Chr$(27)
Wait Vbl
Loop