"Donkey-kong" for Sharp PC-1500
 Hebdogiciel (Shift editions) 1985
Author : Yann Eric Proy
Published in "Hebdogiciel" #86.
BASIC program - 1871 bytes.

RUN or DEF D

Game: Jump over the barrels and climb the 10 levels... Up there, beware of the gorilla!

Keys:
left arrow - left
right arrow - right
up arrow - up
ENTER - jump

----- BASIC program -----------------------------------------
1 "DONKEY"
2 "Hebdogiciel #86
5 "D"CLS :WAIT 0:CURSOR 5:PRINT "**DONKEY-KONG**":FOR A=8TO 22:BEEP 2,A,8:NEXT A
6 PRINT "   (1) Rules  (2) Game"
7 ON VAL INKEY$ +1GOTO 7,100
10 CLS :CLEAR :P=15,E=3000,C=2,X=3,Y=23,K$="2A1C31C2A"
11 A$="0050385000",B$="7F523A527F",L$="07456C1F1F6C4507"
12 C$="7F2A272A7F",D$="7F2A2B2A7F",E$="0002030200",F$="00327B7A30"
13 G$="0030787830",H$="7F3A7A7A7F",I$="7F2A2A2A7F",J$="7F3A7B3A7F"
14 H=RND 12+5
15 X=X+1,Y=Y-1,E=E-10:IF X=23LET X=3,Y=22
16 R=ASC INKEY$ ,S=1,T=7,U=T,V=9
17 IF E=0THEN 62
18 IF R=8AND P>3LET P=P-1,A=A+2:BEEP 1,99,6
19 IF R=12AND P<23LET P=P+1,A=A+2:BEEP 1,99,6
20 IF R=13LET S=5:BEEP 1,60,8
21 IF X=HLET T=8,V=T
22 IF Y=HLET U=8,V=U
23 IF P=HLET S=2:IF R=11LET S=3,V=S,N=N+1,A=A+N*5:BEEP 1,130,5:GOTO 35
24 IF P=HAND R=13LET S=4,V=S
25 IF P=XAND R<>13LET S=11,T=S,C=C-1:GOSUB 30:GOTO 60
26 IF P=YAND R<>13LET S=11,U=S,C=C-1:GOSUB 30:GOTO 60
27 IF X=PLET S=6,T=S,A=A+50:IF P=HLET S=10,T=S,V=S
28 IF Y=PLET S=6,U=S,A=A+50:IF P=HLET S=10,U=S,V=S
29 BEEP 1,255,4:GOSUB 30:GOTO 15
30 PRINT " ":PRINT STR$ N;:CURSOR H:GPRINT @$(V):CURSOR P:GPRINT @$(S):CURSOR X:GPRINT @$(T):CURSOR Y:GPRINT @$(U):CURSOR 24:GOSUB 52-C
31 RETURN 
35 GOSUB 30:FOR D=0TO 20:NEXT D:IF N<10GOTO 14
36 BEEP 5:A=A+200
40 CLS :C=C-1,B=12,H=24
41 PRINT " ":GPRINT "7F557F557F7D7F08":CURSOR B:GPRINT A$:CURSOR H:GPRINT L$:R=ASC INKEY$ :BEEP 1,255,4
42 IF H<=BTHEN 47
43 IF B=1THEN 48
44 IF R=8LET B=B-1:BEEP 1,99,6
45 IF R=12LET B=B+1
46 H=H-2:GOTO 41
47 FOR I=0TO 7:CURSOR H:PRINT " ":CURSOR B:GPRINT "07155C5F5F5C150F":BEEP 1,255,8:CURSOR B:GPRINT L$:NEXT I:GOTO 60
48 CLS :GPRINT "060F1F3E1F0F06",:PRINT "My saviour!":A=A+100,J=1:GOTO 60
50 GPRINT A$;A$:RETURN 
51 GPRINT A$:RETURN 
52 RETURN 
53 RETURN 
60 BEEP 30,20,8:IF C>-1LET N=0:GOTO 14
61 PRINT " ":IF J=1GOTO 64
62 IF J=0PRINT "YOU LOST!":BEEP 5,100,5:PRINT "SCORE:";A:BEEP 10,100,5:GOTO 70
64 PRINT "YOU WON!":BEEP 5,100,5:PRINT "SCORE:";A;"  BONUS:";E:BEEP 10,100,5
65 PRINT "** FINAL SCORE:";A+E;" **"
66 BEEP 10,100,5
70 BEEP 1:INPUT "PLAY AGAIN (Y/N) ? ";R$:IF LEFT$ (R$,1)="Y"THEN 10
80 END
100 PAUSE "10 levels to climb...":BEEP 1
110 PRINT "Left/Right/Up : ";:GPRINT "7FF7F7636341417F00";:PRINT "/";
120 GPRINT "7F41416363F7F77F00";:PRINT "/";:GPRINT "7F7F7B7D007D7B7F7F"
130 CALL &E34C:BEEP 1
140 PRINT "Jump: <ENTER>":CALL &E34C
150 BEEP 1:PAUSE "Up there, beware of Kong !"
160 GOTO 10
