home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 2006-04-09 | 16.1 KB | 732 lines |
- Dir$="BattlePong:"
- '
- Hide On
- '
- Dim S1(4),S2(4),S3(4),S4(4),YS(1),YMAX(1)
- Dim YA1(2),YA2(2),YA3(2),YA4(2),YA5(2),YA6(2),S(1)
- '
- INIT
- SPZ=1 : SZAHL=1 : SOUND=0 : SPEED=7
- '
- '-------------------------------- Hauptmenue -------------------------
- MENUE:
- '
- Load "BP_MenuSprites.ABK"
- '
- If SOUND=0
- Erase 5
- Load "BP_song.abk"
- End If
- '
- SWIN1=0 : SWIN2=0
- AF=-1 : BS=0 : P1=0 : P2=0 : SPOS=0
- S1(0)=0 : S1(1)=0 : S1(2)=0 : S1(3)=0 : S1(4)=0
- S2(0)=0 : S2(1)=0 : S2(2)=0 : S2(3)=0 : S2(4)=0
- NAME1$="" : NAME2$=""
- '
- Screen Open 0,320,256,16,Lowres
- Curs Off : Flash Off
- FARBENAUS
- Cls 0
- '
- Double Buffer
- Synchro Off
- '
- ZEIGE_BOBS
- PFEILANIM
- If SOUND=0
- Mvolume 63
- Music 1
- End If
- EINBLENDEN
- '
- W=5
- QUIT=0
- '
- '
- Repeat
- Synchro
- If MENU=0
- Bob 58,110,42,5+SPZ
- Bob 59,110,69,7+SZAHL
- Bob 60,110,96,10+SOUND
- Bob 61,110,123,12
- Bob 62,110,160,13
- If PM=-1
- If Amreg(58,3)=0
- PM=0
- End If
- End If
- If Jup(1) and W>1 and PM=0
- PY=-1 : MOVEPFEIL
- End If
- If Jdown(1) and W<5 and PM=0
- PY=1 : MOVEPFEIL
- End If
- If Fire(1)=0
- F=0
- End If
- If Fire(1) and F=0 and PM=0
- F=-1 : CHOOSE
- End If
- Else
- Bob 60,80+(SPEED-4)*23,100,33
- If Jright(1) and SPEED<10 and JUSE=0
- Inc SPEED : JUSE=-1
- End If
- If Jleft(1) and SPEED>4 and JUSE=0
- Dec SPEED : JUSE=-1
- End If
- If Fire(1) and JUSE=0
- MENU=0
- Bob 63,70,126,28
- Amal 58,PFEIL$
- Amal On 58
- End If
- If Joy(1)=0
- JUSE=0
- End If
- End If
- Wait Vbl
- Until QUIT=-1
- '
- Procedure ZEIGE_BOBS
- Shared SPZ,SZAHL,SOUND
- Bob 58,110,42,5+SPZ
- Bob 59,110,69,7+SZAHL
- Bob 60,110,96,10+SOUND
- Bob 61,110,123,12
- Bob 62,110,160,13
- Bob 63,70,161,15
- A$="L: Move R2,0,R3 ; Let X=320 ; Let R2=-320 ; Let R3=640/R0 ; Jump L"
- For I=0 To 37
- X=Rnd(320)
- Y=Rnd(256)
- SHAPE=Rnd(3)
- Bob I,X,Y,1+SHAPE
- Channel I To Bob I
- Amal I,A$
- Amreg(I,0)=4-SHAPE
- Amreg(I,1)=X
- Amreg(I,2)=-X
- Amreg(I,3)=(X*2)/(4-SHAPE)
- Next I
- Amal On
- End Proc
- Procedure MOVEPFEIL
- Shared W,PY,PM,PFEIL$
- PM=-1
- W=W+PY
- If W=5 and PY=1 or W=4 and PY=-1 Then ZUS=10 Else ZUS=0
- Amreg(58,0)=(27+ZUS)/3
- Amreg(58,1)=PY*3
- Amreg(58,3)=-1
- End Proc
- Procedure CHOOSE
- Shared W,SPZ,SZAHL,SOUND,QUIT
- If W=1 Then SPZ=(SPZ+1) mod 2
- If W=2 Then SZAHL=(SZAHL+1) mod 3
- If W=3 Then SOUND=(SOUND+1) mod 2
- If W=4 Then BALLSPEED
- If W=5 Then QUIT=-1
- End Proc
- Procedure BALLSPEED
- Shared MENU,JUSE
- ' Bob Off 58 : Bob Off 59
- Bob Off 60 : Bob Off 61 : Bob Off 62 : Amal Off 58 : Bob Off 63
- Bob 58,110,30,12
- Bob 59,22,90,32
- MENU=-1 : JUSE=-1
- End Proc
- '
- Fade 4
- Wait 60
- Amal Off
- Bob Off
- Screen Close 0
- '
- '------------------------------- Game Start --------------------------
- Load "PP_icon.abk"
- '
- NAME_EINGEBEN
- '
- If SOUND=0 Then Load "PP_samples.abk"
- Erase 1
- Load "BP_Sprites2.abk"
- Load "Anzeige.pck",10
- Load "Anzeige_back.pck",11
- '
- Screen Open 0,320,256,16,Lowres
- Curs Off : Flash Off
- Cls 0
- Load Iff "PP_back.pic"
- FARBENAUS
- EINBLENDEN
- '
- PRNTNAME[NAME1$,63,211]
- PRNTNAME[NAME2$,63,232]
- '
- Double Buffer
- Synchro On
- '
- Channel 1 To Bob 1
- Channel 2 To Bob 2
- Channel 3 To Bob 5
- Channel 4 To Bob 3
- '
- INITAMAL
- '
- COMP=0
- '
- LOS:
- '
- If EXTRA>0 Then Bob Off 4
- ANZEIGE
- ESC=0
- X1=4 : Y1=84
- X2=308 : Y2=84
- YS(0)=3 : YS(1)=3
- YB1=-4 : YB2=32
- YB3=-4 : YB4=32
- S(0)=0 : S(1)=0
- DEAD1=0 : DEAD2=0
- YMAX(0)=160 : YMAX(1)=160
- BT=BS
- EXTRA=0
- BLOCK=0
- YZ=Rnd(3)
- Z=Rnd(2)
- If Z=0 Then YZ=-YZ
- '
- Bob 1,X1,Y1,S(0)+1
- Bob 2,X2,Y2,S(1)+4
- Bob 3,XB,YB,7
- '
- Amal 1,A$
- Amal 2,B$
- Amal 4,D$
- '
- Amreg(0)=Y1
- Amreg(1,2)=S(0)+1
- Amreg(1,3)=YS(0)
- Amreg(1,4)=YMAX(0)
- Amreg(1)=Y2
- Amreg(2,2)=S(1)+4
- Amreg(2,3)=YS(1)
- Amreg(2,4)=YMAX(1)
- Amreg(21)=0
- Amreg(4,3)=0
- Amreg(4,4)=YA1(0)
- Amreg(4,5)=YA2(0)
- Amreg(4,6)=YA3(0)
- Amreg(4,7)=YA4(0)
- Amreg(4,8)=YA5(0)
- Amreg(4,9)=YA6(0)
- Amreg(2)=YA1(0)
- Amreg(3)=YA2(0)
- Amreg(4)=YA3(0)
- Amreg(5)=YA4(0)
- Amreg(6)=YA5(0)
- Amreg(7)=YA6(0)
- '
- Amal On 1
- Amal On 2
- Amal On 4
- '
- If SPZ=0 Then COMP=-1
- '
- Every 400 Gosub ZEIT : Every Off
- Repeat
- If COMP=-1 Then Amreg(1)=Amreg(4,1)-12
- '
- Y1=Amreg(0)
- Y2=Amreg(1)
- '
- If AF
- AUFSCHLAG
- Else
- If EXTRA=0
- EX=Rnd(300)
- If EX=0
- Z=Rnd(1)
- XE=Rnd(100)
- YE=Rnd(160)
- XE=XE+30+Z*160
- YE=YE+10
- EXTRA=Rnd(4)+1
- If EXTRA=4 and BLOCK
- EXTRA=0 : Goto W
- End If
- Bob 4,XE,YE,7+EXTRA
- Every On
- End If
- End If
- W:
- C=Bob Col(4)
- If C
- Bob Off 4
- On EXTRA Proc GROSS,KLEIN,SCHNELL,BLOCK,UMKEHR
- EXTRA=0
- End If
- Amreg(1,2)=S(0)+1
- Amreg(1,3)=YS(0)
- Amreg(1,4)=YMAX(0)
- Amreg(2,2)=S(1)+4
- Amreg(2,3)=YS(1)
- Amreg(2,4)=YMAX(1)
- '
- XB=Amreg(22)
- If XB<0
- Amal Off
- Bob Off 5
- DEAD1
- DEAD1=-1
- End If
- If XB>319
- Amal Off
- Bob Off 5
- DEAD2
- DEAD2=-1
- End If
- If Amreg(25)
- Amreg(25)=0
- BT=(BT+1) mod 2
- If SOUND=0
- Sam Play 2,2,10000
- End If
- End If
- End If
- If Key State(69)=True
- Amal Off
- Bob Off
- ESC=-1
- End If
- Until DEAD1 or DEAD2 or ESC
- '
- If SWIN1=SZAHL+1 or SWIN2=SZAHL+1 or ESC
- Screen Close 0
- Erase 1
- Erase 2
- Erase 5
- Erase 10
- Erase 11
- Goto MENUE
- End If
- F=-1
- Goto LOS
- '
- ZEIT:
- Bob Off 4
- EXTRA=0
- Every Off
- Return
- '
- Procedure AUFSCHLAG
- Shared AF,BS,XB,YB,X1,Y1,X2,Y2,XZ,YZ,COMP,SPEED
- If BS=0
- XB=X1+6 : YB=Y1+12
- If Fire(1)
- XZ=SPEED : AF=0
- Amreg(21)=XZ
- Amreg(4,3)=YZ
- End If
- End If
- If BS=1
- XB=X2-8 : YB=Y2+12
- If Fire(0) or COMP=-1
- XZ=-SPEED : AF=0
- Amreg(21)=XZ
- Amreg(4,3)=YZ
- End If
- End If
- Amreg(22)=XB
- Amreg(4,1)=YB
- End Proc
- '
- Procedure ANZEIGE
- Shared P1,P2,S1(),S2(),S3(),S4(),SZAHL
- If P1=0 Then Z1=41 : Z2=10
- If P1=1 Then Z1=1 : Z2=5
- If P1=2 Then Z1=3 : Z2=10
- If P1=3 Then Z1=4 : Z2=10
- If P1=4 Then Z1=14 : Z2=15
- If P1=5 Then Z1=11 : Z2=32
- If P1=7 Then Z1=41 : Z2=41
- If P2=0 Then Z3=41 : Z4=10
- If P2=1 Then Z3=1 : Z4=5
- If P2=2 Then Z3=3 : Z4=10
- If P2=3 Then Z3=4 : Z4=10
- If P2=4 Then Z3=14 : Z4=15
- If P2=5 Then Z3=11 : Z4=32
- If P2=7 Then Z3=41 : Z4=41
- Paste Icon 25,221,Z1
- Paste Icon 37,221,Z2
- Paste Icon 272,221,Z3
- Paste Icon 284,221,Z4
- '
- For I=0 To SZAHL*2
- S3(I)=S1(I) : S4(I)=S2(I)
- If S1(I)=0 Then S3(I)=10
- If S2(I)=0 Then S4(I)=10
- Paste Icon 186+I*15,211,S3(I)
- Paste Icon 186+I*15,232,S4(I)
- Next I
- End Proc
- Procedure SATZANZEIGE[SWIN,NAME$]
- Shared SZAHL
- Bob Off
- Unpack 10,72,60
- If SWIN=SZAHL+1
- PRNTNAME["SET\AND\MATCH",86,64]
- Else
- PRNTNAME["SET",144,64]
- End If
- PRNTNAME[NAME$,(320-Len(NAME$)*12)/2+4,82]
- PRNTNAME["PRESS\FIRE\TO",86,100]
- PRNTNAME["CONTINUE",116,118]
- Repeat
- Until Fire(1) or Fire(0)
- Unpack 11,72,60
- End Proc
- Procedure DEAD1
- Shared XZ,XB,AF,P1,P2,S2(),SPOS,SWIN2,BS,SOUND,NAME2$
- XZ=0 : XB=100 : AF=-1 : P2=P2+1
- If SOUND=0
- Sam Play 1,1,10000
- End If
- If P2=3 and P1=3 or P2=8
- P2=4 : P1=4
- End If
- If P2=5
- P1=7
- End If
- If P2=4 and P1<3 or P2=6
- P1=0 : P2=0 : Inc S2(SPOS)
- If S2(SPOS)=6
- Inc SPOS : Inc SWIN2
- SATZANZEIGE[SWIN2,NAME2$]
- End If
- BS=(BS+1) mod 2
- End If
- End Proc
- Procedure DEAD2
- Shared XZ,XB,AF,P1,P2,S1(),SPOS,SWIN1,BS,SOUND,NAME1$
- XZ=0 : XB=100 : AF=-1 : P1=P1+1
- If SOUND=0
- Sam Play 1,1,10000
- End If
- If P1=3 and P2=3 or P1=8
- P1=4 : P2=4
- End If
- If P1=5
- P2=7
- End If
- If P1=4 and P2<3 or P1=6
- P1=0 : P2=0 : Inc S1(SPOS)
- If S1(SPOS)=6
- Inc SPOS : Inc SWIN1
- SATZANZEIGE[SWIN1,NAME1$]
- End If
- BS=(BS+1) mod 2
- End If
- End Proc
- Procedure GROSS
- Shared BT,S(),YMAX()
- Shared YA1(),YA2(),YA3(),YA4(),YA5(),YA6(),S()
- S(BT)=2 : YMAX(BT)=144
- If BT=0
- Amreg(4,4)=YA1(2)
- Amreg(4,5)=YA2(2)
- Amreg(4,6)=YA3(2)
- Amreg(4,7)=YA4(2)
- Amreg(4,8)=YA5(2)
- Amreg(4,9)=YA6(2)
- Else
- Amreg(2)=YA1(2)
- Amreg(3)=YA2(2)
- Amreg(4)=YA3(2)
- Amreg(5)=YA4(2)
- Amreg(6)=YA5(2)
- Amreg(7)=YA6(2)
- End If
- End Proc
- Procedure KLEIN
- Shared BT,S(),YMAX()
- Shared YA1(),YA2(),YA3(),YA4(),YA5(),YA6(),S()
- S(BT)=1 : YMAX(BT)=176
- If BT=0
- Amreg(4,4)=YA1(1)
- Amreg(4,5)=YA2(1)
- Amreg(4,6)=YA3(1)
- Amreg(4,7)=YA4(1)
- Amreg(4,8)=YA5(1)
- Amreg(4,9)=YA6(1)
- Else
- Amreg(2)=YA1(1)
- Amreg(3)=YA2(1)
- Amreg(4)=YA3(1)
- Amreg(5)=YA4(1)
- Amreg(6)=YA5(1)
- Amreg(7)=YA6(1)
- End If
- End Proc
- Procedure SCHNELL
- Shared BT,YS()
- If YS(BT)>0 Then YS(BT)=6 Else YS(BT)=-6
- End Proc
- Procedure BLOCK
- Shared C$,E$,BLOCK
- BLOCK=-1
- Bob 5,152,8,13
- Amal 3,C$
- Amal 5,E$
- Amal On 3
- Amal On 5
- End Proc
- Procedure UMKEHR
- Shared BT,YS()
- YS(BT)=-YS(BS)
- End Proc
- Procedure INITAMAL
- Shared A$,B$,C$,D$,E$
- '
- ' --- Player 1 Anim ---
- A$=" Loop: P ; Let R0=Joy1"
- A$=A$+" If R0&1 Jump Up"
- A$=A$+" If R0&2 Jump Down"
- A$=A$+"Next: If RA<8 Jump A"
- A$=A$+" If RA>R4 Jump B"
- A$=A$+" Let Y=RA ; Let A=R2"
- A$=A$+" Jump Loop"
- A$=A$+"Up: Let RA=RA-R3 ; Jump Next"
- A$=A$+"Down: Let RA=RA+R3 ; Jump Next"
- A$=A$+"A: Let RA=8 ; Jump Next"
- A$=A$+"B: Let RA=R4 ; Jump Next"
- '
- ' --- Player 2 Anim ---
- B$=" Loop: P ; Let R0=Joy0"
- B$=B$+" If R0&1 Jump Up"
- B$=B$+" If R0&2 Jump Down"
- B$=B$+"Next: If RB<8 Jump A"
- B$=B$+" If RB>R4 Jump B"
- B$=B$+" Let Y=RB ; Let A=R2"
- B$=B$+" Jump Loop"
- B$=B$+"Up: Let RB=RB-R3 ; Jump Next"
- B$=B$+"Down: Let RB=RB+R3 ; Jump Next"
- B$=B$+"A: Let RB=8 ; Jump Next"
- B$=B$+"B: Let RB=R4 ; Jump Next"
- '
- ' --- Barikade Anim ---
- C$="AU (Let RI=Y)"
- C$=C$+"Loop: P ; Move 0,152,76 ; Move 0,-152,76"
- C$=C$+" Jump Loop"
- '
- ' --- Ball Anim ---
- D$=" Loop: P ; Let RW=RW+RV ; Let R1=R1+R3"
- D$=D$+" If RW<10 Jump I"
- D$=D$+" If RW>300 Jump K"
- D$=D$+"Next: If R1<8 Jump U"
- D$=D$+" If R1>185 Jump D"
- D$=D$+"Show: Let X=RW ; Let Y=R1 ; Let RX=X ; Let RY=Y"
- D$=D$+" Jump Loop"
- D$=D$+"U: Let R1=8 ; Let R3=R3*-1 ; Jump Show"
- D$=D$+"D: Let R1=185 ; Let R3=R3*-1 ; Jump Show"
- D$=D$+"I: Let RS=RA+R4+1 ; If R1<RS Jump Next"
- D$=D$+" Let RS=RA+R9 ; If R1>RS Jump Next"
- D$=D$+"J: Let RW=10 ; Let RV=RV*-1 ; Let RZ=-1"
- D$=D$+" If R3<0 Jump A"
- D$=D$+" Let RS=RA+R5+1 ; If R1<RS Jump E"
- D$=D$+" Let RS=RA+R5+1 ; Let RT=RA+R6+1 ; If R1<RS Jump M"
- D$=D$+" If R1<RT Jump F"
- D$=D$+"M: Let RS=RA+R7+1 ; Let RT=RA+R8+1 ; If R1<RS Jump O"
- D$=D$+" If R1<RT Jump G"
- D$=D$+"O: Let RS=RA+R8 ; If R1>RS Jump H"
- D$=D$+"A: Let RS=RA+R5 ; If R1<RS Jump H"
- D$=D$+" Let RS=RA+R5+1 ; Let RT=RA+R6+1 ; If R1<RS Jump P"
- D$=D$+" If R1<RT Jump G"
- D$=D$+"P: Let RS=RA+R7+1 ; Let RT=RA+R8+1 ; If R1<RS Jump Q"
- D$=D$+" If R1<RT Jump F"
- D$=D$+"Q: Let RS=RA*R8 ; If R1>RS Jump E"
- D$=D$+" Jump Next"
- D$=D$+"K: Let RS=RB+RC+1 ; If R1<RS Jump Next"
- D$=D$+" Let RS=RB+RH ; If R1>RS Jump Next"
- D$=D$+"R: Let RW=300 ; Let RV=RV*-1 ; Let RZ=-1"
- D$=D$+" If R3<0 Jump B"
- D$=D$+" Let RS=RB+RD+1 ; If R1<RS Jump E"
- D$=D$+" Let RS=RB+RD+1 ; Let RT=RB+RE+1 ; If R1<RS Jump T"
- D$=D$+" If R1<RT Jump F"
- D$=D$+"T: Let RS=RB+RF+1 ; Let RT=RB+RG+1 ; If R1<RS Jump V"
- D$=D$+" If R1<RT Jump G"
- D$=D$+"V: Let RS=RB+RG ; If R1>RS Jump H"
- D$=D$+"B: Let RS=RB+RD+1 ; If R1<RS Jump H"
- D$=D$+" Let RS=RB+RD+1 ; Let RT=RB+RE+1 ; If R1<RS Jump W"
- D$=D$+" If R1<RT Jump G"
- D$=D$+"W: Let RS=RB+RF+1 ; Let RT=RB+RG+1 ; If R1<RS Jump X"
- D$=D$+" If R1<RT Jump F"
- D$=D$+"X: Let RS=RB+RG ; If R1>RS Jump E"
- D$=D$+" Jump Next"
- D$=D$+"E: Let R3=R3-2 ; Jump Next"
- D$=D$+"F: Let R3=R3-1 ; Jump Next"
- D$=D$+"G: Let R3=R3+1 ; Jump Next"
- D$=D$+"H: Let R3=R3+2 ; Jump Next"
- '
- ' --- Ball_Barikade Anim ---
- E$=" A: P ; Let R0=RX>145 ; Let R1=RX<166 ; Let R4=RI-7 ; Let R2=RY>R4 ; Let R5=RI+30 ; Let R3=RY<R5"
- E$=E$+" If R0&R1&R2&R3 Jump B"
- E$=E$+" Jump A"
- E$=E$+"B: Let RV=RV*-1 ; Let RZ=-1"
- E$=E$+" If RV>0 Jump C"
- E$=E$+" Let RW=145 ; Jump A"
- E$=E$+"C: Let RW=166 ; Jump A"
- End Proc
- Procedure INIT
- Shared YA1(),YA2(),YA3(),YA4(),YA5(),YA6()
- For I=0 To 2
- Read YA1(I),YA2(I),YA3(I),YA4(I),YA5(I),YA6(I)
- Next I
- Data -6,0,7,16,23,30
- Data -6,-3,1,6,10,14
- Data -6,3,13,26,36,46
- End Proc
- Procedure PFEILANIM
- Shared PFEIL$
- PFEIL$="Anim 0,(14,1)(15,1)(16,1)(17,1)(18,1)(19,1)(20,1)(21,1)(22,1)(23,1)(24,1)(25,1)(26,1)(27,1)(28,1)(29,1)(30,1)(31,1) ;"
- PFEIL$=PFEIL$+"W: If R3 Jump M ; Jump W"
- PFEIL$=PFEIL$+"M: For R2=1 To R0 ; Let Y=Y+R1 ; Next R2 ; Let R3=0 ; Jump W"
- Channel 58 To Bob 63
- Amal 58,PFEIL$
- Amal On 58
- End Proc
- Procedure FARBENAUS
- Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- End Proc
- Procedure SOUNDAUS
- For I=63 To 0 Step -1
- Mvolume I
- Wait Vbl
- Next I
- Music Off
- End Proc
- Procedure NAME_EINGEBEN
- Shared X1,Y1,XPOS1,J1,NAME1$,NAMEEND1
- Shared X2,Y2,XPOS2,J2,NAME2$,NAMEEND2,SPZ,SOUND
- Screen Open 0,320,256,16,Lowres
- Curs Off : Flash Off
- Cls 0
- Load Iff "BP_Name.pic"
- FARBENAUS
- If SPZ=1 Then Screen Copy 0,11,66,150,125 To 0,167,66
- EINBLENDEN
- Double Buffer
- '
- X1=126 : Y1=40
- X2=126 : Y2=40
- XPOS1=23
- XPOS2=179
- NAMEEND1=0
- NAMEEND2=SPZ-1
- If SPZ=0
- NAME2$="\COMPUTER\"
- PRNTNAME[NAME2$,179,165]
- End If
- '
- Repeat
- If NAMEEND1=0 Then NAME1
- If NAMEEND2=0 Then NAME2
- Until NAMEEND1 and NAMEEND2
- Fade 3
- If SOUND=0
- SOUNDAUS
- Erase 3
- Else
- Wait 45
- End If
- Screen Close 0
- End Proc
- Procedure NAME1
- Shared X1,Y1,XPOS1,J1,NAME1$,NAMEEND1
- If Jright(1) and J1=0 Then X1=X1+14 : J1=-1
- If Jleft(1) and J1=0 Then X1=X1-14 : J1=-1
- If Jdown(1) and J1=0 Then Y1=Y1+20 : J1=-1
- If Jup(1) and J1=0 Then Y1=Y1-20 : J1=-1
- If Joy(1)=0 Then J1=0
- If X1>126 Then X1=0
- If X1<0 Then X1=126
- If Y1>40 Then Y1=0
- If Y1<0 Then Y1=40
- Bob 1,11+X1,66+Y1,34
- If Fire(1) and J1=0
- J1=-1
- Z1=((X1/14)+1)+Y1/2
- If Z1<28 and XPOS1<143
- Paste Icon XPOS1,165,Z1+10
- NAME1$=NAME1$+Chr$(Z1+64)
- XPOS1=XPOS1+12
- End If
- If Z1=28 and XPOS1<143
- NAME1$=NAME1$+Chr$(Z1+64)
- XPOS1=XPOS1+12
- End If
- If Z1=29 and XPOS1>23
- XPOS1=XPOS1-12
- NAME1$=Left$(NAME1$,(XPOS1-23)/12)
- Paste Icon XPOS1,165,41
- End If
- If Z1=30
- NAMEEND1=-1
- Bob Off 1
- End If
- End If
- End Proc
- Procedure NAME2
- Shared X2,Y2,XPOS2,J2,NAME2$,NAMEEND2
- If Jright(0) and J2=0 Then X2=X2+14 : J2=-1
- If Jleft(0) and J2=0 Then X2=X2-14 : J2=-1
- If Jdown(0) and J2=0 Then Y2=Y2+20 : J2=-1
- If Jup(0) and J2=0 Then Y2=Y2-20 : J2=-1
- If Joy(0)=0 Then J2=0
- If X2>126 Then X2=0
- If X2<0 Then X2=126
- If Y2>40 Then Y2=0
- If Y2<0 Then Y2=40
- Bob 2,167+X2,66+Y2,35
- If Fire(0) and J2=0
- J2=-1
- Z2=((X2/14)+1)+Y2/2
- If Z2<28 and XPOS2<299
- Paste Icon XPOS2,165,Z2+10
- NAME2$=NAME2$+Chr$(Z2+64)
- XPOS2=XPOS2+12
- End If
- If Z2=28 and XPOS2<299
- NAME2$=NAME2$+Chr$(Z2+64)
- XPOS2=XPOS2+12
- End If
- If Z2=29 and XPOS2>179
- XPOS2=XPOS2-12
- NAME2$=Left$(NAME2$,(XPOS2-179)/12)
- Paste Icon XPOS2,165,41
- End If
- If Z2=30
- NAMEEND2=-1
- Bob Off 2
- End If
- End If
- End Proc
- Procedure PRNTNAME[NAME$,X,Y]
- L=Len(NAME$)
- If L>0
- For I=1 To L
- B$=Mid$(NAME$,I,1)
- Z=Asc(B$)-54
- If Z=38
- Z=41
- End If
- Paste Icon X,Y,Z
- X=X+12
- Next I
- End If
- End Proc
- Procedure EINBLENDEN
- Fade 4,$0,$FE0,$FFF,$ACC,$688,$244,$355,$80,$77,$599,$F20,$C10,$900,$7AF,$47D,$14C
- End Proc