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:
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
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:
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:
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: