10ONERROR CHAIN"SLAT1"
20MODE7
30VDU23;8202;0;0;0;
40PROCsc
50DEC%=FALSE:I%=126:VDU23;8202;0;0;0;
:DIMM$(3),E(3),N(3):V=110:PROCenvs:PROCr
iffs:M$="abccdefgdefghijkldefgdefgmnophi
jk":KEY=3:TEMP=2:*FX15
60REPEAT:FORX=1TOLEN(M$):D=EVAL("FNpa
rt"+MID$(M$,X,1)):E(0)=EVAL("&"+LEFT$(E$
,1)):E(2)=EVAL("&"+MID$(E$,2,1)):E(3)=EV
AL("&"+RIGHT$(E$,1)):IFRIGHT$(M$(3),1)="
*" GOTO70
70FORL=1TOLENM$(1):FORV=1TO3:P=4*ASC(
MID$(M$(V),L,1)):IFV=1 AND P=260 ORP=252
P=P+48
80B%=V OR &200:B%=B%OR-&1000*(P=128):
P=P+(KEY*4)-91*(V=1):SOUNDB%,E(V),P,TEMP
:NEXT:IFMID$(M$(1),L,1)="*" SOUND0,3,4,T
EMP:GOTO110
90IFMID$(M$(1),L,1)="#" SOUND0,E(0),6
,TEMP:GOTO110
100SOUND-&1000*(MID$(M$(1),L,1)=" "),E
(0),3,TEMP
110NEXT:NEXT:PROCend
120DEFFNbass(B$):Z$=B$+" * "+B$+B$+
" "+B$+" * "+B$+" "+B$+" * "+B$+B$+"
"+B$+" * ":=Z$
130DEFFNbas2(D$):Z$=STRING$(16,D$+" ")
:GOTO140:Z$=D$+" "+D$+" "+"*"+STRING$(3,
(STRING$(3," "+D$)+" *"))+" "+D$+" "
140=Z$
150DEFFNrif2(C$):X$=STRING$(8,C$)+STRI
NG$(8," "):=X$+X$
160DEFPROCriffs:r1$="M * MM M * F H
* HH H * J ":r2$="K * KK K * H F
* FF J * L ":r3$="]]]]]]]] [[[
[[[[[ ^^^^^^^^ ^^^^^^^^
":ENDPROC
170DEFPROCenvs:ENVELOPE1,1,0,0,0,0,0,0
,126,-4,0,-1,110,0:ENVELOPE2,1,0,0,0,0,0
,0,32,-4,0,-2,126,63:ENVELOPE3,1,0,0,0,0
,0,0,126,-7,0,-2,100,0:ENVELOPE4,1,0,0,0
,0,0,0,126,-6,0,-2,126,0:ENVELOPE5,1,0,0
,0,0,0,0,126,-7,0,-2,80,0
180ENVELOPE6,6,0,0,0,0,0,0,126,-6,0,-4
,110,0
190ENVELOPE7,1,0,0,-1,10,5,20,126,-10,
0,-1,126,0:ENVELOPE8,1,0,0,0,0,0,0,32,-1
6,0,-1,120,70:ENVELOPE9,6,0,0,0,0,0,0,12
6,-8,0,-1,110,0:ENVELOPE10,1,0,0,0,0,0,0
,32,-8,0,-1,126,63:ENDPROC
200DEFPROCkeys:CLS:PRINT" B D G I K
N P S U W Z ½ ` a A C E F H J L
M O Q R T V X Y [ ] ^ £ b"''" Z ½ ` a
c f h k m o r t w y ¼Y [ ] ^ £
b d e g i j l n p q s u v x z":VDU28,0,2
4,39,6:ENDPROC
210DEFFNpartdemo:E$="three hex envelop
e numbers":M$(1)="bass line":M$(2)="seco
nd line":M$(3)="third line":=0:REM Start
FNparts here...
220DEFFNparta:E$="400":M$(1)=r1$+r2$:=
1
230DEFFNpartb:E$="405":M$(1)=r1$+r2$:M
$(3)=r3$:=2
240DEFFNpartc:E$="485":M$(1)=r1$+r2$:M
$(2)="M Q O O R
R M ":M$(3)=r3
$:=0
250DEFFNpartd:E$="425":M$(1)=FNbass("A
")+"J ":M$(2)=" Q T T T T Q V T
":M$(3)=FNrif2("]"):=0
260DEFFNparte:E$="425":M$(1)=FNbass("K
")+"H ":M$(2)=" R R R R R R T V VTR
":M$(3)=FNrif2("^"):=0
270DEFFNpartf:E$="425":M$(1)=FNbass("F
")+"J ":M$(2)=" R R R R V V Y VTR
":M$(3)=FNrif2("^"):=0
280DEFFNpartg:E$="425":M$(1)=FNbass("A
")+"A ":M$(2)=" T T T T T T V T V M
":M$(3)=FNrif2("]"):=0
290DEFFNparth:E$="495":M$(1)=FNbass("A
")+"A ":M$(2)="Q Q
R T Q ":M$(3)=FNrif2("]"):=0
300DEFFNparti:E$="495":M$(1)=FNbass("?
")+"? ":M$(2)="R R R
R T V ":M$(3)=FNrif2("^"):=0
310DEFFNpartj:E$="495":M$(1)=FNbass("F
")+"F ":M$(2)="V T R T T V
V T V ":M$(3)=FNrif2("^"):=0
320DEFFNpartk:E$="495":M$(1)=FNbass("A
")+"A ":M$(2)="M
":M$(3)=FNrif2("]"):=0
330DEFFNpartl:E$="405":M$(1)=FNbass("A
")+"A "+FNbass("?")+"? "+FNbass("F")+"F
"+FNbass("A")+"A ":M$(3)=FNrif2("]")+FNr
if2("^")+FNrif2("^")+FNrif2("]"):=0
340DEFFNpartm:E$="195":M$(1)=FNbas2("A
"):M$(2)="Q Q R T
Q ":M$(3)=FNrif2("]"):=0
350DEFFNpartn:E$="195":M$(1)=FNbas2("?
"):M$(2)="R R R R T
V ":M$(3)=FNrif2("^"):=0
360DEFFNparto:E$="195":M$(1)=FNbas2("F
"):M$(2)="V T R T T V V T
V ":M$(3)=FNrif2("^"):=0
370DEFFNpartp:E$="195":M$(1)=FNbas2("A
"):M$(2)="M
":M$(3)=FNrif2("]"):=0
380DEFFNpartq:E$="1A0":M$(1)="Q Q Q Q
Q Q Q Q R R R R R R R R ":M$(2)="V V
T V V T VM ":M$(3)="J J
J H E J J M ":=0
390DEFPROCsc
400PRINT"
pppppp
410VDU132,157,141:PRINT" slatter by a.
s.shakoor sept'91 ";CHR$(156)
420VDU132,157,141:PRINT" slatter by a.
s.shakoor sept'91 ";CHR$(156)
430PRINT"
££££££
440PRINT" THE OBJECTIVE OF THE GAME IS
TO "'" GUIDE THE SLATES,FALLING FROM TH
E TOP"'" OF THE SCREEN,NEXT TO EACH OTHE
R SO"'" 3 SLATES OF THE SAME COLOUR ARE"
'" NEXT TO EACH OTHER.VERY SIMILAR TO "'
" TETRIS."
450PRINT" BUT IF YOUR SLATES REACH THE
RED BAR"'" AT THE TOP THEN THE GAME HAS
"'" ENDED.THE INSTRUCTIONS ARE ON THE "
'" PLAYING SCREEN."
455PRINT" THIS MAY SOUND EASY...SO I'V
E ADDED "'" A TIMER..YOU HAVE 4 MINUTES
DO GAIN "'" THE HIGHEST SCORE POSSIBLE.M
Y SCORE "'" IS 8700."
460PRINT" IT IS POSSIBLE TO SQUEEZE LA
RGE SLATES"'" INTO SMALLER GAPS AS THEY
FALL..THIS"'" CAN BE VERY HELPFUL."
470PRINT"
,,,,,,,,,"
480VDU141:PRINT" PRESS ESCAPE TO LOAD
MAIN PROGRAM":VDU141:PRINT" PRESS ESCAPE
TO LOAD MAIN PROGRAM"
490ENDPROC