73 lines
2.0 KiB
Python
73 lines
2.0 KiB
Python
import random
|
|
|
|
def Tablica(plansza):
|
|
print(f"{plansza[0]} | {plansza[1]} | {plansza[2]}")
|
|
print("---------")
|
|
print(f"{plansza[3]} | {plansza[4]} | {plansza[5]}")
|
|
print("---------")
|
|
print(f"{plansza[6]} | {plansza[7]} | {plansza[8]}")
|
|
|
|
def Wygrano(plansza, gracz):
|
|
kombinacje = [
|
|
[0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 3, 6], [1, 4, 7], [2, 5, 8], [0, 4, 8], [6, 4, 2]
|
|
]
|
|
for kombo in kombinacje:
|
|
if plansza[kombo[0]] == plansza[kombo[1]] == plansza[kombo[2]] == gracz:
|
|
return True
|
|
return False
|
|
|
|
def sprawdz_remis(plansza):
|
|
return ' ' not in plansza
|
|
|
|
print("Zegramy!!!")
|
|
gracz1 = input("Gracz 1, wybierz swój symbol (x/o): ")
|
|
gracz2 = 'o' if gracz1 == 'x' else 'x'
|
|
|
|
while gracz1 not in ['x', 'o']:
|
|
print("Nie ten symbol. Wybierz poprawny")
|
|
gracz1 = input("Gracz 1, wybierz swój symbol (x/o): ")
|
|
|
|
print(f"Gracz 1 gra jako ({gracz1}), a gracz 2 gra jako ({gracz2})")
|
|
raund = random.choice([1, 2])
|
|
if raund == 1:
|
|
print("Gracz 1 zaczyna grę")
|
|
else:
|
|
print("Gracz 2 zaczyna grę")
|
|
|
|
plansza = ['1', '2', '3', '4', '5', '6', '7', '8', '9']
|
|
tur = 1
|
|
|
|
while True:
|
|
Tablica(plansza)
|
|
|
|
if tur == 1:
|
|
gracz = gracz1
|
|
tur = 2
|
|
else:
|
|
gracz = gracz2
|
|
tur = 1
|
|
|
|
while True:
|
|
try:
|
|
wybor = int(input(f"Gracz {gracz}, wybierz pole (1-9): "))
|
|
if wybor < 1 or wybor > 9:
|
|
print("Nieprawidłowy numer pola. Wybierz pole z zakresu 1-9.")
|
|
elif plansza[wybor - 1] in ['x', 'o']:
|
|
print("To pole jest już zajęte. Wybierz inne pole.")
|
|
else:
|
|
break
|
|
except ValueError:
|
|
print("Proszę wprowadzić numer z zakresu 1-9.")
|
|
|
|
plansza[wybor - 1] = gracz
|
|
|
|
if Wygrano(plansza, gracz):
|
|
Tablica(plansza)
|
|
print(f"Gratulacje! Gracz {gracz} wygrał!")
|
|
break
|
|
|
|
if sprawdz_remis(plansza):
|
|
Tablica(plansza)
|
|
print("Gra zakończona remisem!")
|
|
break
|