Advertisement
EXTREMEXPLOIT

Hanoi Game UI

Jan 29th, 2019
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.62 KB | None | 0 0
  1. N_Discs = 5
  2. N_Towers = 3
  3. #Suponiendo que los discos se guardan en la lista de mayor a menor.
  4. #Suponiendo que una posición vacía es un 0 en la lista. EmptyTower=[0,0,0,0,0]
  5. Tower1=[3,2,1,0,0]
  6. Tower2=[5,4,3,2,1]
  7. Tower3=[3,2,1,0,0]
  8.  
  9. def Board(N_Discs,N_Towers,Tower1,Tower2,Tower3):
  10.     Position=-1
  11.     for k in range(N_Discs):
  12.         Position+=1
  13.         for j in range(N_Towers): #Imprimimos las tres torres simultáneamente, línea por línea.
  14.             #Elegimos la torre de la que extraemos sus elementos.
  15.             if j==0:
  16.                 Tower=Tower1[::-1]
  17.             elif j==1:
  18.                 Tower=Tower2[::-1]
  19.             elif j==2:
  20.                 Tower=Tower3[::-1]
  21.             Disc=Tower[Position]
  22.             #Imprimimos una fila de una torre.
  23.             for i in range(5-Disc): #Haremos la cantidad de puntos dejando espacio a los "#"
  24.                 print(".",end="") #Primera mitad de puntos.
  25.             for n in range(Disc): #Imprimimos la cantidad necesaria de "#"
  26.                 print("#",end="")
  27.                
  28.             print("|",end="") #División central en la torre.
  29.            
  30.             for n in range(Disc): #Empezamos con los "#", dejando espacio para los "."
  31.                 print("#",end="")
  32.             for i in range(5-Disc):
  33.                 print(".",end="") #Segunda mitad de puntos.
  34.  
  35.             print(end=" ") #Separación entre torres.
  36.         print("\n",end="") #Saltamos de línea y escribimos en ella.
  37.         if k==N_Discs-1: #Si hemos imprimido la última línea:
  38.             print("  Tower 1     Tower 2     Tower 3")
  39.  
  40. Board(N_Discs,N_Towers,Tower1,Tower2,Tower3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement