ComeSetas

El único de Sinclair no puede no tener un foro dedicado

Moderador: Fundadores

Responder
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5878
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1210 times
Been thanked: 2832 times
Contactar:

ComeSetas

Mensaje por cacharreo »

La tranquilidad del comesetas se fue por el garete con la llegada de una plaga de gorgojos que se comen las setas como si no hubiera mañana. :))

próximamente instrucciones
Apuntes:
Hay que comer una seta antes de que el primer temporizador llegue a 0.
Hay que comer todas las setas antes de que el segundo temporizador llegue a 0.
Conforme se pasan fases la dificultad aumenta apareciendo bichos que compiten con el prota, el número de setas por comer aumenta, en tiempo para comerlas todas disminuye, la velocidad del juego aumenta.

ComeSetas 2.03
Imagen
(click para ampliar)

Imagen

Código: Seleccionar todo

100 REMark ComeSetas
110 REMark Come todas las setas que puedas... antes de que se te acabe el tiempo
120 REMark controles:
130 REMark   flechas de cursor y O P Q A
140 REMark   ESC para salir
150 :
160 nombre$ = "ComeSetas": REMark nombre del programa
170 version$ = "2.03": REMark version del programa
180 velocidad = 1: REMark 1=normal 0.5=doble 2=mitad
190 :
200 REMark ##########################################
210 REMark funciones comunes
220 REMark ##########################################
230 :
240 DEFine PROCedure espera(ratico)
250   REMark espera un ratico
260   LOCal d
270   FOR d = 0 TO velocidad*ratico: REMark pausa
280 END DEFine espera
290 :
300 DEFine FuNction cero$(v, n)
310   REMark justifica valor con ceros por la izquierda
320   LOCal rl
330   r$ = "0000000"&v: rl = LEN(r$)
340   RETurn r$(rl-n+1 TO rl)
350 END DEFine ceros
360 :
370 :
380 REMark ##########################################
390 REMark funciones del juego
400 REMark ##########################################
410 :
420 DEFine PROCedure pinta(chj, x, y, c$, c)
430   REMark pinta en la ventana de juego (canal chj) el caracter c$ con el color c en (x,y)
440   INK #chj, c: AT #chj, y, x: PRINT #chj, c$
450 END DEFine pinta
460 :
470 DEFine PROCedure fin(chj, chm)
480   REMark finalizacion del programa
490   limpiateclas
500   udgUnset(chj)
510   udgUnset(chm)
520   REMark restaurar las ventanas
530   WINDOW #0, 512,  50,   0, 206: PAPER #0, 0: INK #0, 4: CLS
540   WINDOW #1, 256, 202, 256,   0: BORDER #1, 1, 255: PAPER #1, 0: INK #1, 7: CLS
550   WINDOW #2, 256, 202,   0,   0: BORDER #2, 1, 255: PAPER #2, 0: INK #2, 4: CLS
560   MODE 2
570 END DEFine fin
580 :
590 DEFine PROCedure limpiateclas
600   LOCal kk$: kk$ = INKEY$(0): REMark limpia las teclas pendientes en la cola del teclado
610 END DEFine limpiateclas
620 :
630 DEFine PROCedure pantalla(chj, ww, wh, color)
640   REMark presentacion de pantalla
650   LOCal lm, tm
660   lm = (512-ww) DIV 2: REMark margen izquierdo
670   tm = wh+16: REMark margen superior de la ventana de marcadores
680   MODE 8: OPEN #chj, "scr_"&ww&"x"&wh&"a"&lm&"x16": PAPER #chj, color(0): CLS #chj: BORDER #chj, 1, color(3)
690   OPEN #chm, "scr_"&ww&"x12a"&lm&"x"&tm: PAPER #chm, color(0): CLS #chm: BORDER #chm, 1, color(3)
700 END DEFine pantalla
710 :
720 DEFine PROCedure marcador(chm, setas, puntos, tiempo, tiempofase, vidas, seta$, cw, color)
730   REMark muestra puntuaciones
740   PAPER #chm, color(0): CURSOR #chm, 10, 0
750   INK #chm, color(1): PRINT #chm, cero$(vidas, 1);
760   AT #chm, 0, 2
770   INK #chm, color(1): PRINT #chm, CHR$(135);" ";
780   INK #chm, color(1): PRINT #chm, cero$(tiempo, 1);
790   INK #chm, color(2): PRINT #chm, "s ";
800   INK #chm, color(1): PRINT #chm, cero$(tiempofase, 2);
810   INK #chm, color(2): PRINT #chm, "s ";
820   INK #chm, color(1): PRINT #chm, cero$(setas, 2);
830   INK #chm, color(2): PRINT #chm, seta$;" ";
840   INK #chm, color(1): PRINT #chm, cero$(puntos, 7);
850   INK #chm, color(2): PRINT #chm, "p";
860 END DEFine marcador
870 :
880 DEFine PROCedure coordenadasAleatorias(nx, ny, set_n, x, y, x2, y2, cw, ch)
890   REMark calcula un par de coordenadas aleatorias para un elemento
900   LOCal i
910   nx = RND(cw-1): ny = RND(ch-1): REMark nuevas coordenadas aleatorias
920   IF x == nx AND y == ny THEN GO TO 910: REMark si coincide con el avatar, escoge otras
930   REMark FOR i = 0 TO set_n: PRINT set_n;" "; i;" "; nx;" "; ny;" ": IF nx == x2(i) AND ny == y2(i) THEN GO TO 640: REMark si coincide con un elemento previo, escoge otras
940 END DEFine coordenadasAleatorias
950 :
960 DEFine PROCedure nuevaSeta(d, seta_n, x, y, x2, y2, cw, ch)
970   REMark crea una nueva seta
980   y2(d) = -1: coordenadasAleatorias x2(d), y2(d), seta_n, x, y, x2, y2, cw, ch
990 END DEFine nuevaSeta
1000 :
1010 DEFine PROCedure mueve(p, dp, l, r)
1020   REMark mueve una coordenada
1030   p = p+dp
1040   IF p < 0 THEN
1050     dp = -dp*(1-2*RND(r)): p = 0
1060   ELSE
1070     IF p >= l THEN dp = -dp: p = l-1
1080   END IF
1090 END DEFine mueve
1100 :
1110 DEFine FuNction mueveComesetas(chj, x, y, x2, y2, cw, ch, setas, puntos, tiempo, tiempofase, vidas, borrado$, color)
1120   REMark mueve el avatar
1130   LOCal dx, dy, i, ox, oy
1140   dx = 0: dy = 0: ox = x: oy = y
1150   IF KEYROW(1) && 8 THEN RETurn 1: REMark ESC
1160   IF KEYROW(1) && 16 OR KEYROW(4) && 32 THEN dx = 1: x = x+1: IF x >= cw THEN x = 0: REMark flecha derecha y P
1170   IF KEYROW(1) && 128 OR KEYROW(4) && 16 THEN dy = 1: y = y+1: IF y >= ch THEN y = 0: REMark flecha abajo y A
1180   IF KEYROW(1) && 2 OR KEYROW(5) && 128 THEN dx = -1: x = x-1: IF x < 0 THEN x = cw-1: REMark flecha izquierda y O
1190   IF KEYROW(1) && 4 OR KEYROW(6) && 8 THEN dy = -1: y = y-1: IF y < 0 THEN y = ch-1: REMark flecha arriba y Q
1200   IF ox <> x OR oy <> y THEN
1210     REMark comprobar colision con setas
1220     FOR i = 0 TO seta_n
1230       IF x = x2(i) AND y = y2(i) THEN
1240         REMark cuenta y muestra los puntos
1250         setas = setas-1: tiempo = 9: marcador chm, setas, puntos, tiempo, tiempofase, vidas, seta$, cw, color
1260         REMark crea y muestra la nueva seta
1270         nuevaSeta i, seta_n, x, y, x2, y2, cw, ch: pinta chj, x2(i), y2(i), seta$, color(2)
1280         REMark sale porque no es neceario comprobar mas setas
1290         EXIT i
1300       END IF
1310     END FOR i
1320     REMark calculo del avatar
1330     anim = NOT anim: IF anim THEN avatar$ = CHR$(137): ELSE avatar$ = CHR$(128 + 3*dx + dy + 4)
1340     REMark borra y pinta el avatar
1350     pinta chj, ox, oy, borrado$, color(1): pinta chj, x, y, avatar$, color(1)
1360   END IF
1370   RETurn 0
1380 END DEFine mueveComesetas
1390 :
1400 DEFine FuNction mueveBichos(chj, bicho_n, seta_n, bx, by, bdx, bdy, x, y, x2, y2, cw, ch, color)
1410  REMark mueve los bichos
1420  LOCal cx, cy, dx, dy, i, ib, ox, oy
1430  IF bicho_n < 0 THEN RETurn 0
1440  ox = x: oy = y
1450  FOR ib = 0 TO bicho_n
1460    cx = bx(ib): cy = by(ib)
1470    dx = bdx(ib): dy = bdy(ib)
1480    ox = cx: oy = cy
1490    REMark cambio de direccion?
1500    IF dy=-2 OR RND(9) > 7 THEN dx = RND(-1 TO 1): dy = RND(-1 TO 1)
1510    REMark mueve bicho
1520    cx = cx + dx: cy = cy + dy
1530    REMark limites de la ventana
1540    IF cx < 0 THEN cx = cw-1: ELSE IF cx >= cw THEN cx = 0
1550    IF cy < 0 THEN cy = ch-1: ELSE IF cy >= ch THEN cy = 0
1560    REMark comprobar colision con setas
1570    FOR i = 0 TO seta_n
1580      IF cx = x2(i) AND cy = y2(i) THEN
1590         REMark crea y muestra la nueva seta
1600         nuevaSeta i, seta_n, x, y, x2, y2, cw, ch: pinta chj, x2(i), y2(i), seta$, color(2)
1610         REMark sale porque no es neceario comprobar mas setas
1620         EXIT i
1630       END IF
1640    END FOR i
1650    IF cx<>ox AND cy<>oy THEN
1660      REMark borra y pinta el bicho
1670      pinta chj, ox, oy, borrado$, color(4): pinta chj, cx, cy, bicho$, color(4)
1680      REMark guarda los datos del bicho
1690      bx(ib) = cx: by(ib) = cy
1700      bdx(ib) = dx: bdy(ib) = dy
1710    END IF
1720    REMark comprobar colision con avatar
1730    IF cx == x AND cy == y THEN RETurn 1
1740   NEXT ib
1750   RETurn 0
1760 END DEFine mueveBichos
1770 :
1780 DEFine PROCedure grandote(chj, sx, sy, ww, wh, nombre$)
1790   REMark pinta una cadena en caracteres grandes con fondo
1800   CSIZE 2, 1: OVER 0
1810   CURSOR #chj, sx-1, sy+1: STRIP #chj, 0: PRINT #chj, FILL$(' ', LEN(t$))
1820   CURSOR #chj, sx-1, sy+1: OVER 0: STRIP #chj, 3: INK#chj, 0: PRINT #chj, t$
1830   CURSOR #chj, sx  , sy+2: OVER 1: INK #chj, 7: PRINT #chj, t$
1840   STRIP #chj, 0: CSIZE 0,0: OVER 0
1850 END DEFine grandote
1860 :
1870 DEFine PROCedure muestraNombre(chm, cw, ch)
1880   REMark muestra el nombre del programa
1890   INK #chm, 5: AT #chm, 0, (cw-LEN(nombre$)-LEN(version$)-1) DIV 2: PRINT #chm, nombre$;" ";version$
1900 END DEFine muestraNombre
1910 :
1920 DEFine PROCedure intro(chj, cw, ch, ww, wh, nombre$, avatar$, seta$, color)
1930   REMark presentacion del juego
1940   LOCal a$, anim, espera_tecla, f, i, l, t, t$, sx, sy, mx, my, tl, ty
1950   limpiateclas: l = LEN(nombre$): f = (cw - l) DIV 2
1960   anim = 0: t = 0
1970   t$ = FILL$(' ', f)&nombre$&FILL$(' ', f): l = LEN(t$)
1980   sx = ww DIV 2 - 6*l: sy = wh DIV 3 - 12
1990   REPeat espera_tecla
2000     mx = RND(cw-1): my = RND(ch-2): AT #chj, my, mx: INK #chj, 1: PRINT #chj, seta$;
2010     grandote chj, sx, sy, ww, wh, nombre$
2020     mx = cw DIV 2 - 4: my = ch DIV 2 + 3: tl = ch DIV 2: ty = tl
2030     IF anim THEN a$ = avatar$: ELSE a$ = CHR$(135)
2040     AT #chj, ty, t: INK #chj, color(1): PRINT #chj, " "; a$
2050     IF anim THEN t = t+1: IF t < cw-2 THEN INK #chj, color(2): FOR i = 2*((t+2) DIV 2) TO cw-2 STEP 2: AT #chj, ty, i: PRINT #chj, seta$: ELSE AT #chj, ty, t: PRINT #chj, " ": t = 0: IF ty > tl THEN ty = 3: ELSE IF ty == tl THEN ty = 3*ch DIV 4 + 1: ELSE ty = tl
2060     anim = (anim + 1) && 1
2070     INK #chj, 5: OVER #chj, -1: AT #chj, my, mx: PRINT #chj, "COMENZAR": OVER #chj, 0: espera 40000
2080     IF INKEY$(0) <> "" THEN EXIT espera_tecla
2090   END REPeat espera_tecla
2100 END DEFine intro
2110 :
2120 DEFine PROCedure listo(chj, cw, ch)
2130   REMark nueva vida
2140   LOCal i, mx, my
2150   mx = cw DIV 2 - 3: my = ch DIV 2 - 1
2160   OVER #chj, -1: INK #chj, 7
2170   FOR i = 0 TO 5: AT #chj, my, mx: PRINT #chj, "LISTO?": espera 75000
2180   OVER #chj, 0
2190 END DEFine listo
2200 :
2210 DEFine PROCedure tablero(chj, chm, x, y, x2, y2, cw, ch, avatar$, seta$, puntos, tiempo, tiempofase, vidas, color)
2220   REMark muestra el tablero de juego
2230   CLS #chj: FOR i = 0 TO seta_n: pinta chj, x2(i), y2(i), seta$, color(2)
2240   CLS #chm: marcador chm, setas, puntos, tiempo, tiempofase, vidas, seta$, cw, color
2250   pinta chj, x, y, avatar$, color(1)
2260   listo chj, cw, ch
2270 END DEFine tablero
2280 :
2290 DEFine PROCedure nuevafase(chj, chm, cw, ch, ww, wh, setasfase, puntos, tiempofase, fase, vidas, color)
2300   REMark cambio de fase
2310   LOCal a$, anim, contadores, espera_tecla, f, i, l, t, t$, setas, sx, sy, mx, my, tl, ty
2320   t$ = "FASE # "&fase: l = LEN(t$): f = (cw - l) DIV 2
2330   t$ = FILL$(' ', f)&t$&FILL$(' ', f): l = LEN(t$)
2340   my = wh/2.5
2350   sx = ww DIV 2 - 6*l: sy = wh DIV 3 - 12
2360   limpiateclas
2370   CLS #chj: grandote chj, sx, sy, ww, wh, t$
2380   CLS #chm: muestraNombre chm, cw, ch, nombre$, version$
2390   REMark espera 100000
2400   CSIZE 2, 1: i = 0: setas = setasfase
2410   REPeat contadores
2420     CURSOR #chj, 145, my: INK #chj, color(2): PRINT #chj, seta$;
2430     CURSOR #chj, 160, my+6: INK #chj, color(1): PRINT #chj, " ";cero$(setas, 2)
2440     IF NOT i THEN espera 100000
2450     CURSOR #chj,  85, my+30: INK #chj, color(2): PRINT #chj, "Tiempo ";
2460     CURSOR #chj, 160, my+30: INK #chj, color(1): PRINT #chj, " ";cero$(tiempofase, 2)
2470     IF NOT i THEN espera 100000
2480     CURSOR #chj,  85, my+60: INK #chj, color(2): PRINT #chj, "Puntos ";
2490     CURSOR #chj, 160, my+60: INK #chj, color(1): PRINT #chj, " ";cero$(puntos, 7)
2500     i = 1
2510     IF setas THEN setas = setas-1: puntos = puntos + 10: ELSE i = i + 1
2520     IF tiempofase THEN tiempofase = tiempofase-1: puntos = puntos + 20: ELSE i = i + 1
2530     IF i > 2 THEN EXIT contadores
2540     espera 25000
2550   END REPeat contadores
2560   fase = fase+1
2570   REMark ajuste de la dificultad del juego
2580   bicho_n = fase DIV 3 - 1: IF bicho_n > bicho_nmax THEN bicho_n = bicho_nmax
2590   setasfase = 20 + 5*(fase DIV 5)
2600   IF fase > 10 THEN i = 1: velocidad = 0.95*velocidad: ELSE i = 1.5
2610   tiempofase = INT(i*setasfase + .99)
2620   CSIZE 0, 0: limpiateclas: PAUSE 150
2630 END DEFine nuevafase
2640 :
2650 REMark ##########################################
2660 REMark funciones UDG
2670 REMark ##########################################
2680 :
2690 DEFine PROCedure udgSet(ch, n)
2700   REMark define UDG set (User Defined Graphics)
2710   LOCal i, p, v
2720   system_variables_base_address = 163840: REMark default QL ROM system variables address
2730   v$ = VER$: IF v$ == "JSL1" OR v$ == "HBA" THEN system_variables_base_address = VER$(-2)
2740   channel_base_address = PEEK_L(system_variables_base_address)
2750   channel_header_address = PEEK_L(channel_base_address + 4*ch)
2760   REMark get and save font2 base address
2770   pointer_enviroment_offset = 0: REMark 0 or 48
2780   font2_base_address = PEEK_L(46 + pointer_enviroment_offset + (PEEK_L(PEEK_L(system_variables_base_address + 120) + 4*ch)))
2790   REMark get udg memory space & set udg address
2800   udg_address = RESPR(9*(n + 2) + 2)
2810   POKE_L 46 + pointer_enviroment_offset + (PEEK_L(PEEK_L(system_variables_base_address + 120) + 4*ch)), udg_address
2820   p = udg_address
2830   POKE p, 127: POKE p + 1, n: p = p + 2
2840   FOR i = 1 TO 9: POKE p, 0: p = p + 1
2850   FOR i = 1 TO 9*n: READ v: POKE p, v: p = p + 1
2860   FOR i = 1 TO 9: POKE p, 0: p = p + 1
2870 END DEFine udgSet
2880 :
2890 DEFine PROCedure udgUnset(ch)
2900   REMark restore system font pointers
2910   POKE_L 46 + pointer_enviroment_offset + (PEEK_L(PEEK_L(system_variables_base_address + 120) + 4*ch)), font2_base_address
2920 END DEFine udgUnset
2930 :
2940 REMark ##########################################
2950 REMark datos UDG (9x6 pixels)
2960 REMark ##########################################
2970 :
2980 DATA 0, 24, 28, 28, 252, 252, 252, 120, 0: REMark izquierda-arriba
2990 DATA 0, 120, 252, 60, 28, 60, 252, 120, 0: REMark izquierda
3000 DATA 0, 120, 252, 252, 252, 28, 28, 24, 0: REMark izquierda-abajo
3010 DATA 0, 0, 132, 204, 204, 252, 252, 120, 0: REMark arriba
3020 DATA 0, 0, 0, 0, 120, 252, 180, 48, 0: REMark seta
3030 DATA 0, 120, 252, 252, 204, 204, 132, 0, 0: REMark abajo
3040 DATA 0, 96, 224, 224, 252, 252, 252, 120, 0: REMark derecha-arriba
3050 DATA 0, 120, 252, 240, 224, 240, 252, 120, 0: REMark derecha
3060 DATA 0, 120, 252, 252, 252, 224, 224, 96, 0: REMark derecha-abajo
3070 DATA 0, 120, 252, 252, 252, 252, 252, 120, 0: REMark centro
3080 DATA 0, 132, 180, 120, 48, 120, 120, 180, 132: REMark bicho
3090 :
3100 REMark ##########################################
3110 REMark programa principal
3120 REMark ##########################################
3130 :
3140 REMark LOCal ciclo, contador, final, i, muerte, nombre$
3150 :
3160 REMark datos del programa
3170 :
3180 chj = 1: REMark ventana de juego
3190 chm = 2: REMark ventana de marcadores
3200 cw = 25: ch = 20: REMark anchura, altura y media anchura en caracteres
3210 ww = 12*cw+4: wh = 10*ch+2: REMark anchura, altura y media anchura en pixeles
3220 :
3230 REMark colores
3240 :
3250 DIM color(4)
3260 color(0) = 0: REMark color para el fondo
3270 color(1) = 6: REMark color para el avatar
3280 color(2) = 2: REMark color para las setas
3290 color(3) = 3: REMark color del borde
3300 color(4) = 5: REMark color para los bichos
3310 :
3320 REMark avatar
3330 :
3340 avatar$ = CHR$(137): REMark caracter para el avatar
3350 borrado$ = " ": REMark caracter para borrar personaje
3360 x = cw DIV 2: y = ch DIV 2: REMark posicion del avatar
3370 vidas = 3: anim = 0: REMark vidas y estado de la animacion del avatar
3380 :
3390 REMark setas
3400 :
3410 seta$ = CHR$(132): REMark caracter para las setas
3420 seta_n = 9: REMark numero de setas - 1
3430 DIM x2(seta_n), y2(seta_n): REMark posiciones de las setas
3440 FOR i = 0 TO seta_n: y2(i) = -1: nuevaSeta i, seta_n, x, y, x2, y2, cw, ch
3450 :
3460 REMark bichos
3470 :
3480 bicho$ = CHR$(138): REMark caracter para los bichos
3490 bicho_n = -1: bicho_nmax = 9: REMark numero de bichos - 1 y maximo numero de bichos - 1
3500 DIM bx(bicho_nmax), by(bicho_nmax), bdx(bicho_nmax), bdy(bicho_nmax): REMark posiciones y dirección de los bichos
3510 FOR i = 0 TO bicho_n: by(i) = -1: bdy(i) = -2: nuevaSeta i, seta_n, x, y, bx, by, cw, ch
3520 :
3530 REMark fase, puntuacion y tiempo
3540 :
3550 fase = 1: puntos = 0: tiempo = 9: tiempofase = 30: contador = 0: setasfase = 20: setas = setasfase
3560 :
3570 REMark crea las ventanas
3580 :
3590 pantalla chj, ww, wh, color
3600 :
3610 REMark UDG
3620 :
3630 RESTORE 2980: udgSet chj, 11: REMark define UDG
3640 RESTORE 2980: udgSet chm, 11: REMark define UDG
3650 :
3660 REMark presentacion
3670 :
3680 muestraNombre chm, cw, ch
3690 intro chj, cw, ch, ww, wh, nombre$, avatar$, seta$, color
3700 :
3710 REMark muestra el tablero de juego con las setas
3720 :
3730 tablero chj, chm, x, y, x2, y2, cw, ch, avatar$, seta$, puntos, tiempo, tiempofase, vidas, color
3740 :
3750 REMark ciclo principal del juego
3760 :
3770 final = 0
3780 REPeat ciclo
3790   IF mueveComesetas(chj, x, y, x2, y2, cw, ch, setas, puntos, tiempo, tiempofase, vidas, borrado$, color) THEN EXIT ciclo
3800   muerte = mueveBichos(chj, bicho_n, seta_n, bx, by, bdx, bdy, x, y, x2, y2, cw, ch, color)
3810   contador = contador+1: IF contador = 9 THEN
3820     contador = 0: tiempo = tiempo-1 : tiempofase = tiempofase-1
3830     marcador chm, setas, puntos, tiempo, tiempofase, vidas, seta$, cw, color
3840     IF NOT tiempo OR NOT tiempofase THEN muerte = 1: tiempo = 9
3850   END IF
3860   IF NOT setas THEN nuevafase chj, chm, cw, ch, ww, wh, setasfase, puntos, tiempofase, fase, vidas, color: setas = setasfase: tiempo = 9: marcador chm, setas, puntos, tiempo, tiempofase, vidas, seta$, cw, color: tablero chj, chm, x, y, x2, y2, cw, ch, avatar$, seta$, puntos, tiempo, tiempofase, vidas, color
3870   IF muerte THEN vidas = vidas - 1: marcador chm, setas, puntos, tiempo, tiempofase, vidas, seta$, cw, color: final = NOT vidas: IF final THEN EXIT ciclo: ELSE listo chj, cw, ch: tablero chj, chm, x, y, x2, y2, cw, ch, avatar$, seta$, puntos, tiempo, tiempofase, vidas, color
3880   espera 25000
3890 END REPeat ciclo
3900 IF final THEN AT #chj, ch DIV 2, cw DIV 2-5: INK #chj, 7: PRINT #chj, "GAME OVER"
3910 PAUSE
3920 fin chj, chm
© cacharreo
Avatar de Usuario
luisbarna España - Cataluña
Demonio tercer orden
Demonio tercer orden
Mensajes: 620
Registrado: 27 Dic 2022, 12:24
Ubicación: Barcelona
Has thanked: 328 times
Been thanked: 210 times

Re: ComeSetas

Mensaje por luisbarna »

cacharreo escribió: 24 Mar 2024, 21:42 ComeSetas 2.03
...
(click para ampliar)
¿Lo has programado tu?
Trastos:
AMSTRAD CPC464, CPC6128 (por arreglar)
ZX Spectrum 48k (gomas), ZX Spectrum +, INVES Spectrum +, Spectrum Gris +2, Spectrum +3, ZX Spectrum 128k Toastrack
Commodore 16 (up to 64Kb), Commodore 64
Consolas: Intellivision Secam, Atari 2600 JR
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5878
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1210 times
Been thanked: 2832 times
Contactar:

Re: ComeSetas

Mensaje por cacharreo »

luisbarna escribió: 27 Mar 2024, 09:56
cacharreo escribió: 24 Mar 2024, 21:42 ComeSetas 2.03
...
(click para ampliar)
¿Lo has programado tu?
Sí, estos programas son cosas muy básicas que hago con el SUPERBASIC del QL (una versión evolucionada del de ZX Spectrum). Esta concretamente, hecha con caracteres (en modo texto), surgió como una variación de un ejercicio propuesto en un curso de SUPERBASIC en RW que imparte @badaman.
© cacharreo
Avatar de Usuario
luisbarna España - Cataluña
Demonio tercer orden
Demonio tercer orden
Mensajes: 620
Registrado: 27 Dic 2022, 12:24
Ubicación: Barcelona
Has thanked: 328 times
Been thanked: 210 times

Re: ComeSetas

Mensaje por luisbarna »

Pues se ve muy currado, tiene buena pinta....
Trastos:
AMSTRAD CPC464, CPC6128 (por arreglar)
ZX Spectrum 48k (gomas), ZX Spectrum +, INVES Spectrum +, Spectrum Gris +2, Spectrum +3, ZX Spectrum 128k Toastrack
Commodore 16 (up to 64Kb), Commodore 64
Consolas: Intellivision Secam, Atari 2600 JR
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5878
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1210 times
Been thanked: 2832 times
Contactar:

Re: ComeSetas

Mensaje por cacharreo »

Gracias. En su época con ZX81, ZX Spectrum,... hacía bastante de estos tipo de programillas y, a decir verdad, eran las únicas opciones para jugar que tenían bastantes de los compis de mi entorno porque en aquel entonces no teníamos acceso más que a la cinta "Horizons" y aún no se movían los programas comerciales entre aficionados. En esos años obtener un "Jetpac" o un "Atic Atac" era casi tan imposible como capturar un unicornio con tus propias manos y llegar a saber que existían tampoco era común.
© cacharreo
Responder

Volver a “Sinclair QL”