[ Foro de BASIC ]

Movimiento de un asterisco

15-Jun-2017 17:04
Invitado (Antonio)
1 Respuestas

Hola, ante todo muchas gracias por la mera existencia de esta página! He estado viendo el tutorial de BASIC y a ver si me pueden ayudar. Estoy programando en un ZX Spectrum 128k +2. La idea es sencilla, un asterisco que debe ser movido por teclas hacia izquierda, derecha, arriba y abajo, no hay más. Pero tengo problemas con como generar el movimiento. Mi código hasta ahora:

10 LET A$ = "*"
20 PRINT A$
30 LET A$ = INKEY&
40 IF INKEY$ = "" THEN GOTO 50
50 IF INKEY$ = "" THEN LET INKEY$ = INKEY$+1

Esta última línea pretende que   Inkey$, que representa el asterisco, se mueva en una posición, pero el BASIC no me la acepta, ¿alguna idea?


16-Jun-2017 10:37
Invitado (Caranim)


10 LET A$ = "*"
20 PRINT A$
30 LET A$ = INKEY&
40 IF INKEY$ = "" THEN GOTO 50
50 IF INKEY$ = "" THEN LET INKEY$ = INKEY$+1

Esta última línea pretende que   Inkey$, que representa el asterisco, se mueva en una posición, pero el BASIC no me la acepta, ¿alguna idea?

******************************************************

Inkey$ es una función que devuelve una tecla pulsada, por lo tanto no puedes asignarla un valor.

Prueba esto:
10 let a = 0
20 let b = 0
30 let anta = a
40 let antb = b
50 if inkey$ = "q" then let a = a -1
60 if inkey$ = "a" then let a = a +1
70 if inkey$ = "o" then let b = b -1
80 if inkey$ = "p" then let b = b+1
90 print at anta, antb; " "
100 print at a,b;"*"
110 goto 30

El asterisco se mueve con las teclas indicadas entre las líneas 50 y 80
En la 90 borramos el asterisco anterior de la pantalla para n dejar estela
En la 100 pintamos el asterisco








(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)