Battlefield2, World of Tanks, The Sims4, dan Freedom Force adalah beberapa dari ribuan game luar biasa yang dikembangkan dengan Python.
Tkinter, antarmuka Python standar ke toolkit Tk GUI, adalah modul yang kuat yang membuat pembuatan antarmuka pengguna grafis menjadi mudah dan menyenangkan. Manfaatkan modul ini untuk mengembangkan Permainan Warna yang memutar otak. Juga, pelajari cara menggunakan modul di sepanjang jalan.
Apa Itu Permainan Warna?
Dalam Color Game, program menampilkan nama warna di layar tetapi dengan warna font yang berbeda. Misalnya, ini menampilkan kata Kuning menggunakan warna font merah dan pemain harus mengetikkan warna teks.
Ketidaksesuaian informasi dengan pengatur waktu ini menciptakan banyak kebingungan dan menciptakan pengalaman bermain yang menghibur.
Modul Tkinter dan Acak
Untuk membangun Game Warna, Anda akan menggunakan
tkinter modul dan acak modul. Tkinter adalah modul GUI lintas platform, sederhana, dan ramah pengguna yang dapat Anda gunakan untuk membuat antarmuka pengguna grafis dengan cepat.Ini memiliki beberapa alat yang berguna seperti widget label dan entri dan pengelola tata letak seperti paket, kisi, dan tempat. Fungsi yang disediakan cukup mudah sehingga memudahkan pemrogram pemula untuk merancang aplikasi tanpa banyak usaha. Untuk menginstal tkinter di sistem Anda, jalankan perintah berikut di terminal:
pip instal tkinter
Modul acak adalah pustaka bawaan yang dapat digunakan untuk menghasilkan pilihan acak. Dengan menggunakan modul ini, Anda dapat mengembangkan game kriket tangan, permainan tebak angka, permainan delapan bola ajaib, pembuat kata sandi acak, dan masih banyak lagi.
Cara Membuat Game Warna Menggunakan Python
Kode sumber Color Game tersedia di a repositori GitHub dan gratis untuk Anda gunakan di bawah Lisensi MIT.
Mulailah dengan mengimpor tkinter dan modul acak. Simpan nama warna sebagai daftar string dan inisialisasi skor variabel ke 0 dan Waktu yang tersisa ke 60.
dari tkinter impor *
impor acak
warna = ['Merah', 'Hijau', 'Biru', 'Hitam', 'Merah Jambu', 'Putih', 'Ungu', 'Kuning', 'Cokelat']
skor = 0
waktu_tersisa = 60
Tentukan fungsi bernama mulaiPermainan() yang mengambil peristiwa sebagai argumen masukan. Fungsi menjalankan dua tugas. Pertama, ia memeriksa apakah Waktu yang tersisa sama dengan 60. Jika ya, itu memanggil dan mengeksekusi hitungan mundur() fungsi. Kedua, itu memanggil warna berikutnya() fungsi yang mengocok secara acak dan menampilkan warna dan skor saat permainan sedang berlangsung.
defbeginGame(peristiwa):
jika waktu_tersisa == 60:
hitungan mundur()
warnaberikutnya()
Tentukan fungsi bernama warnaberikutnya() dan mereferensikan variabel secara global. Jika sisa waktu lebih besar dari 0, setel fokus pada bidang input menggunakan fokus_set() metode pada label entri (disimpan dalam variabel e) didefinisikan di bagian akhir kode.
Menggunakan mendapatkan() metode untuk mengambil teks entri saat ini sebagai string dan mengubahnya menjadi huruf kecil untuk menghindari ketidakcocokan huruf besar-kecil. Jika ini sama dengan warna yang ditampilkan di layar, tingkatkan skor satu per satu. Menggunakan menghapus() berfungsi dari 0 hingga indeks terakhir pada widget entri untuk menghapus konten.
defwarna berikutnya():
global skor
global Waktu yang tersisa
jika waktu_tersisa > 0:
e.fokus_set()
jika e.get().lower() == warna[1].lebih rendah():
skor += 1
e.hapus(0, AKHIR)
Menggunakan acak() berfungsi untuk menyusun ulang item dalam daftar dan menampilkan label warna dengan teks sebagai warna pertama dalam daftar dan warna font sebagai warna kedua dalam daftar. Menggunakan konfigurasi() fungsi aktif scoreLabel (yang meminta untuk menekan Enter) untuk menampilkan skor saat permainan sedang berlangsung.
random.shuffle (warna)
label.config (fg=str (warna[1]), teks=str (warna[0]))
scoreLabel.config (teks="Skor:" + str (skor))
Tentukan fungsi bernama hitungan mundur() yang mereferensikan variabel sisa waktu dan menguranginya satu per satu. Menggunakan konfigurasi() fungsi pada timeLabel untuk menampilkan waktu yang tersisa di layar dan setelah() berfungsi untuk callback hitungan mundur fungsi setelah penundaan 1000 milidetik atau satu detik.
defhitungan mundur():
global Waktu yang tersisa
jika waktu_tersisa > 0:
waktu_tersisa -= 1
timeLabel.config (teks="Waktu tersisa: " + str (time_remaining))
timeLabel.setelah(1000, hitungan mundur)
Inisialisasi instance tkinter dan tampilkan jendela root. Tetapkan judul, dimensi dalam piksel, dan warna latar belakang jendela.
akar = Tk()
root.judul("Game Warna Dengan Twist")
root.geometri("750x450")
root.configure (latar belakang='Oranye')
Menggunakan Label widget untuk menginstruksikan pemain tentang instruksi permainan. Itu menerima jendela induk di mana Anda akan meletakkannya. Teks harus menampilkan jenis dan ukuran font bersama dengan warna latar belakang label. Menggunakan mengemas() berfungsi untuk mengatur widget label dalam blok sebelum menempatkannya di widget induk.
Demikian pula, tentukan label skor untuk menginstruksikan pengguna untuk menekan Memasuki untuk memulai permainan serta label waktu untuk menampilkan sisa waktu. Pastikan semua label memiliki warna latar belakang oranye, sehingga menyatu dengan latar belakang. Tentukan label kosong yang akan berisi nama warna di warnaberikutnya() fungsi.
instruksi = Label (root, teks="Ketik warna kata bukan teks ;)", jenis huruf=('Arial', 24), bg="oranye")
instruksi.pack()
scoreLabel = Label (akar, teks="Tekan Enter untuk memulai", jenis huruf=('Arial', 24), bg="oranye")
scoreLabel.pack()
timeLabel = Label (akar, teks="Waktu yang tersisa: " + str (time_remaining), font=('Arial', 24), bg="oranye")
timeLabel.pack()
label = Label (akar, font=('Arial', 90), bg="oranye")
Seperti disebutkan sebelumnya, gunakan widget entri untuk merekam jawaban pemain. Langkah penting adalah mengikat tombol Enter dengan acara di jendela tkinter sehingga saat pemain menekannya, fungsi tertentu akan dijalankan.
Untuk mencapai ini, Anda lulus kunci dan mulaiPermainan() berfungsi sebagai parameter untuk mengikat() fungsi. Selain itu, gunakan mengemas() Dan fokus_set() metode untuk mengatur dan menetapkan fokus pada label masukan setelah Anda menekan tombol Enter.
e = Entri (font=20)
root.bind('' , mulaiPermainan)
e.paket()
e.fokus_set()
Itu mainloop() fungsi memberi tahu Python untuk menjalankan loop acara tkinter dan mendengarkan acara (seperti penekanan tombol) hingga Anda menutup jendela.
root.mainloop()
Gabungkan semua kode, dan Anda memiliki Color Game dengan twist yang siap dimainkan di ujung jari Anda.
Keluaran Permainan Warna Menggunakan Python
Saat menjalankan program Color Game, sebuah jendela muncul di layar. Saat menekan Enter, hitungan mundur dimulai, dan pemain harus mulai mengetik warna kata. Untuk setiap jawaban yang benar, skor bertambah satu, dan pada akhirnya menampilkan skor akhir.
Mengembangkan Game Menggunakan Python
Python adalah bahasa yang fantastis untuk pengembangan game. Bahasanya tidak hanya mudah dipahami dan digunakan, tetapi juga memungkinkan pengembang game dari semua tingkat pengalaman untuk menciptakan dunia game yang menarik dan menghibur.
Selain itu, pembuat konten memiliki banyak pilihan untuk mewujudkan ide, berkat berbagai platform pengembangan game yang tersedia di pasar, seperti PyGame, atau Kivy.