Fecha y hora actual: Jueves 22 Ago 2019 13:34
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

Contador de tiempo en Python

Responder al Tema

Índice del Foro > Python > Contador de tiempo en Python

Autor Mensaje
Miquel



Registrado: 25 May 2015
Mensajes: 1

Mensaje Publicado: Lunes 25 May 2015 18:45

Título del mensaje: Contador de tiempo en Python

Responder citando

Hola a todos,

Estoy intentando hacer para un trabajo un buscaminas.

El juego en si ya esta funcionando pero me piden que haga un ranking conforme cuanto menos tiempo tardes en encontrar todas las minas mejor puntuación.

De momento he hecho una funcion que inserta en un blog de notas el nombre del jugador cuando ya ha ganado, el problema esta con el tiempo y como ordenar después el ranking de solo los 5 mejores.

Tengo pensado como hacerlo pero no se como aplicarlo:

Mi idea consiste en guardar en una variable la hora actual de cuando se ejecuta el programa y después restarla a la que se haya acabado la partida.

Si alguien pudiese ayudarme estaría muy agradecido.

Si lo necesitáis puedo insertar el código entero del programa.

Muchas gracias!

Volver arriba
Ver perfil del usuario Enviar mensaje privado
WhiteSkull
CoAdmin


Registrado: 20 Mar 2009
Mensajes: 3136
Ubicación: y*width+x

Mensaje Publicado: Lunes 25 May 2015 23:12

Título del mensaje: Contador de tiempo en Python

Responder citando

Es muy sencillo y es tal cómo indicas. Grabas el tiempo y el nombre que introducirá el usuario al final de la partida. Para evitar problemas y confusiones en la lectura, usa un formato sencillo, que consista en usar algún tipo de separador entre el nombre y el tiempo. Acuérdate de poner eso, al iniciar usa una variable global o que esté disponible desde cualquier parte, para que pongas el tiempo inicial (en milisegundos) y luego al finalizar la partida (con victoria), inmediatamente restes para obtener el tiempo empleado en el juego (por medio de una resta claro). Cada vez que vayas a insertar alguien en el ranking, lee todos y luego compara el tiempo obtenido de esta forma, en el orden que se encuentren : si tiempoGrabado==false Y tiempoPartidaActual<tiempoPartidaFichero[i] entonces grabaLineaFichero(tiempoPartidaActual, nombre); tiempoGrabado==true sino grabaLineaFichero(tiempoPartidaFichero[i], nombreFichero[i]); i++... así hasta al final.

Ejemplo de formato:
ranking.txt escribió:
1000#MIQUEL
2000#RISKY
3000#HEMAN
...
...



Código:
  1. tiempoInicial = int(round(time.time() * 1000)) # en milisegundos
  2. # comienza la partida
  3. ...
  4. ...
  5. # partida finalizada con victoria
  6. tiempoPartidaActual = int(round(time.time() * 1000)) - tiempoInicial
  7.  
  8. ...
  9. ...
  10. # cargamos el ranking
  11. fichero = open('ranking.txt', "r")
  12. tiempoPartidaFichero = fichero.readlines()
  13. fichero.close()
  14.  
  15. # comparamos y almacenamos
  16. i=0
  17. tiempoGrabado=False
  18. fichero = open('ranking.txt', "w")
  19. while i<len(tiempoPartidaFichero.count):
  20. # comparamos
  21. if tiempoGrabado==False and tiempoPartidaActual<tiempoPartidaFichero[i].split("#")[0]: # la puntuacion actual es mejor que la almacenada
  22. fichero.write( tiempoPartidaActual+"#"+nombreJugador+"\n" )
  23. tiempoGrabado=True
  24. else:
  25. fichero.write( tiempoPartidaFichero[i]+"\n")
  26. i++
  27. fichero.close()
  28.  

Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

Python abrir sin darle al start

Sergi99 Python 0 Lunes 20 May 2019 10:54 Ver último mensaje
El foro no contiene ningún mensaje nuevo

necesito ayuda con el algoritmo de dijkstra en ...

mery Python 0 Jueves 13 Dic 2018 18:07 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Tutorial Python Rápido para Principiantes

Errodringer Python 0 Viernes 14 Sep 2018 19:38 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Duda codigo en Python - Red Neuronal con numpy ...

Daniel_wUNTG Python 1 Sábado 21 Oct 2017 22:27 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Problema para extracción de datos utilizando py...

liz Python 1 Viernes 06 Oct 2017 11:05 Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,