Ya lo tenía descargado, habré jugado hasta la pantalla 5 o así. Me parece muy chulo, me gusta el tema de la programación en Sinclair BASIC y sus límites. Hace no mucho precisamente estaba modificando el código de
, haciendo el sprite más grande y añadiendo cosas, aunque mi idea era compilar con HiSoft.
Para el tema del scroll, he visto un código útil, pero no sé muy bien de donde lo he copiado:
Código: Seleccionar todo
4 PLOT 75,50: DRAW 75,0: DRAW 0,100: DRAW -75,0: DRAW 0,-100
5 PRINT FLASH 1;AT 0,0;"Espere..."
10 LET xm=12: LET ym=15: LET xw=8: LET yw=11: LET xt=10: LET yt=4: DIM m$(ym,xm): FOR r=1 TO ym: FOR s=1 TO xm: READ m$(r,s): NEXT s: NEXT r
11 PRINT AT 0,0;" "
12 LET xd=1: LET yd=1: LET xp=8: LET yp=8: GO SUB 90: PRINT AT yp+yt-1,xp+xt-1; INVERSE 1;" "
20 PAUSE 0: LET c= CODE INKEY$
21 LET xk=(c=9)-(c=8): LET xk=xk AND (xp+xk>=1 AND xp+xk<=xm)
22 LET yk=(c=10)-(c=11): LET yk=yk AND (yp+yk>=1 AND yp+yk<=ym)
23 LET xp=xp+xk: LET yp=yp+yk: LET xx=xd+xw-1: LET yy=yd+yw-1: LET xz=xm-xw+1: LET yz=ym-yw+1
30 IF xp<xd OR xp>xx OR yp<yd OR yp>yy THEN LET xd=xd-(xp<xd)+(xp>xx): LET yd=yd-(yp<yd)+(yp>yy): LET xd=xd+NOT xd: LET yd=yd+NOT yd: LET xd=xd-(xd-xz AND xp>xd+xx): LET yd=yd-(yd-yz AND yp>yd+yy): GO SUB 90
50 LET xs=xp+xt-xd: LET ys=yp+yt-yd: PRINT AT ys-yk,xs-xk;m$(yp-yk,xp-xk);AT ys,xs; INVERSE 1;" ": GO TO 20: REM m$(yp,xp)
90 FOR r=yd TO yd+yw-1: PRINT AT r-yd+yt,xt;m$(r,xd TO xd+xw-1): NEXT r: RETURN
100 DATA "0","0","0","0","0","0","0","0","0","0","0","0"
110 DATA "0"," "," "," "," "," "," "," "," "," "," "," "
120 DATA "0"," ","3","4","5","6","7","8","9","0","1","2"
130 DATA "0"," ","3","4","5","6","7","8","9","0","1","2"
140 DATA "0"," ","3","4","5","6","7","8","9","0","1","2"
150 DATA "0"," ","3","4","5","6","7","8","9","0","1","2"
160 DATA "0"," ","3","4","5","6","7","8","9","0","1","2"
170 DATA "0"," ","3","4","5","6","7","8","9","0","1","2"
180 DATA "0"," ","3","4","5","6","7","8","9","0","1","2"
190 DATA "0"," ","3","4","5","6","7","8","9","0","1","2"
200 DATA "0"," ","3","4","5","6","7","8","9","0","1","2"
210 DATA "0"," "," "," ","5","6","7","8","9","0","1","2"
220 DATA "0"," ","3","4","5","6","7","8","9","0","1","2"
230 DATA "0"," "," "," "," "," ","7","8","9","0","1","2"
240 DATA "0","0","0","0","0","0","7","8","9","0","1","2"
Quizá esto debiera ir en el foro de programación.
En cualquier caso, muy bueno tu programa, a ver cuando vuelven los concursos de BASIC (
Un saludo.