Zbuduj symulator przewracania kości w Python

Zbuduj symulator przewracania kości w Python
Kostka to prosta kostka, która generuje dowolną liczbę od 1 do 6, a symulator kostek to model komputerowy, który rzuca kości dla użytkownika. Python może zaimplementować symulator walcowania kości na różne sposoby. Do utworzenia będzie wymagane sześć zdjęć, które będą używane w symulatorze. Moduł poduszki Pythona służy do wyświetlania dowolnego obrazu w Pythonie, który nie jest domyślnie zainstalowany. Symulator Rollowania kości można wdrożyć bez GUI i GUI, jak pokazano w tym samouczku.

Instalowanie modułu przetwarzania obrazu:

Moduł przetwarzania obrazu będzie wymagał, jeśli chcesz utworzyć symulator Rolling Kości za pomocą GUI. Uruchom następujące polecenia z terminala, aby zaktualizować PIP i zainstalować moduł poduszki.

$ Python3 -m instaluj instalacja pip
$ Python3 -m PIP instalacja poduszki

Przykład-1: Tworzenie prostego symulatora walcowania kości

W tym samouczku można utworzyć prosty symulator walcowania kostki za pomocą modułu losowego Pythona. Ten skrypt wygeneruje wyjście kostki w terminalu. Tak więc w skrypcie nie jest używany żaden moduł przetwarzania obrazu. Zmienna o nazwie kostka do gry służy do pobrania dowolnej liczby od 1 do 6 losowo. Rzuć kostką() Funkcja jest tutaj zdefiniowana w celu wygenerowania danych wyjściowych na podstawie wartości losowej. Nieskończona, gdy pętla jest używana w skrypcie do rzucania kości nieskończoności, dopóki użytkownik nie wpisuje czegokolwiek bez „y”.

# Importuj moduł losowy
Import losowy
# Zdefiniuj nieskończoną pętlę
Choć prawda:
# Wygeneruj liczbę losową między 1 a 6
kostka = losowy.Randint (1, 6)
# Zdefiniuj funkcję, aby wydrukować wyjście na podstawie wartości kości
def roll_the_dice (kości):
przełącznik =
1: "[] \ n | 0 | \ n []",
2: "[0] \ n | | \ n [0]",
3: "[0] \ n | 0 | \ n [0]",
4: "[0 0] \ n | | \ n [0 0]",
5: "[0 0] \ n | 0 | \ n [0 0]",
6: "[0 0] \ n | 0 0 | \ n [0 0]"

Przełącznik powrotu.Zdobądź (kości)
# Wywołaj funkcję
print (roll_the_dice (kości))
# Poproś użytkownika o ponowne rzucenie kości
Odpowiedź = wejście ("Czy chcesz ponownie rzucić kostkę (T/N)? : ")
# Zakończ pętlę, jeśli użytkownik wpisuje coś bez „y”
Jeśli odpowiedź != 'y':
wyjście (0)

Wyjście:

Wyjście powyższego skryptu będzie się różnić w każdej iteracji pętli do używania losowych liczb całkowitych. W następnym wyjściu 5 jest generowane podczas pierwszej iteracji pętli wyświetlanej przy użyciu 5 zer. Następnie wpisał użytkownik „y” Aby kontynuować pętlę, a 4 wygenerowało w drugiej iteracji pętli i wyświetlił wartość za pomocą zera jak wcześniej. Skrypt zakończył się, gdy użytkownicy typu 'N'.

Przykład-2: Utwórz symulator przewracania kości z obrazami

Musisz utworzyć sześć obrazów kości przed wykonaniem skryptu przykładu. Możesz tworzyć obrazy za pomocą dowolnej aplikacji do tworzenia obrazów. W skrypcie tego przykładu utworzono następujące sześć obrazów. Zachowaj obrazy w tym samym miejscu, w którym utworzysz plik Python, aby zaimplementować symulator.

Sposób na stworzenie symulatora przewracania kości z GUI jest pokazany w następującym skrypcie. W Pythonie istnieje wiele modułów do tworzenia aplikacji GUI. Moduł Tkinter jest używany w tym skrypcie do implementacji symulatora Rolling Baza kostek opartych na GUI. Obraz I Imagetk Moduły są używane w skrypcie do wyświetlania obrazów kostek. losowy Moduł służy do losowego wyboru obrazu kostki. Na początku skryptu obiekt tkintera utworzył, aby zdefiniować rozmiar i pozycję okna, w której zostanie wyświetlony obraz kostki. Tutaj pozycja okna została ustawiona centralnie. Następnie zmienna listy zadeklarowała z sześcioma nazwami obrazów kości. losowy.Funkcja wyboru () służy do losowego wyboru jednego indeksu nazwy obrazu z listy i uzyskania nazwy obrazu na podstawie wartości indeksu. rozwój = true ma użycie w funkcji Pack (), aby dodać dodatkową przestrzeń podczas dodawania widżetu w oknie. W oknie dodano etykietę, aby wyświetlić obraz kostki, a przycisk został dodany w oknie, aby wyświetlić następny obraz kostki. Rzuć kostką() Funkcja jest powiązana z przyciskiem w celu wygenerowania następnego obrazu kostki. Ta funkcja zostanie wywołana, gdy użytkownik naciśnie lub kliknie 'RZUCIĆ KOSTKĄ' przycisk.

# Importuj moduł tkinter
import tkinter
# Importuj moduły obrazu i Imagetk
Od obrazu Importu Pil, Imagetk
# Importuj moduł losowy
Import losowy
# Zdefiniuj obiekt, aby wyświetlić główne okno aplikacji
Win = tkinter.Tk ()
# Ustaw tytuł głównego okna
wygrać.Tytuł („Rolling Dice”)
# Ustaw wysokość i szerokość okna głównego
wygrać.Geometria („350x280”)
# Ustaw pozycję okna
wygrać.eval ('tk :: placewindow . Centrum')
# Zdefiniuj listę z sześcioma nazwami obrazów kości
dice_images = ['d1.png ', „d2.png ', „d3.png ', „d4.png ', „d5.png ', „d6.png ']
# Wygeneruj dowolny indeks w odległości od 0 do 6 losowo, aby uzyskać bieżący obraz kości
IMG = Imagetk.Fotoimage (obraz.Otwarte (losowe.wybór (dice_images))))
# Zdefiniuj etykietę, aby wyświetlić wybrany obraz
lbl_image = tkinter.Etykieta (Win, Image = IMG)
lbl_image.obraz = img
# Ustaw widżet etykiety w oknie nadrzędnym
lbl_image.pakiet (rozwój = prawda)
# Zdefiniuj funkcję, aby zmienić obraz kostki po kliknięciu przycisku
def roll_the_dice ():
IMG = Imagetk.Fotoimage (obraz.Otwarte (losowe.wybór (dice_images))))
# Zaktualizuj obraz
lbl_image.skonfiguruj (image = IMG)
# Zachowaj referencję
lbl_image.obraz = img
"
Zdefiniuj przycisk, ustaw tekst przycisku i ustaw polecenie
Aby wywołać funkcję roll_the_dice ()
"
BTN = Tkinter.Przycisk (Win, Text = 'Roll the Dice', Command = roll_the_dice)
# Ustaw przycisk w oknie nadrzędnym
Btn.pakiet (rozwój = prawda)
# Zadzwoń do MainLoop of Tkinter, aby otworzyć okno główne
wygrać.główna pętla()

Wyjście:

Podobnie jak poprzedni przykład, obraz kostki będzie wybierany losowo za każdym razem, gdy przycisk zostanie naciśnięty. Na następujących wyjściach obraz sześciu kostek został wygenerowany po wykonaniu skryptu.

Obraz kości trzykrotnej został wygenerowany po naciśnięciu przycisku.

Wniosek:

W tym samouczku wyjaśniono dwa różne sposoby tworzenia symulatora przewracania kości przy użyciu skryptu Pythona. Pomoże czytelnikom wiedzieć, w jaki sposób ten typ aplikacji można wdrożyć w Python.