Guest User

Untitled

a guest
Jan 20th, 2020
77
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #plansza
  2. plansza = ["-", "-",  "-",
  3.            "-", "-", "-",
  4.            "-", "-", "-", ]
  5. gra_w_trakcie = True    
  6. #kto wygrał
  7. zwyciezca = None
  8. #kogo kolej
  9. obecny_gracz = "X"    
  10. def zagraj():    
  11. #pokazanie planszy początkowej
  12.   pokaz_plansze()
  13.   while gra_w_trakcie:
  14.     ruch(obecny_gracz)
  15.     sprwadz_czy_gra_sie_skonczyla()
  16.     zmien_gracza()
  17. #koniec gry
  18.   if zwyciezca == "X" or zwyciezca == "O":
  19.     print(zwyciezca + " Zwycięstwo.")
  20.   elif zwyciezca == None:
  21.     print("Remis.")
  22. def pokaz_plansze():
  23.   print("\n")
  24.   print(plansza[0] + " | " + plansza[1] + " | " + plansza[2] +"     1 | 2 | 3")
  25.   print(plansza[3] + " | " + plansza[4] + " | " + plansza[5] +"     4 | 5 | 6")
  26.   print(plansza[6] + " | " + plansza[7] + " | " + plansza[8] +"     7 | 8 | 9")  
  27.   print("\n")  
  28. def ruch(gracz):
  29.  
  30.   # Get position from player
  31.   print(gracz + "'s turn.")
  32.   pozycja = input("Choose a position from 1-9: ")
  33.  
  34.   # Whatever the user inputs, make sure it is a valid input, and the spot is open
  35.   valid = False
  36.   while not valid:
  37.  
  38.     # Make sure the input is valid
  39.     while pozycja not in ["1", "2", "3", "4", "5", "6", "7", "8", "9"]:
  40.       pozycja = input("Choose a position from 1-9: ")
  41.  
  42.     # Get correct index in our board list
  43.     pozycja = int(pozycja) - 1
  44.  
  45.     # Then also make sure the spot is available on the board
  46.     if plansza[pozycja] == "-":
  47.       valid = True
  48.     else:
  49.       print("You can't go there. Go again.")
  50.   plansza[int(pozycja)] = gracz
  51.   pokaz_plansze()
  52. def  sprwadz_czy_gra_sie_skonczyla():
  53.   sprawdz_czy_wygrana()
  54.   sprawdz_czy_remis()
  55. def sprawdz_czy_wygrana():
  56.   #globalna zmienna
  57.   global zwyciezca
  58.   #sprwdzamy rzędy
  59.   zwyciezca_przez_rzad = sprawdz_rzedy()
  60.   #sprawdzamy kolumy
  61.   zwyciezca_przez_kulumny = sprawdz_kulumny()
  62.   #sprawdzamy po ukosie
  63.   zwyciezca_przez_ukos = sprawdz_po_ukosie()
  64.   if zwyciezca_przez_rzad:
  65.     zwyciezca = zwyciezca_przez_rzad
  66.   elif zwyciezca_przez_kulumny:
  67.     zwyciezca = zwyciezca_przez_kulumny
  68.   elif zwyciezca_przez_ukos:
  69.     zwyciezca = zwyciezca_przez_ukos
  70.   else:
  71.     zwyciezca = None    
  72.   return
  73. def sprawdz_rzedy():
  74.   global gra_w_trakcie
  75.   rzad_1 = plansza[0] == plansza[1] == plansza[2] != "-" # nie może być to myślinik
  76.   rzad_2 = plansza[3] == plansza[4] == plansza[5] != "-" # nie może być to myślinik
  77.   rzad_3 = plansza[6] == plansza[7] == plansza[8] != "-" # nie może być to myślinik
  78.   #jeśli w którymś rzędzie jest 3 x lub 0 zakończ gre
  79.   if rzad_1 or rzad_2 or rzad_3:
  80.     gra_w_trakcie = False
  81.   if rzad_1:
  82.    return plansza[0]
  83.   elif rzad_2:
  84.     return plansza[3]
  85.   elif rzad_3:
  86.     return plansza[6]    
  87.   else:
  88.     return None  
  89. def sprawdz_kulumny():  
  90.   global gra_w_trakcie
  91.   kolumna_1 = plansza[0] == plansza[3] == plansza[6] != "-" # nie może być to myślinik
  92.   kolumna_2 = plansza[1] == plansza[4] == plansza[7] != "-" # nie może być to myślinik
  93.   kolumna_3 = plansza[2] == plansza[5] == plansza[8] != "-" # nie może być to myślinik
  94.   #jeśli w krórejś kolumnie jest 3 x lub 0 zakończ gre
  95.   if kolumna_1 or kolumna_2 or kolumna_3:
  96.     gra_w_trakcie = False
  97.   if kolumna_1:
  98.    return plansza[0]
  99.   elif kolumna_2:
  100.     return plansza[3]
  101.   elif kolumna_3:
  102.     return plansza[6]    
  103.   else:
  104.     return None
  105. def sprawdz_po_ukosie():
  106.   global gra_w_trakcie
  107.   ukos_1 = plansza[0] == plansza[4] == plansza[8] != "-" # nie może być to myślinik
  108.   ukos_2 = plansza[6] == plansza[4] == plansza[2] != "-" # nie może być to myślinik
  109.   #jeśli w którymś ukosie  jest 3 x lub 0 zakończ gre
  110.   if ukos_1 or ukos_2:
  111.     gra_w_trakcie = False
  112.   if ukos_1:
  113.    return plansza[0]
  114.   elif ukos_2:
  115.     return plansza[3]    
  116.   else:
  117.     return None
  118. def sprawdz_czy_remis():
  119.   global gra_w_trakcie
  120.   if "-" not in plansza:
  121.     gra_w_trakcie = False
  122.     return True
  123.   else:
  124.     return False
  125. def zmien_gracza():
  126.   global obecny_gracz
  127.   if obecny_gracz == "X":
  128.     obecny_gracz = "O"
  129.   elif  obecny_gracz == "O":
  130.     obecny_gracz = "X"
  131.  
  132. zagraj()
RAW Paste Data