Archives of Genesis8 Amstrad Page

Donjon, an Amstrad CPC game in 10 lines of basic by Omebrou Corp.


Omebrou Corp. (Vetea on Itch.IO) has released an Amstrad CPC games in 10 lines of Basic : Donjon, to play it use arrows to move, and space to open chests or fight ennemies.

Without emulator, you can execute any Amstrad CPC basic program inside Visual Studio code with the extension Amstrad Basic Helper.

You can find a disk image on facebook group les Amstradiens, or here is the basic listing :

10 Mode 1:ink 0,0:border 0:ink 1,26:ink 2,6:ink 3,24:dim t(30,30):pen 2:locate 17,13:? "":for i=1 to 25:for j=1 to 25:v=1:randomize time:t(i,j)=int(rnd*4)+3:q=t(i,j):border j:next:next:x=12:y=25: U2$=chr$(221):U1$=chr$(220):U$=chr$(207)

20 T$=chr$(8):Y$=chr$(10):a=1:xx=int(rnd*20)+1:yy=int(rnd*20)+1:t(xx,yy)=10:cls:P1$=chr$(143):while(a<6):a=a+1: F$=F$+P1$+P1$+P1$+y$+t$+t$+t$:D$=D$+U$+U1$+y$+t$+t$+t$:S$=S$+U2$+U$+y$+t$:wend:border 0:if m1=0 then Ch=int(rnd*22):t=0 else CH=99

30 Z$=p1$+y$+t$+P1$+y$+t$+chr$(212)+y$+t$:E$=p1$+y$+t$+P1$+y$+t$+chr$(213)+y$+t$: C$=chr$(222)+U$+chr$(223)+y$+t$+t$+t$+P1$+chr$(232)+P1$+y$+t$+t$+t$+P1$+P1$+P1$:M1$=chr$(235):pen 3:locate 15,10:? f$:locate 18,10:?f$:if jj>=1 then border 6:q=q-jj:jj=0

40 if CH<>99 then m1=0:M$=chr$(225)+y$+t$+t$+chr$(151)+M1$+chr$(182)+y$+t$+t$+chr$(191): M2$=M$:l=0:TR=CH:if CH<=2 then M$="":M2$="" else if CH<=5 then C$="":M$="" else if CH<=7 then C$="":M2$="" else if CH<=9 then C$=""else C$="":M$=""


50 while(b<6):b=b+1:pen 3:locate 13,9+b:? D$:locate 21,9+b:? s$:wend:x$=chr$(245): O$=P1$+P1$+y$+t$+t$+P1$+P1$:pen 1:for i=1 to 6:locate 17,16-i:? h$:next:if m1=2 then m1=0:C$="" else m1=0:if TR>2 or CH=99 then c$=""

60 R$=M$+M2$:MY=(INKEY(0)=0 AND y>1 and O$<>"" and R$="")-(INKEY(2)=0 AND y<25 and x$<>"" and R$=""):MX=(INKEY(8)=0 AND x>1 and z$<>"" and R$="")-(INKEY(1)=0 AND x<25 and e$<>"" and R$=""):L=MX+MY:x=x+MX:Y=Y+MY:H=T(X,Y):if INKEY(47)=0 and ff=0 then ff=1

70 randomize time:border 0:t=t+1-(t and 8):pen 1:locate 1,1:?"SANTE ":pen 2:for i=1 to q:locate i+6,1:?chr$(228);" ":next:pen 1:locate 17,18:?C$:if Y=1 then O$="" else if X=1 then z$="" else if X=25 then e$="" else if Y=25 then x$=""

80 if h$<>"" then end else if ff then ff=0:jj=0:if M$<>"" and m1=0 then M$="":m1=1:jj=t/6:SOUND 1,0,25,12,,,25 else if M2$<>"" and m1=0 then M2$="":m1=1:jj=t/6:SOUND 1,0,25,12,,,25 else if C$<>"" and m1=0 then C$="":Q=Q+1:m1=2:SOUND 2,100,7,15:border 26

90 if Q<=1 then clear:pen 1:goto 10 else locate 17,22:? x$:pen 2:locate 15,16:?M$:locate 20,15:?M2$:if h=4 then E$="":Z$="" else if h=5 then O$="" else if h=6 then O$="":E$="" else if h=7 then E$="":O$="" else if h=10 then O$="":h$=chr$(151)+chr$(157)

100 sound 3,600-rnd*200,q/2,7:pen 0:locate 17,13:? O$:pen 0:locate 12,15:? Z$:locate 23,15:? E$:while (l=0 and M1=0):randomize time:goto 60:wend:cls:b=1:a=1:F$="":S$="":D$="":ww=0:goto 20

For more news, Go to home page