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.
Gracias por la atención
Os dejo el código para que le echéis un vistazo
Código:
import random
import sys
TAMANY = 8
MINES = 10
def print_taulell (tau):
print "\n"
for col in tau:
for fil in col:
print fil," ",
print "\n"
def recompte (col,fil):
suma = 0
for a in range (col-1,col+2):
for b in range (fil-1,fil+2):
if a>=0 and a<=TAMANY-1 and b>=0 and b<=TAMANY-1:
if taulell_ocult[a][b]=="*":
suma = suma + 1
return suma
#Guardar partida
def guardar_taulell(fitxer, taulell):
sortida = open (fitxer, "w")
for i in range(TAMANY):
for j in range(TAMANY):
sortida.write(str(taulell[i][j]))
sortida.close()
#Rankings
def ranking(fitxer):
sortida = open (fitxer, "a")
nom = raw_input("Escriu el nom: ")
sortida.write(nom + '\n')
sortida.close()
#taulell_ocult
taulell_ocult = []
for A in range (TAMANY):
taulell_3 = []
for B in range (TAMANY):
taulell_3.append (0)
taulell_ocult.append (taulell_3)
#Taulell_visible
taulell_visible = []
for A in range (TAMANY):
taulell_3 = []
for B in range (TAMANY):
taulell_3.append ("@")
taulell_visible.append (taulell_3)
#colocar les mines
suma = 0
while suma!=MINES:
random1 = random.randrange(0,TAMANY)
random2 = random.randrange(0,TAMANY)
if taulell_ocult[random1][random2] != '*':
taulell_ocult[random1][random2] = '*'
suma = suma + 1
#Contament de mines contorn
for col in range (TAMANY):
for fil in range (TAMANY):
num = recompte(col,fil)
if taulell_ocult[col][fil]!="*":
taulell_ocult[col][fil]=num
#Joc
suma = 0
partida = raw_input("Vols carregar la partida guardada? S/N ")
if partida=="N":
while suma!=MINES:
posicio = raw_input ("M per mina, G per guardar J per jugar ")
#Mina
if posicio=="M":
print "Indica les coordenades per una posicio AMB mines"
col_mines = input ("Columna: ") -1
fil_mines = input ("Fila: ") -1
if taulell_ocult[fil_mines][col_mines]=="*":
suma = suma + 1
taulell_visible[fil_mines][col_mines]="*"
if suma==MINES:
print_taulell (taulell_visible)
print "Has guanyat"
ranking('ranking.txt')
break
else:
print_taulell (taulell_ocult)
print "Has perdut"
break
print_taulell (taulell_visible)
print "Et queden",MINES-suma,"mines"
#Guardar partida
if posicio == "G":
guardar_taulell("ocult.txt",taulell_ocult)
guardar_taulell("visible.txt", taulell_visible)
print "Has guardat la partida"
break
#Selecionar jugada
if posicio == "J":
print "Indica les coordenades per una posicio SENSE mines"
columna = input ("Columna: ") -1
fila = input ("Fila: ") -1
if taulell_ocult[fila][columna]!="*":
taulell_visible[fila][columna]=taulell_ocult[fila][columna]
else:
print_taulell (taulell_ocult)
print "Has perdut"
break
print_taulell (taulell_visible)
print "Et queden",MINES-suma,"mines"
print "\n"
else:
raw_input()