Apakah python tkinter bagus untuk game?

Pada artikel ini, saya akan membahas secara detail bagaimana cara membuat game sederhana seperti Tic-Tac-Toe, Dots-and-Boxes, dan game Snake-and-Apple dengan python menggunakan paket Tkinter. Artikel ini dibagi menjadi konten berikut

  1. Pengantar Tkinter
  2. Diagram alur permainan
  3. Struktur kode
  4. Contoh — Tic-Tac-Toe, Dots-and-Boxes, dan Snake-and-Apple

GUI menggunakan Tkinter

Tkinter adalah framework GUI standar python dan dibundel dengan python 3. Tutorial pemula yang bagus dapat ditemukan di sini. Tutorial ini tidak berfokus pada Tkinter, melainkan bagaimana menggunakannya untuk membuat game sederhana. Dua widget utama yang akan kita gunakan adalah

  • Kanvas. Untuk menggambar grafik game di jendela
  • Mengikat. Untuk menangkap input pengguna

Widget Kanvas

Widget kanvas di Tkinter digunakan untuk menggambar objek geometris di jendela. Ini memiliki metode untuk menggambar berbagai bentuk. Metode yang paling umum digunakan untuk permainan sederhana adalah sebagai berikut

  • Buat_garis(). Untuk menggambar garis
  • Buat_oval(). Untuk menggambar dilingkari
  • Buat_teks(). Untuk mencetak teks di jendela
  • menghapus(). Bersihkan objek yang digambar dari jendela

Ikat Widget

Bind digunakan untuk menerima input dari event klik mouse. Parameter berikut dapat digunakan dalam metode bind untuk mengidentifikasi jenis klik mouse

  • . Mengidentifikasi klik kiri mouse
  • . Mengidentifikasi klik tengah mouse
  • . Mengidentifikasi klik kanan mouse

Metode bind mengambil parameter di atas sebagai argumen pertama, dan nama modul sebagai argumen kedua. Modul dipanggil ketika peristiwa klik mouse yang ditentukan parameter diidentifikasi

Diagram Alur Permainan

Sekarang kita memiliki ikhtisar dasar tentang Tkinter, mari menggambar diagram alur dasar dari sebuah game sederhana

Berdasarkan beberapa parameter game (seperti ukuran grid, warna, teks, dan fitur inisialisasi lainnya) game akan melakukan inisialisasi dan kemudian akan mulai mencari input pengguna (berupa klik mouse). Setelah diterima, posisi kisi (koordinat x,y dari jendela tempat mouse diklik) akan diubah menjadi posisi logis yang bergantung pada game. Posisi logis ini kemudian akan digunakan untuk memperbarui status internal game yang disimpan sebagai variabel dalam python, dan memperbarui grafik game menggunakan metode kanvas. Proses akan berulang hingga permainan selesai (yang akan bergantung pada klik mouse dan keadaan internal permainan). Hasil permainan akan ditampilkan. Acara klik mouse akan ditambahkan ke layar hasil bagi pengguna untuk memilih apakah dia ingin bermain game lagi

Struktur Kode

Untuk memiliki organisasi kode yang lebih baik dan logis, kami akan menyusun fungsi-fungsi yang disusun menjadi tiga kategori

  1. Fungsi inisialisasi
  2. Fungsi menggambar
  3. Fungsi logis

Fungsi inisialisasi

Fungsi-fungsi ini bertanggung jawab untuk menyiapkan status awal untuk game. Ini termasuk menentukan variabel game, menginisialisasi grafik game, mengatur ulang variabel game saat game selesai, menentukan kanvas dan widget pengikat, dll. Fungsi inisialisasi terutama akan berurusan dengan pengaturan game jika game baru dimulai atau game selesai dan perlu dimainkan lagi

Fungsi menggambar

Seperti namanya, fungsi ini akan bertanggung jawab untuk menggambar elemen grafis berbasis game ke jendela Tkinter. Berdasarkan metode menggambar kanvas dasar yang disebutkan di atas, kami akan membuat fungsi menggambar tingkat tinggi khusus untuk game kami. Fungsi menggambar tingkat tinggi ini kemudian akan digunakan sebagai blok penyusun untuk memperbarui grafik game

Fungsi logis

Fungsi-fungsi ini tidak ada hubungannya dengan grafik game dan akan berhubungan dengan logika game. Ini termasuk, tetapi tidak terbatas pada, melacak status game, menerima input pengguna, memperbarui status game, memeriksa apakah langkah saat ini sah, melacak skor pemain, memeriksa apakah game telah selesai,

Sekarang kita telah berbicara tentang beberapa dasar elemen permainan, mari kita lihat beberapa contoh dengan kode yang berfungsi

Contoh 1. Tic-Tac-Toe

Kode untuk permainan

Kode yang berfungsi dapat diunduh dari sini

Tangkapan layar dari permainan

Pratinjau permainan

Kontrol

  1. Pemain X memulai permainan
  2. Klik pada setiap kisi untuk menempatkan simbol
  3. Hasil permainan ditampilkan di akhir permainan
  4. Jejak skor pemain dipertahankan
  5. Klik di mana saja pada layar hasil untuk memutar lagi

Panduan

Kode menggunakan array ukuran 3x3 untuk melacak permainan i. e. status dewan. 'X' ditandai sebagai -1 sedangkan 'O' ditandai sebagai 1. Semua kotak kosong ditandai sebagai 0 (nol). Pengguna mengklik di dalam kotak, dan acara ditangkap dengan metode ikat 'klik'. Posisi kisi kemudian diubah untuk mengidentifikasi kotak tempat peristiwa klik terjadi. Berdasarkan pemain, kode kemudian menggambar 'X' atau 'O' di kotak yang teridentifikasi hanya jika kotak tersebut belum ditempati. Status dewan juga diperbarui. Di setiap belokan, kode memeriksa apakah ada pemain yang menang. Ini dilakukan dengan menemukan pola dalam susunan status papan 3x3. Permainan diakhiri ketika salah satu pemain menang atau semua kotak telah ditempati. Pada tahap ini, layar hasil dihasilkan menampilkan pemenang dan skor masing-masing pemain

Contoh 2. Titik-dan-Kotak

Kode untuk permainan

Kode yang berfungsi dapat diunduh dari sini

Tangkapan layar dari permainan

Pratinjau permainan

Kontrol

  1. Tentukan ukuran permainan
  2. Pemain 1 memulai permainan
  3. Klik pada tepi untuk menandainya
  4. Jika sebuah kotak dibuat, itu akan diarsir dengan warna yang ditetapkan pemain
  5. Ketika semua tepi ditandai, hasilnya ditampilkan di layar hasil
  6. Klik di mana saja pada layar hasil untuk memutar lagi

Panduan

Kode menggunakan array ukuran (num_dots-1)x(num_dots-1) untuk melacak jumlah tepi yang ditandai untuk setiap kotak. Setiap kali pemain 1 menandai tepi di sekitar kotak, nilai larik yang terkait dengan kotak itu dikurangi 1 dan ketika ditandai oleh pemain 2, itu bertambah 1. Kapan pun elemen dari array ini mencapai nilai -4 (atau 4), ini menunjukkan bahwa pemain 1 (pemain 2) telah berhasil membuat kotak

Para pemain mengklik tepi di antara titik-titik untuk mengaktifkan/menandai mereka. Area aktivasi dihitung dengan hati-hati untuk setiap tepi dan sesuai dengan persegi yang berpusat di tengah tepi dengan luas 1/3 dari kotak. Setelah tepi ditandai, posisi kisi kemudian diubah untuk mengidentifikasi kotak yang sesuai dengan tepi tersebut, dan nilai larik yang sesuai dengan kotak ini bertambah/dikurangi. Permainan diakhiri ketika semua sisi telah ditandai. Layar hasil kemudian menampilkan pemenang dan jumlah kotak yang ditandai oleh masing-masing pemain

Contoh 3. Ular-dan-Apel

Kode untuk permainan

Kode yang berfungsi dapat diunduh dari sini

Tangkapan layar dari permainan

Permainan ular dan apel

Pratinjau permainan

Kontrol

  1. Permainan dimulai dengan ular sepanjang 3 menunggu input pengguna
  2. Keyboard Atas, Bawah, Kanan, dan Kiri digunakan untuk navigasi
  3. Hasil permainan ditampilkan di akhir permainan
  4. Klik di mana saja pada layar hasil untuk memutar lagi
Ringkasan

Garis besar dasar pembuatan game sederhana dengan Python menggunakan paket Tkinter telah dibahas. Tiga contoh dengan kode disediakan untuk memberi pengguna titik awal dan pemahaman dasar untuk membuat game sederhana lainnya. Kode tersedia di tautan berikut

  • Tic-Tac-Toe
  • Titik-dan-Kotak
  • Ular-dan-Apel

Jika artikel ini bermanfaat bagi Anda, jangan ragu untuk bertepuk tangan, membagikan, dan menanggapinya. Jika Anda ingin mempelajari lebih lanjut tentang Pembelajaran Mesin dan Ilmu Data, ikuti saya @Aqeel Anwar atau terhubung dengan saya di LinkedIn

Apakah pygame atau Tkinter lebih baik?

Pygame adalah pilihan terbaik untuk game , tkinter lebih ramah untuk membuat perangkat lunak utilitas. Tkinter memiliki batasan, Anda akan membeku dalam beberapa langkah dan memiliki waktu dua kali lipat untuk mencari tahu.

Apakah Python bagus untuk desain game?

Sementara studio game besar menggunakan bahasa yang menawarkan kecepatan lebih dan memungkinkan grafik yang lebih baik, Python memiliki banyak manfaat yang menjadikannya bahasa yang sangat berguna untuk pengembangan game.

Apakah Tkinter berguna Python?

Dari semua metode GUI, tkinter adalah metode yang paling umum digunakan . Ini adalah antarmuka Python standar untuk toolkit Tk GUI yang dikirimkan dengan Python. Python dengan tkinter adalah cara tercepat dan termudah untuk membuat aplikasi GUI. Membuat GUI menggunakan tkinter adalah tugas yang mudah.

Apakah Tkinter masih digunakan di tahun 2022?

Tidak, Tkinter sudah ketinggalan zaman , dan kebanyakan orang menginginkan sesuatu yang terlihat lebih baik saat ini. Saya sangat menyukai Tk saat pertama kali menggunakannya, tetapi itu terjadi pada tahun sembilan puluhan, saya tidak akan mempertimbangkan untuk menggunakannya sekarang. Saya tidak akan menggunakan Python untuk aplikasi desktop akhir-akhir ini, terlalu banyak opsi yang lebih baik.