Dengan perkiraan 2,5 miliar penggemar, kriket adalah salah satu olahraga terbesar dan terpopuler di dunia. Di India saja, kriket bernilai 5,3 miliar dolar. Sachin Tendulkar, Donald Bradman, Brian Lara, dan MS Dhoni hanyalah beberapa legenda yang namanya hidup di hati jutaan orang.
Tidak mengherankan jika kriket telah menemukan jalannya ke realitas virtual, video game, dan variasi lain seperti kriket buku dan tangan. Bawa game ini selangkah lebih maju dengan membuat game kriket tangan menggunakan Python.
Apa itu Jangkrik Tangan?
Kriket tangan adalah permainan di mana dua pemain bersaing satu sama lain menggunakan jari mereka. Di setiap giliran, kedua pemain menampilkan nomor menggunakan jari mereka secara bersamaan. Jika skornya cocok, batsman keluar, jika tidak mereka mendapatkan nomornya sebagai run. Akhirnya, pemain yang mencetak skor terbanyak memenangkan permainan.
Anda dapat membuat game ini dan memainkannya melawan komputer juga. Alih-alih mengulurkan jari untuk mewakili skor, Anda memasukkannya ke dalam program. Python adalah salah satu bahasa termudah dan paling nyaman untuk digunakan. Jika Anda tidak memiliki pengalaman sebelumnya menggunakan Python, Anda bisa mempercepatnya dengan semua ini kursus Python online gratis untuk pemula.
Setelah Anda mempelajari dasar-dasarnya, merupakan ide bagus untuk membangun proyek mini dan permainan untuk memperkuat pembelajaran Anda. Anda bisa mulai dengan membuat jam digital, melempar dadu, kuis, atau penghitung kata. Anda juga bisa mendapatkan inspirasi dari ini Ide proyek Python untuk pemula.
Cara Membuat Game Hand Cricket Menggunakan Python
Anda dapat menemukan kode sumber Hand Cricket Menggunakan Python di sini GitHub gudang.
Impor perpustakaan acak, yang diperlukan untuk lemparan awal dan pilihan komputer. Tentukan fungsi bernama input_num yang menerima dua argumen, min Dan maks masing-masing untuk memvalidasi input pengguna. Menggunakan memasukkan() fungsi, simpan nomor yang dimasukkan pengguna ke dalam variabel nomor, dan melemparkannya dari String default ke tipe Integer menggunakan int().
Jika nomor yang dimasukkan pengguna lebih besar dari batas maksimal atau kurang dari batas minimal, minta pengguna untuk memasukkan pilihan yang valid dengan pemanggilan fungsi secara rekursif. Jika nomornya berada dalam rentang, kembalikan.
impor acak
definput_num(min, maks):
jumlah = int (input())
jika jumlah > maks atau jumlah < menit:
mencetak("Masukkan pilihan yang valid")
kembali input_num (min, maks)
kalau tidak:
kembali nomor
Tentukan fungsi babak yang menerima batsman saat ini dan lari untuk mengejar sebagai argumen masukan. Minta pengguna untuk memasukkan angka dalam kisaran satu hingga enam. Menurut aturan kriket tangan, jika pengguna dan komputer memilih nomor yang sama, batsman saat ini keluar.
Inisialisasi variabel total untuk menyimpan total lari yang dicetak oleh batsman dan menyetelnya ke nol. Mulailah yang tak terbatas ketika lingkaran dan memanggil input_num() berfungsi untuk menyimpan dan memvalidasi input pengguna. Gunakan modul acak randint() berfungsi untuk memilih nomor acak antara satu dan enam untuk komputer.
Tampilkan pilihan kedua pemain, lalu periksa apakah keduanya sama. Jika ya, tampilkan bahwa batsman keluar dan kembalikan total run yang mereka cetak di babak itu.
Jika tidak, periksa siapa yang memukul dan tambahkan nilai yang sesuai ke skor total pnum atau cnum. Menampilkan skor batsman saat ini.
Dalam kasus babak kedua, Anda ingin memeriksa apakah pemukul telah mengalahkan skor lawannya. Untuk melakukannya, periksa apakah untuk mengejar nilai tidak kosong dan jika skor batsman lebih besar. Jika demikian, kembalikan skor kemenangan mereka.
defbabak(pemukul, to_chase):
mencetak("Masukkan angka antara 1 dan 6. Jika kalian berdua memilih nomor yang sama maka " + pemukul + " keluar")
jumlah = 0ketikaBENAR:
pnum = masukan_nomor(1, 6)
cnum = acak.randint(1, 6)mencetak("Pengguna memilih", pnum)
mencetak("Komputer memilih", cnum)
jika pnum == cnum:
cetak (pemukul + " keluar")
kembali total
kalau tidak:
jumlah = jumlah + (pn jika pemukul == "Pengguna"kalau tidak cnum)
cetak (pemukul + "skor adalah", jumlah)
jika untuk mengejar adalahbukanTidak adaDan total > to_chase:
kembali total
Tampilkan pesan untuk melemparkan dan memvalidasi pilihan pengguna menggunakan input_num() fungsi. Lempar koin dan simpan hasilnya dalam variabel koin. Inisialisasi nilai default dari player_bowls untuk palsu. Jika lemparan koin cocok dengan pilihan pengguna, pengguna memenangkan lemparan dan memilih antara memukul dan melempar.
Ambil pilihan pengguna dan periksa apakah dia telah memasukkannya. Jika ya, evaluasi ekspresi menjadi true dan simpan di player_bowls variabel. Menampilkan pilihan pengguna. Di sisi lain, jika komputer memenangkan lemparan, jalankan randint() dan mengevaluasi nilai yang sesuai untuk player_bowls.
Tampilkan pilihan komputer dan mulai inning.
mencetak("Saatnya melempar, Masukkan 0 untuk Kepala dan 1 untuk Ekor")
pilihan = input_num(0, 1)
koin = acak.randint(0, 1)
pemain_mangkuk = PALSUjika koin == pilihan:
mencetak("Kamu telah memenangkan undian")
mencetak("Pilih 0 untuk memukul, 1 untuk melempar")
mangkuk_pemain = input_num(0, 1) == 1jika pemain_mangkuk:
mencetak("Kamu memilih untuk mangkuk")
kalau tidak:
mencetak("Kamu memilih untuk memukul")
kalau tidak:
mencetak("Komputer memenangkan undian")
mangkuk_pemain = acak.randint(0, 1) == 1
jika pemain_mangkuk:
mencetak("Komputer memilih untuk memukul")
kalau tidak:
mencetak("Komputer memilih untuk mangkuk")
Jika player_bowls benar, komputer lebih dulu kelelawar dan sebaliknya. Hitung run yang dicetak dalam satu inning menggunakan fungsi yang Anda tentukan sebelumnya. Fungsi tersebut membutuhkan nama batsman saat ini dan lari untuk mengejar. Saat batsman pertama menetapkan skor, jadikan itu sebagai parameter opsional dan lulus Tidak ada. Untuk babak kedua, lewati skor batsman yang menetapkan target.
jika pemain_mangkuk:
comp_score = inning("Komputer", Tidak ada)
skor_pengguna = inning("Pengguna", skor_kompensasi)
kalau tidak:
skor_pengguna = inning("Pengguna", Tidak ada)
comp_score = inning("Komputer", skor_pengguna)
Jika skor komputer lebih rendah dari pengguna, pengguna menang, dan sebaliknya. Jika skornya sama, tampilkan seri.
jika skor_kompensasi < skor_pengguna:
mencetak("Pengguna menang")
elif skor_pengguna < skor_kompensasi:
mencetak("Komputer menang")
kalau tidak:
mencetak("Pertandingan imbang")
Gabungkan semua kode dan bersiaplah untuk bermain kriket tangan kapan saja, di mana saja di ujung jari Anda.
Output Jangkrik Tangan Menggunakan Python
Anda dapat melihat output dari permainan kriket tangan Menggunakan Python sebagai berikut:
Saat Anda menjalankan program, program meminta Anda untuk memilih pilihan lemparan dan memberikan hasil yang sesuai. Jika Anda menang, Anda harus memutuskan apakah Anda ingin memukul atau melempar, jika tidak komputer akan membuat keputusan. Setiap inning berlanjut sampai angkanya cocok dan satu keluar. Pada akhirnya, komputer membandingkan skor akhir dan mengumumkan pemenangnya.
Game Berbasis Terminal dengan Python
Membuat game adalah cara luar biasa untuk mempelajari Python dan sangat menyenangkan. Anda tidak perlu menjadi seorang ahli untuk memulai coding dan bereksperimen dengan Python. Dengan dasar-dasar yang tepat, Anda dapat membangun beberapa game terminal yang luar biasa.
Mulailah dengan membangun Magic 8 Ball, Hangman, Rock Paper Scissors, Mad Libs Generator, dan Game Tebak Angka. Saat Anda melangkah lebih jauh, jelajahi perpustakaan PyGame untuk membuat video game grafis Anda sendiri juga.