Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created December 22, 2021 04:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/88b68be6b1b1fb7877b848fe63aea129 to your computer and use it in GitHub Desktop.
Save parzibyte/88b68be6b1b1fb7877b848fe63aea129 to your computer and use it in GitHub Desktop.
def solicitar_coordenadas(jugador):
print(f"Solicitando coordenadas de disparo al jugador {jugador}")
# Ciclo infinito. Se rompe cuando ingresan una fila correcta
y = None
x = None
while True:
letra_fila = input(
"Ingresa la letra de la fila tal y como aparece en el tablero: ")
# Necesitamos una letra de 1 carácter. Si no es de 1 carácter usamos continue para repetir este ciclo
if len(letra_fila) != 1:
print("Debes ingresar únicamente una letra")
continue
# Convertir la letra a un índice para acceder a la matriz
# La A equivale al ASCII 65, la B al 66, etcétera. Para convertir la letra a índice
# convertimos la letra a su ASCII y le restamos 65 (el 65 es el ASCII de la A, por lo que A es 0)
y = ord(letra_fila) - 65
# Verificar si es válida. En caso de que sí, rompemos el ciclo
if coordenada_en_rango(0, y):
break
else:
print("Fila inválida")
# Hacemos lo mismo pero para la columna
while True:
try:
x = int(input("Ingresa el número de columna: "))
if coordenada_en_rango(x-1, 0):
x = x-1 # Queremos el índice, así que restamos un 1 siempre
break
else:
print("Columna inválida")
except:
print("Ingresa un número válido")
return x, y
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment