Foros del Web » Programación web » Javascript »

Cronómetro automático juego

Estas en el tema de Cronómetro automático juego en el foro de Javascript en Foros del Web. Buenas! después de tirarme horas y horas probando y probando cronómetros que habían por la red e intentando adaptarlo a mis necesidades no he conseguido ...
  #1 (permalink)  
Antiguo 24/10/2009, 04:45
 
Fecha de Ingreso: septiembre-2009
Ubicación: Alicante
Mensajes: 12
Antigüedad: 4 años, 10 meses
Puntos: 0
Pregunta Cronómetro automático juego

Buenas! después de tirarme horas y horas probando y probando cronómetros que habían por la red e intentando adaptarlo a mis necesidades no he conseguido nada.

Mi necesidad en estos momentos es tener como un contador en Javascript/ajax tanto del tiempo que transcurre como del que falta para que termine, es decir, habrá un cronómetro que vaya incrementándose y otro en cuenta atrás decrementándose, hasta que o bien el usuario termine la prueba o bien la cuenta atrás finalice y de un alert con un texto diciendo algo así como "se te terminó el tiempo, perdiste" o bien que el usuario le de a un link para guardar o terminar la partida apuntando a un ".do" que ni me han explicado casi lo que es... :(

Debe de ser compatible con IE y Firefox.

La idea es que dependiendo de la prueba a la que se someta al usuario será un cronómetro incremental o decremental mediante una variable(solo un cronómetro a la vez, por ahorrar confusiones).

La cuestión es que conseguí algo pero el "innerText" en firefox no funcionaba y si va con botones mediante un "form" no me interesa puesto que debe de empezar solo, no cuando el usuario le dé al botón, sino la prueba de velocidad no tendría sentido.

Esto es para una práctica de clase y me esta dando muchos quebraderos de cabeza además del poco tiempo que tengo para prestarle a la misma y me esta robando mucho tiempo.

No pretendo que en cualquier caso me hagan esa "miniparte" de la práctica pero cualquier cosa será recibida con los brazos abiertos.

Gracias, un saludo y espero haberme explicado bien.
  #2 (permalink)  
Antiguo 24/10/2009, 05:39
 
Fecha de Ingreso: octubre-2009
Ubicación: Castellón y Valencia
Mensajes: 47
Antigüedad: 4 años, 9 meses
Puntos: 2
Respuesta: Cronómetro automático juego

el cronometro es facil:

var id = setInterval("tiempo()",1000);

ésto ejecutará la funcion tiempo() cada segundo.

Después creas una variable para ir contando los segundos:

var segundos=0;

Y en la función tiempo() haces que sume 1 y que compruebe si ya ha pasado el tiempo:

function tiempo()
{
segundos+=1;
if(segundos==15){alert('ya');}
}
  #3 (permalink)  
Antiguo 24/10/2009, 10:33
 
Fecha de Ingreso: septiembre-2009
Ubicación: Alicante
Mensajes: 12
Antigüedad: 4 años, 10 meses
Puntos: 0
Exclamación Respuesta: Cronómetro automático juego

Gracias javi , con tu aporte he podido hacer algo entendiendo lo que estoy haciendo, el problema es que no se me visualiza en tiempo real ,de hecho no hace nada de nada. No quiero que la función en si se quede implícita hasta que internamente me salte el "alert" sino que el usuario pueda ir controlando lo que lleva gastado de tiempo o lo que le falte para que se le termine la partida.

Aquí os dejo el código que he podido desarrollar según lo que me dió javi (no lo sé si esta bien pero he intentado dejar comentarios para que me la gente entienda lo que hace para los que no saben y para los que saben para que me comprendan mejor o me corrijan.

He añadido el .js en el archivo .html con esta referencia:

head .html
Código:
<script src="js/cronometro.js" type="text/javascript"></script>
.html
Código:
<body onload="cronometro()">
.js
Código:
//  Se supone que esta variable externamente nos aportará un valor "limite" 
// si esta limitado (cuentaAtrás) o si vale otra cosa va normal el cronómetro.
var reto = 'noLimite'; 

//  Este valor también nos vendrá dado externamente del servidor puesto que este valor puede ser de una partida ya 
// empezada y el jugador llevara consumidos 40segundos por ejemplo.
var segundos = 0; 

//Función que me permite poner el cronómetro en modo normal
function tiempo()
{
	segundos+=1; //Incremento +1 a la variable "segundos"
	if(segundos == 15) //Se supone que no hay tope en principio pero que lo pondremos para que lo básico sepamos que funciona
	{
		alert('ya');
	}
}
//Fución que me permite poner el cronómetro en modo cuenta atrás
function tiempoAtras()
{
	segundos-=1; //Le resto -1 a la variable "segundos"
	if(segundos <= 0)
	{
		alert('Tiempo límite alcanzado ¡fin de partida!');
	}
}

//Dependiendo del valor que tenga "reto" utilizará un modo u otro de cronómetro
function cronometro()
{
	if(reto == limite)
	{
		var id = setInterval("tiempoAtras()",1000);//Ejecuta la función "tiempoAtras" cada segundo
	}
	else
	{
		var id = setInterval("tiempo()",1000);//Ejecuta la función "tiempo" cada segundo
	}
}
La verdad desde siempre me me dió un poco mal javascript porque nunca me dieron una clase como la que me pudieron dar en html o xhtml... como es más complejo puesto que es programación pues cuesta más pero el problema es que muchas de las funciones que tiene las desconozco cosa que con las etiquetas de xhtml no me pasa :( . Sin embargo de php se me da un poco mejor, conozco más funciones y me lo explicaron mejor. :D Pero en esta práctica no puedo usar php :(
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:44.
SEO by vBSEO 3.3.2