Ta strona wykorzystuje pliki cookie w celu prezentacji dopasowanych dla Ciebie treści. Możesz włączyć/wyłączyć obsługę plików cookies w swojej przeglądarce.

Dowiedz się więcej

Sprawdzamy czy gra się zakończyła!

Pozostało nam jeszcze sprawdzić czy nasza gra została zakończona. Musimy napisać skrypt, który to sprawdzi.

Definiujemy sobie więc nową funkcjęcheck_if_game_is_on(current_player):. Musimy w niej wprowadzić warunek, który zwróci nam informację, że jeden z graczy wygrał grę, jeżeli jedna z naszych funkcji z piątej lekcji zostanie spełniona, lub jeżeli jest remis (czyli wszystkie pola w grze zostały uzupełnione i nie nastąpiło wcześniej zwycięstwo.

Wewnątrz naszej funkcji check_if_game_is_on(current_player) umieszczamy więc warunek if, który brzmi następująco: if check_rows() or check_columns() or check_diagonals():

Wewnątrz tego warunku umieszczamy zmienną winner, która pobierze informacje z naszej stworzonej w poprzedniej lekcji zmiennej flip_player(current_player)

Powinno to wyglądać tak:

image

Następnie, w ramach spełnienia się warunku o wygranej grze, wywołujemy funkcję print, która wyświetli nam, gratulacje oraz informacje o zwycięstwie: print("Gratulacje " + winner + "! Wygrałeś!"). Czyli jak widzisz print wyświetli napis “Gratulacje” następnie pobierze dane ze zmiennej winner a potem wyświetli nam tekst “! Wygrałeś”.

Następnie poprzez słowo return zwracamy wartość False

image

Teraz za pomocą słowa elif stworzymy warunek dla remisu.

W ramach naszej instrukcji if tworzymy elif "-" not in board: w którym umieszczamy przy pomocy funkcji print tekst “Remis!” oraz przy pomocy return zwracamy False, żeby zakończyć grę.

Powinno to wyglądać następująco:

image

A co w przypadku, jeżeli gra jest nie zakończona, i po danej turze nie wystąpiło zwycięstwo ani remis? Bardzo proste, za pomocą instrukcjielse, przy pomocy return musimy zwrócić wartość True

Cały ten skrypt powinien wyglądać tak:

image

Twoja gra już prawie została ukończona. W następnej lekcji zepniemy sobie to wszystko w całość. Na tym etapie Twój kod powinien wyglądać w poniższy sposób:

image