🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #16384

Re: Retardo en juego

#16384
From: Jose Luis Trivino
Date: Wed, 26 Apr 2000 00:00
43 lines
2674 bytes
bluemark@surnet.es wrote:
> 
> Os explico mi duda:
> 
>   Estoy programando un jueguecito sencillo en C, y tan sencillo es que todo se mueve (al menos
> en mi Celeron 300) tan rapido que no se ve nada. Esto lo vengo arreglando con un bucle for vacio
> metido en medio del bucle principal del juego (aunque supongo que no sera la solucion mas
> adecuada). Sin embargo, al cambiar de ordenador habria que cambiar la longitud del bucle en el
> codigo fuente, cosa que no me parece muy apropiada.
> 
>   Quisiera que me dijerais como puedo meter este retardo en el juego, adaptandose a la
> velocidad de la maquina en la que se ejecute. Por otro lado, y si la solucion del bucle no
> fuera la mejor, que alternativas tengo.
Hola,
	Hasta donde yo se (lo mio no es programar juegos). Tienes
tres opciones diferentes:
1. Utilizar un bucle while en el que usas como condicion de
salida que haya pasado un tiempo determinado. Este tiempo lo
calculas al principio del bucle mediante una llamada a la
funcion time. El problema es que la resolucion de esta
funcion es en segundo -> No hay retardos menores de 1 seg.
Ignoro si hay alguna funcion que de mayor resolucion
2. Sustituyes el bucle de espera por una llamada a sleep o
mejor a nanosleep (sleep trabaja con segundos).
3. Esta quizas sea la mejor pero tambien la mas compleja:
Coloca todo el codigo repetitivo del juego dentro de un
gestor de alarmas (ver comandos alarm, signal y sigaction.
El problema es que alarm solo env�a se�ales en multiplos de
segundos e ignoro si existira una funcion con una resolucion
mayor.

	Hasta m�s bits,

-- 
---------------------------------------------------
Jose Luis Triviño Rodriguez
Dept. Lenguajes y Ciencias de la Computaci�n

http://alcor.lcc.uma.es/~trivino
Usuario registrado de linux n� 53043
---------------------------------------------------

La medida de programar es programar sin medida
Technical Details
Message-ID: <3906FE47.6CB90517@lcc.uma.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <8e4sen$4n3$1@talia.mad.ttd.net>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,38f52171fe384988
X-Google-Attributes: gidf86c8,public
From: Jose Luis Trivino <trivino@lcc.uma.es>
Subject: Re: Retardo en juego
Date: 2000/04/26
Message-ID: <3906FE47.6CB90517@lcc.uma.es>
X-Deja-AN: 615929918
Content-Transfer-Encoding: 8bit
References: <8e4sen$4n3$1@talia.mad.ttd.net>
To: bluemark@surnet.es
X-Accept-Language: en
Content-Type: text/plain; charset=iso-8859-1
X-Complaints-To: news@cica.es
X-Trace: mercurio.cica.es 956755977 5202 150.214.108.40 (26 Apr 2000 13:32:57 GMT)
Organization: Dept. Lenguajes y Ciencias de la Computacion
Mime-Version: 1.0
NNTP-Posting-Date: 26 Apr 2000 13:32:57 GMT
Newsgroups: es.comp.os.linux.programacion