<-- Back to list of examples
"""
# Sample Python/Pygame Programs
# Simpson College Computer Science
# http://programarcadegames.com/
# http://simpson.edu/computer-science/
"""
def obtener_puntuacion_mas_alta():
# Puntuación más alta por defecto
puntuacion_mas_alta = 0
# Intentemos leer la puntuación más alta desde un archivo
try:
archivo_puntuacion_mas_alta = open("high_score.txt", "r")
puntuacion_mas_alta = int(archivo_puntuacion_mas_alta.read())
archivo_puntuacion_mas_alta.close()
print("La puntuación más alta es", puntuacion_mas_alta)
except IOError:
# Error al leer el archivo, no existe una puntuación más alta
print("Aún no existe una puntuación más alta.")
except ValueError:
# Hay un archivo allí, pero no entiendo los números.
print("Estoy confundido. Empezamos sin una puntuación alta.")
return puntuacion_mas_alta
def guardar_puntuacion_mas_alta(nueva_puntuacion_mas_alta):
try:
# Escribimos el archivo en disco
archivo_puntuacion_mas_alta = open("high_score.txt", "w")
archivo_puntuacion_mas_alta.write(str(nueva_puntuacion_mas_alta))
archivo_puntuacion_mas_alta.close()
except IOError:
# Um, no puedo escribirlo.
print("No soy capaz de guardar la puntuación alta.")
def main():
""" Aquí va el programa principal. """
# Obtenemos la puntuación más alta.
puntuacion_mas_alta = obtener_puntuacion_mas_alta()
# Obtenemos la puntuación del juego en curso
puntuacion_actual = 0
try:
# Pregúntale al usuario/a por su puntuación
puntuacion_actual = int(input ("¿Cuál es tu puntuación? "))
except ValueError:
# Error, no puedo convertir lo que ha escrito en un número
print("No comprendo qué has escrito.")
# Observa por si tenemos una nueva puntuación más alta
if puntuacion_actual > puntuacion_mas_alta:
# Conseguido! Guardamos en disco
print("Bravo! Nueva puntuación más alta!")
guardar_puntuacion_mas_alta(puntuacion_actual)
else:
print("Mejor suerte la próxima vez.")
# Llamamos a la función principal, empezamos el juego
if __name__ == "__main__":
main()