Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #plansza
- plansza = ["-", "-", "-",
- "-", "-", "-",
- "-", "-", "-", ]
- gra_w_trakcie = True
- #kto wygrał
- zwyciezca = None
- #kogo kolej
- obecny_gracz = "X"
- def zagraj():
- #pokazanie planszy początkowej
- pokaz_plansze()
- while gra_w_trakcie:
- ruch(obecny_gracz)
- sprwadz_czy_gra_sie_skonczyla()
- zmien_gracza()
- #koniec gry
- if zwyciezca == "X" or zwyciezca == "O":
- print(zwyciezca + " Zwycięstwo.")
- elif zwyciezca == None:
- print("Remis.")
- def pokaz_plansze():
- print("\n")
- print(plansza[0] + " | " + plansza[1] + " | " + plansza[2] +" 1 | 2 | 3")
- print(plansza[3] + " | " + plansza[4] + " | " + plansza[5] +" 4 | 5 | 6")
- print(plansza[6] + " | " + plansza[7] + " | " + plansza[8] +" 7 | 8 | 9")
- print("\n")
- def ruch(gracz):
- print ("kolej " + gracz )
- pozycja = input("Wybierz pozycje od 1-9: ")
- valid = False
- while not valid:
- while pozycja not in ["1","2", "3", "4", "5", "6", "7", "8", "9"]:
- pozycja = input("Wprowadzono niepoprawny znak. Wybierz pozycje od 1 do 9: ")
- pozycja = int(pozycja) - 1 #-1 służy do tego, żeby zgadzały się wpisywane cyfry i index jaki mają przypisany
- if plansza[int(pozycja)] == "-":
- valid = True
- else:
- print("to miejsce jest już zajęte, wybierz inne")
- plansza[int(pozycja)] = gracz
- pokaz_plansze()
- def sprwadz_czy_gra_sie_skonczyla():
- sprawdz_czy_wygrana()
- sprawdz_czy_remis()
- def sprawdz_czy_wygrana():
- #globalna zmienna
- global zwyciezca
- #sprwdzamy rzędy
- zwyciezca_przez_rzad = sprawdz_rzedy()
- #sprawdzamy kolumy
- zwyciezca_przez_kulumny = sprawdz_kulumny()
- #sprawdzamy po ukosie
- zwyciezca_przez_ukos = sprawdz_po_ukosie()
- if zwyciezca_przez_rzad:
- zwyciezca = zwyciezca_przez_rzad
- elif zwyciezca_przez_kulumny:
- zwyciezca = zwyciezca_przez_kulumny
- elif zwyciezca_przez_ukos:
- zwyciezca = zwyciezca_przez_ukos
- else:
- zwyciezca = None
- return
- def sprawdz_rzedy():
- global gra_w_trakcie
- rzad_1 = plansza[0] == plansza[1] == plansza[2] != "-" # nie może być to myślinik
- rzad_2 = plansza[3] == plansza[4] == plansza[5] != "-" # nie może być to myślinik
- rzad_3 = plansza[6] == plansza[7] == plansza[8] != "-" # nie może być to myślinik
- #jeśli w którymś rzędzie jest 3 x lub 0 zakończ gre
- if rzad_1 or rzad_2 or rzad_3:
- gra_w_trakcie = False
- if rzad_1:
- return plansza[0]
- elif rzad_2:
- return plansza[3]
- elif rzad_3:
- return plansza[6]
- else:
- return None
- def sprawdz_kulumny():
- global gra_w_trakcie
- kolumna_1 = plansza[0] == plansza[3] == plansza[6] != "-" # nie może być to myślinik
- kolumna_2 = plansza[1] == plansza[4] == plansza[7] != "-" # nie może być to myślinik
- kolumna_3 = plansza[2] == plansza[5] == plansza[8] != "-" # nie może być to myślinik
- #jeśli w krórejś kolumnie jest 3 x lub 0 zakończ gre
- if kolumna_1 or kolumna_2 or kolumna_3:
- gra_w_trakcie = False
- if kolumna_1:
- return plansza[0]
- elif kolumna_2:
- return plansza[3]
- elif kolumna_3:
- return plansza[6]
- else:
- return None
- def sprawdz_po_ukosie():
- global gra_w_trakcie
- ukos_1 = plansza[0] == plansza[4] == plansza[8] != "-" # nie może być to myślinik
- ukos_2 = plansza[6] == plansza[4] == plansza[2] != "-" # nie może być to myślinik
- #jeśli w którymś ukosie jest 3 x lub 0 zakończ gre
- if ukos_1 or ukos_2:
- gra_w_trakcie = False
- if ukos_1:
- return plansza[0]
- elif ukos_2:
- return plansza[3]
- else:
- return None
- def sprawdz_czy_remis():
- global gra_w_trakcie
- if "-" not in plansza:
- gra_w_trakcie = False
- return True
- else:
- return False
- def zmien_gracza():
- global obecny_gracz
- if obecny_gracz == "X":
- obecny_gracz = "O"
- elif obecny_gracz == "O":
- obecny_gracz = "X"
- zagraj()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement