Hola buenas tardes, estoy creando mi primer juego y necesito ponerle un topten. Primero había logrado que aparecieran los jugadores con su puntaje pero al moverle para querer ordenarlo ya no me sale nada
lo deje peor.
Código Python:
Ver originalf= open("C:\Users\Personal\Desktop\Top.txt","r")
print f.read()
f.close()
lineas=[]
f= open("C:\Users\Personal\Desktop\Top.txt","r")
x=f.readline()
contador = 0
contadorGanador = 0
encontroGanador = 0
while (x!=""):
lineas.append(x)
#SEparamos lineas
lineaSeparada=x.split(" ")
#Obtenemos nombre
nombre=lineaSeparada[0]
#Obtenemos puntos
puntos1 = int(lineaSeparada[1])
#Si el nombre es igual al ganador sumamos
print "NOMBRE SEL: "+nombre
print "NOMBRE ganador: "+nombreganador
if nombreganador == nombre:
contadorGanador = contador
puntos2 = puntos1+1
lineas[contador]=nombre+" "+str(puntos2)+"\n"
print "Tenia %i puntos y ahora tiene %i puntos"%(puntos1,puntos2)
encontroGanador = 1
x=f.readline()
contador= contador+1
print lineas
if(encontroGanador == 0):
lineas.append("\n"+nombreganador+" "+str(1))
print "GANADOR: "+nombreganador+" PUNTOS NUEVOS= "+lineas[contadorGanador]
f= open("C:\Users\Personal\Desktop\Top.txt","w")
for linea in lineas:
f.write(linea)
f.close()
Esto es lo que tengo y tengo otro programa hecho para ordenar arreglos.
s=f.read()
s=[["Luz", 12],["Alexa",8],["Vero", 15],["Karina",9],["Luis",13],["Pablo",7]
print s
for i in range (0,len(s)-1):
for j in range(i+1,len(s)):
if (s[i][1]<s[j][1]):
n=s[i][0]
v=s[i][1]
s[i][0]=s[j][0]
s[i][1]=s[j][1]
s[j][0]=n
s[j][1]=v
print s
n="Luz"
encontrado=0
for i in range(0,len(s)):
if (s[i][0]==n):
s[i][1]=s[i][1]+1
encontrado=1
break
if (encontrado==0):
d=[n,1]
s.append(d)
else:
for i in range (0,len(s)-1):
for j in range(i+1,len(s)):
if (s[i][1]<s[j][1]):
n=s[i][0]
v=s[i][1]
s[i][0]=s[j][0]
s[i][1]=s[j][1]
s[j][0]=n
s[j][1]=v
print s
n="Faby"
encontrado=0
for i in range(0,len(s)):
if (s[i][0]==n):
s[i][1]=s[i][1]+1
encontrado=1
break
if (encontrado==0):
d=[n,1]
s.append(d)
else:
for i in range (0,len(s)-1):
for j in range(i+1,len(s)):
if (s[i][1]<s[j][1]):
n=s[i][0]
v=s[i][1]
s[i][0]=s[j][0]
s[i][1]=s[j][1]
s[j][0]=n
s[j][1]=v
print len(s)
if(len(s)>10):
x=10
else:
x=len(s)
i=0
while(i<x):
print s[i]
i=i+1
El punto es que me pidiera el nombre del ganador para sumarle un punto y que se fije si el nombre aparece en el archivo, si no para agregarlo y luego que ordene a los jugadores, del que tiene más puntos al que tiene menos y que solo aparezcan los 15 más altos.
Ya no sé que hacer con esto, les agradecería muchísimo su ayuda.