Sharp PC-1500 : MICROMUR (Breakout) game

"Micromur" for Sharp PC-1500 or PC-1500A.
© Hebdogiciel (Shift editions). (*)
Author : Jean-Marc Verniajou
Published in "Hebdogiciel".
BASIC program - 1990 bytes.

Download zipped WAV (15.6 KB)

CLOAD "MICROMUR"
RUN

Game: This is a tiny breakout game...

Keys:
I - start / pause (interrupt) / resume
I N - new game
Q - up
Z - down

(*) This software is made available for documentation purpose only, since the PC-1500 is now an obsolete computer. This is not a commercial site. If you own a copyright on this program and do not want it to be available from this site, please inform me and I will remove it.

BASIC program.

1 "MICROMUR"GOTO 2999
2000 CLS :WAIT 0:GCURSOR 35:GPRINT "022551423E0202010008080808002050403E0408043E42"
2005 CURSOR 12:PRINT "Software"
2010 PC=&7050
2012 READ I:IF I<256POKE PC,I:PC=PC+1:GOTO 2012
2020 CALL &7050
2021 FOR I=0TO 155:GCURSOR I:GPRINT 255-POINT I:NEXT I
2022 CALL &7050
2030 FOR I=0TO 30:BEEP 1,I,100:NEXT I
2040 CALL &7050
2050 FOR I=30TO 0STEP -1:BEEP 1,I,100:NEXT I
2060 CLS :WAIT 100:CURSOR 9:PRINT "presents":WAIT 0:CURSOR A:PRINT A$:CALL &7067
2070 FOR I=0TO 100:NEXT I
2080 RETURN
2999 "M"L=1,A=7,A$="Casse briques":RANDOM :GOSUB 2000
3000 S=0,J=4
3005 CLS :WAIT 0:GCURSOR 2:GPRINT 127
3007 GCURSOR 13:GPRINT "7F7F7F7F00007F"
3008 CURSOR 20:PRINT "QZ Ibn"
3009 IF J<6LET J=J+.5
3010 I=0
3015 Q=4,R=8:GOSUB 3600
3025 U=-1,V=2,Z=0,Y=2^RND 6,X=7+RND 5
3030 H=0,J=J-1,K=INT J
3034 GCURSOR 0:GPRINT 1*(K=2)+5*(K=3)+21*(K=4)+85*(K=5)
3035 IF J>.5THEN 3100
3040 WAIT 100:BEEP 3,75,100:PRINT "Score :";S;
3050 IF S>TINPUT "your name ?";C$:T=S
3060 PRINT " (";C$;" ";T;")"
3070 GOTO 3000
3100 Y=Y*V
3105 IF L=0AND INKEY$ ="Q"AND R>1LET R=R/2:GOSUB 3600
3110 IF L=0AND INKEY$ ="Z"AND R<64LET R=R*2:GOSUB 3600
3115 IF X=18LET H=1,U=-1,I=1:BEEP 1,8,20:GOSUB 3600
3120 IF Y<1LET Y=1,V=2:BEEP 1,100,10
3130 IF Y>64LET Y=64,V=.5:BEEP 1,100,10
3140 IF INKEY$ ="I"GOTO 3700
3145 IF L=1AND RND 1000>40LET R=Y:GOSUB 3600
3150 GCURSOR X:GPRINT Z
3155 IF L=0AND INKEY$ ="Q"AND R>1LET R=R/2:GOSUB 3600
3160 IF L=0AND INKEY$ ="Z"AND R<64LET R=R*2:GOSUB 3600
3170 X=X+U,Z=POINT X:GCURSOR X:GPRINT Z-(ZAND Y)+Y
3180 GOSUB 3900
3185 IF X=Q+1GOTO 3800
3190 GOTO 3100
3600 GCURSOR Q:GPRINT R+R/2+R*2*(I=0):RETURN
3700 IF L>0LET L=0:GOSUB 3000
3705 WAIT 32
3706 CURSOR 15:PRINT "INT":WAIT 0
3710 IF INKEY$ =""OR INKEY$ ="I"THEN 3710
3715 IF INKEY$ ="B"CURSOR 15:INPUT "1/0";B:BEEP ON :IF B=0BEEP OFF
3717 IF INKEY$ ="N"THEN 3000
3720 CURSOR 15:PRINT " ":GOTO 3150
3800 IF Y=RLET U=1:BEEP 1,8,40:GOTO 3100
3805 IF Y=R/2LET U=1,V=1/V:BEEP 1,8,40:GOTO 3100
3810 IF I=0AND Y=R*2LET U=1,V=1/V:BEEP 1,8,40:GOTO 3100
3820 BEEP 2,50,100:GCURSOR Q:GPRINT 0;0:GOTO 3010
3900 IF (ZAND Y)=0RETURN
3905 IF U<0AND H=0RETURN
3908 H=0
3909 S=S+2^(X-12):CURSOR 4:PRINT S:BEEP 1
3913 IF POINT 13+POINT 14+POINT 15+POINT 16=YTHEN 3950
3915 IF X-9>QGCURSOR Q:GPRINT 0:Q=X-9:GOSUB 3600
3920 Z=Z-Y,U=-U:RETURN
3950 BEEP 10,8,100:J=J+1:GOTO 3005
4010 DATA &48,&70
4011 DATA &4A,&00
4012 DATA &05
4013 DATA &BD,&FF
4014 DATA &41
4015 DATA &4E,&4E
4016 DATA &99,&08
4017 DATA &4C,&71
4018 DATA &8B,&06
4019 DATA &48,&71
4020 DATA &4A,&00
4021 DATA &9E,&12
4022 DATA &9A
4031 DATA &B5,&30
4032 DATA &FD,&C0
4033 DATA &58,&00
4034 DATA &5A,&00
4036 DATA &54,&54,&54,&54
4037 DATA &96
4038 DATA &99,&07
4039 DATA &FD,&C1
4040 DATA &58,&00
4041 DATA &5A,&00
4042 DATA &54,&54,&54,&54
4043 DATA &96
4044 DATA &99,&07
4045 DATA &DF
4046 DATA &99,&1D
4047 DATA &9A
4048 DATA &FFFF


Return to the main page