Gry to jedna z form rozrywki dostępnej dla ludzi. Wszelkiego rodzaju gry są dostępne online, na urządzeniach mobilnych, na komputerach stacjonarnych itp. Teraz nie czas na tworzenie jednej z tych wymagających gier.
Używając Pythona, stworzymy grę w kółko i krzyżyk CLI. Użyjmy Pythona do zbudowania prostej gry w kółko i krzyżyk. Pomoże Ci w tworzeniu logiki gry i nauce organizowania kodu.
Kółko i krzyżyk
Zanim zaczniemy kodować, pomyślałem, że szybko podsumuję grę i przedyskutuję plan jej rozwoju.
Najpierw ustalimy założenie, że Xs zawsze przejmują inicjatywę i poruszają się jako pierwsi, dając użytkownikowi możliwość działania.
Z konsoli zostanie wprowadzona liczba od 1 do 9. W siatce, w której każda liczba odpowiada innej liczbie (górny lewy to 1, dolny prawy to 9).
Komputer automatycznie określi i wykona swój ruch, gdy użytkownik się poruszy. Jedna główna pętla gry, która wywołuje wiele różnych procedur, będzie przeze mnie używana.
Która funkcja jest kończona jest prawdopodobnie wskazana w każdym nagłówku tej lekcji tekstowej.
Projektowanie tablicy
Naszą planszę przedstawimy w układzie siatki, jak już wcześniej wspomniałem. W tym celu utworzymy listę o nazwie board w Pythonie, która zacznie się od 10 pustych wartości.
Ponieważ użytkownik może wprowadzać tylko liczby od 1 do 9, a nie od 0 do 8, mamy 10 pustych wartości zamiast 9. Aby uprościć sprawę, pierwszemu wpisowi na naszej liście nadamy wartość „pusty tekst”.
W ten sposób możemy użyć 1-9 zamiast 0-8, aby zindeksować wpisy na naszej liście.
wstaw literę()
Litera i Pos będą dwoma wejściami dla tej funkcji. Umieści tylko żądany list w żądanej lokalizacji.
spacja jest wolna (poz)
Mówiąc najprościej, ta metoda poinformuje nas, czy określony obszar jest wolny. Stąd nie ma tam już listu. Pos, jego jedyny argument, będzie liczbą całkowitą od 1 do 9.
printBoard (tablica)
Tablica jest wysyłana jako argument do tej metody, która wyświetla ją na konsoli.
jestZwycięzcą()
W oparciu o obecną tablicę ta funkcja poinformuje nas, czy dostarczony list wygrał. Posiada dwa parametry: le i board (litera).
Musi to być „X” lub „O”. Po prostu sprawdź, czy określona litera znajduje się na każdej potencjalnej linii wygrywającej na planszy.
Głównym ()
Gdy chcemy rozpocząć grę, wywołamy tę metodę. Wywoła on każdą z wielu funkcji naszego programu i pokieruje sposobem, w jaki program ma działać.
jestPełna Tablica()
Po podaniu na tablicę jako danych wejściowych ta metoda po prostu zwróci True, jeśli tablica jest pełna, a False w przeciwnym razie.
graczPrzesuń()
W tej metodzie poprosimy użytkownika o przeniesienie i zweryfikujemy go. List zostanie dodany do tablicy, jeśli ruch jest uzasadniony. Jeśli nie, będziemy nadal prosić użytkownika o opinię.
CompMove() – sztuczna inteligencja
AI zacznie teraz. Ta funkcja będzie kontrolowała ruch komputerów. Oceni planszę i wybierze najlepszy ruch do wykonania.
Poniżej znajduje się lista algorytmów, których użyjemy do tego.
- Jeśli bieżącego kroku nie można ukończyć, przejdź do następnego.
- Podejmij zwycięski ruch, jeśli możesz.
- Przesuń się na tę pozycję w następnej turze, jeśli gracz ma potencjalnie zwycięski ruch.
- Wybierz róg i obróć go. Wybierz losowo, jeśli istnieje kilka opcji.
- Postaw się pośrodku.
- Rozważ jedną z krawędzi. Wybierz losowo, jeśli istnieje kilka opcji.
- Jeśli nie ma możliwości poruszenia się, gra kończy się remisem.
wybierz losowo()
Mając listę potencjalnych lokalizacji, ta funkcja losowo wybierze akcję do wykonania.
Początek gry
Grę można rozpocząć teraz, gdy zakończyliśmy wszystkie nasze zadania. Wszystko, co musielibyśmy zrobić, to zadzwonić do main, gdybyśmy chcieli tylko raz uruchomić grę.
Ale w naszej sytuacji chcemy, aby gra działała dalej, dopóki użytkownik nie zdecyduje, że nie chce już grać, więc dodamy małą pętlę while do głównej linii.
Kompletny kod
Oto cały kod naszej gry, który jest już gotowy.
Wydajność
Wnioski
Hurra!
Gra, którą stworzyłeś całkowicie od podstaw. Nie jest to gra, w którą gramy regularnie. Ale pomaga w pisaniu logiki i utrzymaniu przejrzystej struktury kodu.
Miłego kodowania!
Dodaj komentarz