Python

Bina simulator putaran dadu di Python

Bina simulator putaran dadu di Python
Dadu adalah kiub sederhana yang menghasilkan sebarang nombor dari 1 hingga 6, dan simulator dadu adalah model komputer yang melancarkan dadu untuk pengguna. Simulator penggulung dadu dapat dilaksanakan dengan cara yang berbeza oleh Python. Enam gambar diperlukan untuk dibuat yang akan digunakan di simulator. Modul Pillow Python digunakan untuk memaparkan sebarang gambar di Python yang tidak dipasang secara lalai. Simulator rolling dadu dapat dilaksanakan tanpa GUI dan GUI, seperti yang ditunjukkan dalam tutorial ini.

Memasang Modul Pemprosesan Imej:

Modul pemprosesan imej akan diperlukan sekiranya anda ingin membuat simulator penggelek dadu dengan GUI. Jalankan arahan berikut dari terminal untuk mengemas kini pip dan memasang modul Pillow.

$ python3 -m pip memasang - upgrade pip
Pemasangan pip $ python3 -m - tingkatkan Bantal

Contoh-1: Membuat simulator rolling dadu sederhana

Simulator penggulingan dadu sederhana boleh dibuat menggunakan modul rawak Python dalam tutorial ini. Skrip ini akan menghasilkan output dadu di terminal. Jadi, tidak ada modul pemprosesan imej yang digunakan dalam skrip. Pemboleh ubah bernama dadu digunakan untuk mengambil sebarang nombor dari 1 hingga 6 secara rawak. The membaling dadu() fungsi ditakrifkan di sini untuk menghasilkan output berdasarkan nilai rawak. Gelung sementara tak terbatas digunakan dalam skrip untuk melancarkan dadu kali tak terbatas sehingga pengguna menaip apa-apa tanpa 'y'.

# Import modul rawak
import secara rawak
# Tentukan gelung tak terhingga
Walaupun Betul:
# Hasilkan nombor rawak antara 1 dan 6
dadu = rawak.randint (1, 6)
# Tentukan fungsi untuk mencetak output berdasarkan nilai dadu
def roll_the_dice (dadu):
penukar =
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]"

pengalih kembali.dapatkan (dadu)
# Panggil fungsi
cetak (roll_the_dice (dadu))
# Minta pengguna melancarkan dadu sekali lagi
answer = input ("Adakah anda mahu menggulung dadu sekali lagi (y / n)? : ")
# Hentikan gelung jika pengguna menaip apa-apa tanpa 'y'
sekiranya jawapan != 'y':
jalan keluar (0)

Pengeluaran:

Keluaran skrip di atas akan berbeza-beza dalam setiap lelaran gelung kerana menggunakan nombor bulat rawak. Dalam output berikut, 5 dihasilkan pada lelaran pertama gelung yang dipaparkan menggunakan 5 sifar. Seterusnya, pengguna menaip 'y' untuk meneruskan gelung, dan 4 telah menghasilkan lelaran kedua gelung dan menunjukkan nilai menggunakan sifar seperti sebelumnya. Skrip telah ditamatkan apabila pengguna menaip 'n'.

Contoh-2: Buat simulator bergulir dadu dengan gambar

Anda mesti membuat enam gambar dadu sebelum melaksanakan skrip contohnya. Anda boleh membuat gambar dengan menggunakan sebarang aplikasi membuat gambar. Enam gambar berikut telah dibuat untuk digunakan dalam skrip contoh ini. Simpan gambar di lokasi yang sama di mana anda akan membuat fail python untuk melaksanakan simulator.

Cara membuat simulator dadu-bergulir dengan GUI ditunjukkan dalam skrip berikut. Banyak modul ada di Python untuk membuat aplikasi GUI. Modul Tkinter digunakan dalam skrip ini untuk melaksanakan simulator bergulir dadu berasaskan GUI. Imej dan ImejTk modul digunakan dalam skrip untuk memaparkan gambar dadu. The rawak modul digunakan untuk memilih gambar dadu secara rawak. Pada awal skrip, objek Tkinter telah dibuat untuk menentukan ukuran dan kedudukan tetingkap di mana gambar dadu akan ditampilkan. Di sini, kedudukan tetingkap telah ditetapkan secara terpusat. Seterusnya, pemboleh ubah senarai telah menyatakan dengan nama gambar enam dadu. rawak.fungsi () fungsi digunakan untuk memilih secara rawak satu indeks dari nama gambar dari daftar dan mendapatkan nama gambar berdasarkan nilai indeks. berkembang = True telah digunakan dalam fungsi pack () untuk menambahkan ruang tambahan ketika menambahkan widget di tetingkap. Label telah ditambahkan di jendela untuk menampilkan gambar dadu, dan tombol telah ditambahkan di jendela untuk menampilkan gambar dadu berikutnya. The membaling dadu() fungsi telah dikaitkan dengan butang untuk menghasilkan gambar dadu seterusnya. Fungsi ini akan dipanggil ketika pengguna akan menekan atau mengklik 'MEMBALING DADU' butang.

# Import modul Tkinter
import tkinter
# Import modul Image dan ImageTk
dari PIL import Gambar, ImageTk
# Import modul rawak
import secara rawak
# Tentukan objek untuk memaparkan tetingkap utama aplikasi
menang = tkinter.Tk ()
# Tetapkan tajuk tetingkap utama
menang.tajuk ('Rolling Dice')
# Tetapkan ketinggian dan lebar tetingkap utama
menang.geometri ('350x280')
# Tetapkan kedudukan tingkap
menang.eval ('tk :: PlaceWindow . pusat ')
# Tentukan senarai dengan enam nama gambar dadu
dice_images = ['d1.png ',' d2.png ',' d3.png ',' d4.png ',' d5.png ',' d6.png ']
# Hasilkan sebarang indeks dalam lingkungan 0 hingga 6 secara rawak untuk mendapatkan gambar dadu semasa
img = ImejTk.PhotoImage (Gambar.terbuka (rawak.pilihan (gambar dadu)))
# Tentukan label untuk memaparkan gambar yang dipilih
lbl_image = tkinter.Label (menang, gambar = img)
lbl_ gambar.gambar = img
# Tetapkan widget label di dalam tetingkap induk
lbl_ gambar.pek (kembangkan = Betul)
# Tentukan fungsi untuk mengubah gambar dadu ketika butang diklik
def roll_the_dice ():
img = ImejTk.PhotoImage (Gambar.terbuka (rawak.pilihan (gambar dadu)))
# kemas kini gambar
lbl_ gambar.konfigurasikan (gambar = img)
# simpan rujukan
lbl_ gambar.gambar = img
"
Tentukan butang, tetapkan teks butang dan tetapkan perintah
untuk memanggil fungsi roll_the_dice ()
"
btn = tkinter.Butang (menang, teks = 'ROLL THE DICE', perintah = roll_the_dice)
# Tetapkan butang di dalam tetingkap induk
btn.pek (kembangkan = Betul)
# Panggil mainloop Tkinter untuk membuka tetingkap utama
menang.mainloop ()

Pengeluaran:

Seperti contoh sebelumnya, gambar dadu akan dipilih secara rawak setiap kali butang ditekan. Dalam output berikut, gambar dadu dari enam telah dihasilkan setelah menjalankan skrip.

Gambar dadu tiga telah dihasilkan setelah menekan butang.

Kesimpulan:

Dua cara yang berbeza untuk membuat simulator bergulir dadu menggunakan skrip Python telah dijelaskan dalam tutorial ini. Ini akan membantu pembaca mengetahui bagaimana aplikasi jenis ini dapat dilaksanakan di Python.

Buat semula butang tetikus anda secara berbeza untuk perisian yang berbeza dengan X-Mouse Button Control
Mungkin anda memerlukan alat yang dapat mengubah kawalan tetikus anda dengan setiap aplikasi yang anda gunakan. Sekiranya ini berlaku, anda boleh menc...
Kajian Tetikus Tanpa Wayar Microsoft Sculpt Touch
Saya baru-baru ini membaca mengenai Sentuhan Microsoft Sculpt tetikus tanpa wayar dan memutuskan untuk membelinya. Setelah menggunakannya sebentar, sa...
Trackpad dan Mouse Pointer pada skrin Windows AppyMouse untuk Tablet Windows
Pengguna tablet sering kehilangan penunjuk tetikus, terutama ketika mereka biasa menggunakan komputer riba. Telefon pintar dan tablet skrin sentuh dil...