contadores

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Responder
Avatar de Usuario
jordigahan
Jack The Nipper
Mensajes: 184
Registrado: Mar Oct 30, 2007 11:10 pm
Ubicación: qui lo xa
Contactar:

contadores

Mensaje por jordigahan » Sab Dic 29, 2007 3:58 pm

haber una respuesta rapida que tengo que publicar el juego!!!!

he creado un contador que va restando 1 pero lo hace demasiado rapido, alguna idea para que reste mas lento sin usar sentencias tipo pause o stop ?
Imagen
Respuestas Acertadas: 3

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: contadores

Mensaje por mcleod_ideafix » Sab Dic 29, 2007 4:55 pm

Pon el código de cómo lo has hecho ahora y lo modificamos para que vaya más lento (un FOR-NEXT sin nada en lugar del PAUSE puede funcionar)
Web: ZX Projects | Twitter: @zxprojects

Bubu
Freddy Hardest
Mensajes: 544
Registrado: Mié Oct 31, 2007 12:15 am

Re: contadores

Mensaje por Bubu » Sab Dic 29, 2007 6:02 pm

En vez de:

contador = contador - 1
print contador


puedes hacer

contador = contador - 0.1
print int (contador)

Con esto se decrementaría 10 veces más lento.

Avatar de Usuario
decicoder
Jack The Nipper
Mensajes: 176
Registrado: Jue Jul 19, 2007 10:37 am

Re: contadores

Mensaje por decicoder » Sab Dic 29, 2007 7:11 pm

si tienes que contar enteros

sustituye LET i=i-1 por LET i=i+ COS PI. (así hasta ahorras memoria)

O más lento todavía LET i=i+COS SQR (PI*PI)
xor a
ld R,a
b1 in f,(c)
jp pe , b1
ld a,R

Avatar de Usuario
TrueVideo
Jack The Nipper
Mensajes: 195
Registrado: Mié May 23, 2007 8:34 am
Ubicación: BCN
Contactar:

Re: contadores

Mensaje por TrueVideo » Dom Dic 30, 2007 12:49 am

Otra opción. Utilizar un contador auxiliar para controlar la frecuencia:

Código: Seleccionar todo

10 LET CONTA=0: LET CONTROL=0: LET DELAY=10
20 IF CONTROL=0 THEN LET CONTROL=DELAY: LET CONTA=CONTA+1
30 LET CONTROL=CONTROL-1
40 PRINT AT 0,0;CONTA
50 GOTO 20


CONTROL se decrementa siempre. Cuando llega a 0 es la señal para actualizar tu contador. DELAY es el valor con el que se recarga CONTROL y sirve de parámetro para modificar la frecuencia.

La ventaja de esto es que puedes controlar la velocidad mediante el valor de DELAY y hacerlo todo lo lento que quieras. El problema de utilizar métodos basados en operaciones matemáticas como PI, SQR o bucles muertos es que ralentizan la ejecución del programa, lo cual no es lo mismo que ralentizar la frecuencia a la que se actualiza una variable.

Avatar de Usuario
jordigahan
Jack The Nipper
Mensajes: 184
Registrado: Mar Oct 30, 2007 11:10 pm
Ubicación: qui lo xa
Contactar:

Re: contadores

Mensaje por jordigahan » Dom Dic 30, 2007 2:16 am

gracias a todos, voy a probar.
Imagen
Respuestas Acertadas: 3

Bubu
Freddy Hardest
Mensajes: 544
Registrado: Mié Oct 31, 2007 12:15 am

Re: contadores

Mensaje por Bubu » Mar Ene 01, 2008 3:43 am

Prueba, prueba, y dinos.
Y suerte, jiji.

Avatar de Usuario
jordigahan
Jack The Nipper
Mensajes: 184
Registrado: Mar Oct 30, 2007 11:10 pm
Ubicación: qui lo xa
Contactar:

Re: contadores

Mensaje por jordigahan » Mar Ene 01, 2008 2:14 pm

al final he utilizado el metodo de truev video y la verdad es que funciona de maravilla.
Imagen
Respuestas Acertadas: 3

Avatar de Usuario
TrueVideo
Jack The Nipper
Mensajes: 195
Registrado: Mié May 23, 2007 8:34 am
Ubicación: BCN
Contactar:

Re: contadores

Mensaje por TrueVideo » Mar Ene 01, 2008 8:01 pm

Me alegro! :)

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados