Donjon, un jeu Amstrad CPC en 10 lignes de basic par Omebrou Corp.
-Omebrou Corp. (Vetea sur Itch.IO) a sorti un jeu Amstrad CPC en 10 lignes de basic : Donjon, pour y jouer utilisez les flèches et la touche espace si vous rencontrez un coffre ou tombé sur un ennemi à combattre.
Sans émulateur, vous pouvez exécuter tout programme basic Amstrad CPC dans Visual Studio code et l'extension Amstrad Basic Helper.
Vous pourrez trouver une image disquette sur le groupe facebook les Amstradiens, sinon voici le 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$="":M2$=""
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