Ayuda con BASIC Spectrum

El lugar para hablar de los emuladores. || Post here if you have any question about the emulators.

Moderadores: Neville, CEZ

Responder
Zael
16 bits
16 bits
Mensajes: 55
Registrado: 12 Mar 2006 22:53

Ayuda con BASIC Spectrum

Mensaje por Zael »

Hola. Estoy programando un juego para Spectrum ZX con BASin y me gustaría saber si hay algún comando o algún modo de mantener un PRINT 5 ó 10 segs en pantalla y que luego siga el programa en la siguiente línea.

Con PAUSE 0 se queda parado hasta que aprietas una tecla, pero yo lo que busco es que se mantenga unos segundos en pantalla y luego continue la ejecución del programa en la siguiente línea.

¿Puede hacerse? ¿Alguna idea?

Gracias. Un saludo.
Avatar de Usuario
Anjuel
256 bits
256 bits
Mensajes: 8771
Registrado: 23 Dic 2004 16:36
Ubicación: Torreznolandia

Re: Ayuda con BASIC Spectrum

Mensaje por Anjuel »

Zael escribió:Hola. Estoy programando un juego para Spectrum ZX con BASin y me gustaría saber si hay algún comando o algún modo de mantener un PRINT 5 ó 10 segs en pantalla y que luego siga el programa en la siguiente línea.

Con PAUSE 0 se queda parado hasta que aprietas una tecla, pero yo lo que busco es que se mantenga unos segundos en pantalla y luego continue la ejecución del programa en la siguiente línea.

¿Puede hacerse? ¿Alguna idea?

Gracias. Un saludo.
Hola Zael,

en vez de 0 prueba a darle otros valores a PAUSE. Por ejemplo, PAUSE 100

Lo que no se ahora es la correspondencia en segundos, pero ve probando con el valor, porque eso eso lo que buscas.

Un saludo!
;)
Avatar de Usuario
Konamito
256 bits
256 bits
Mensajes: 6395
Registrado: 01 Jun 2005 17:26
Ubicación: Santa Cruz de Tenerife
Contactar:

Mensaje por Konamito »

Yo no entiendo mucho de BASIC, pero en el del MSX recuerdo que haciendo un bucle FOR NEXT hacías que el ordenador se quedara parado el tiempo qeu desearas. Algo así como:

Código: Seleccionar todo

10 PRINT"HOLA"
20 FOR I=1 TO 1000
30 NEXT I
40 PRINT "YA HA PASADO UN RATITO"
De todas maneras, los gurús del BASIC te darán más pistas sobre lo que quieres hacer.

Un saludo.
MSXBlog: MSX en primera persona

https://www.msxblog.es
Avatar de Usuario
Benway
Site Admin
Site Admin
Mensajes: 9241
Registrado: 24 Dic 2005 10:18
Ubicación: Madrid
Contactar:

Mensaje por Benway »

En el manual del Spectrum, alguien escribió:Con bastante frecuencia, deseará conseguir que el programa tenga una duración determinada y para tal fin, encontrará de utilidad la sentencia PAUSE.
PAUSE n

interrumpe el cómputo y congela el contenido de pantalla durante n imágenes de la televisión (a 50 imágenes por segundo en Europa o 60 en América). El valor n puede ser de hasta 65535, lo que le proporciona poco menos de 22 minutos; si n = 0, entonces, significa "Pausa para siempre".

Una pausa siempre puede acortarse pulsando una tecla (tenga presente que un espacio con CAPS SHIFT producirá también una interrupción). Ha de pulsar la tecla después de que haya comenzado la pausa.
Osea, que si quieres parar 10 segundos, tendrás que poner PAUSE 500 ;)

El problema es que los PAUSEs, como bien dice el manual, se pueden "saltar" pulsando una tecla. Si quieres evitar eso, la manera más "simple" que se me ocurre es usando la técnica que sugiere Konamito, aunque entonces tendrás tú que echar cuentas de cuánto necesitas que sea el bucle para conseguir la pausa deseada.

Espero haberte ayudado ;)
Un saludo.
Imagen - Imagen - Imagen
Zael
16 bits
16 bits
Mensajes: 55
Registrado: 12 Mar 2006 22:53

Mensaje por Zael »

Wow! Gracias a todos, habeís sido rapidísimos en contestar.

Yo lo intenté poniendo PAUSE 5 y PAUSE 10 (pensando que el nº indicaría los segundos) y claro... por eso no se pausaba (pasaba tan rápido la imagen que pensaba que sólo servía el valor 0 para PAUSE).

P.D.: Creo que puse el post en el foro que no tocaba. Si es así que algún moderador lo mueva a su sitio. Gracias.

P.D.2: Benway, ¿Se puede descargar el manual del Spectrum que comentas de algún sitio? Gracias.
Avatar de Usuario
Benway
Site Admin
Site Admin
Mensajes: 9241
Registrado: 24 Dic 2005 10:18
Ubicación: Madrid
Contactar:

Mensaje por Benway »

Zael escribió:Wow! Gracias a todos, habeís sido rapidísimos en contestar.

Yo lo intenté poniendo PAUSE 5 y PAUSE 10 (pensando que el nº indicaría los segundos) y claro... por eso no se pausaba (pasaba tan rápido la imagen que pensaba que sólo servía el valor 0 para PAUSE).
De nada! ;)
Zael escribió:P.D.: Creo que puse el post en el foro que no tocaba. Si es así que algún moderador lo mueva a su sitio. Gracias.
Yo creo que está bien aquí, ¿no?
Zael escribió:P.D.2: Benway, ¿Se puede descargar el manual del Spectrum que comentas de algún sitio? Gracias.
http://www.speccy.org/manuales/basic_gomas/ ;)
Un saludo.
Imagen - Imagen - Imagen
Responder