Sizin gibi okuyucular MUO'yu desteklemeye yardımcı oluyor. Sitemizdeki bağlantıları kullanarak bir satın alma işlemi gerçekleştirdiğinizde, bir ortaklık komisyonu kazanabiliriz. Devamını oku.

Tahminen 2,5 milyar hayranı olan kriket, dünyanın en büyük ve en popüler sporlarından biridir. Yalnızca Hindistan'da kriket 5,3 milyar dolar değerinde. Sachin Tendulkar, Donald Bradman, Brian Lara ve MS Dhoni, isimleri milyonların kalbinde yaşayan efsanelerden sadece birkaçı.

Kriketin sanal gerçekliğe, video oyunlarına ve kitap ve el kriket gibi diğer varyasyonlara giden yolu bulması şaşırtıcı değil. Python kullanarak bir el kriket oyunu oluşturarak bu oyunu bir adım öteye taşıyın.

El Kriket Nedir?

El kriket, iki oyuncunun parmaklarını kullanarak birbirlerine karşı yarıştığı bir oyundur. Her turda, her iki oyuncu da parmaklarını aynı anda kullanarak bir sayı gösterir. Skorlar eşleşirse, topa vuran oyuncu elenir, aksi takdirde sayılarını koşarken kazanırlar. Sonunda en çok gol atan oyuncu oyunu kazanır.

instagram viewer

Bu oyunu inşa edebilir ve bir bilgisayara karşı da oynayabilirsiniz. Puanı temsil etmek için parmaklarınızı uzatmak yerine, programa girersiniz. Python, kullanımı en kolay ve en uygun dillerden biridir. Daha önce Python deneyiminiz yoksa, bunlardan herhangi biriyle hız kazanabilirsiniz. yeni başlayanlar için ücretsiz çevrimiçi Python kursları.

Temel bilgileri öğrendikten sonra, öğrenmenizi pekiştirmek için mini projeler ve oyunlar oluşturmak iyi bir fikirdir. Dijital bir saat oluşturarak, zar atarak, test yaparak veya bir kelime sayacı oluşturarak başlayabilirsiniz. Bunlardan da ilham alabilirsiniz. Yeni başlayanlar için Python proje fikirleri.

Python Kullanarak El Kriket Oyunu Nasıl Yapılır?

Python Kullanan Hand Cricket'in kaynak kodunu burada bulabilirsiniz. GitHub depo.

İlk atış ve bilgisayarın seçimleri için gerekli olan rastgele kitaplığı içe aktarın. adlı bir işlev tanımlayın. girdi_sayısı iki argümanı kabul eden, dakika Ve maks. sırasıyla kullanıcının girişini doğrulamak için. Kullanmak giriş() işlevi, kullanıcının girdiği sayıyı değişkende saklar sayıve kullanarak varsayılan String türünden Tamsayı türüne dönüştürün int().

Kullanıcının girdiği sayı maksimum sınırdan büyük veya minimum sınırdan küçükse, kullanıcıdan geçerli bir seçim yapmasını isteyin. işlevi özyinelemeli olarak çağırmak. Sayı aralık içindeyse, döndürün.

içe aktarmak rastgele

kesingirdi_sayısı(en az en çok):
sayı = int (giriş())

eğer sayı > maks. veya sayı < dk:
Yazdır("Geçerli bir seçim girin")
geri dönmek girdi_sayısı (min, maks)
başka:
geri dönmek sayı

Bir işlev tanımlayın vuruş sırası mevcut topa vuran oyuncuyu ve kovalamak için koşuları giriş argümanları olarak kabul eder. Kullanıcıdan birden altıya kadar sayılar girmesini isteyin. El kriket kurallarına göre hem kullanıcı hem de bilgisayar aynı sayıyı seçerse mevcut topa vuran oyuncu elenir.

Bir değişkeni başlat Toplam bir vurucu tarafından atılan toplam koşuları saklamak ve sıfıra ayarlamak için. sonsuz başla sırasında döngü ve çağrı girdi_sayısı() kullanıcının girişini saklama ve doğrulama işlevi. Rastgele modülün Randint() bilgisayar için bir ile altı arasında rastgele bir sayı seçme işlevi.

Her iki oyuncunun da seçimlerini görüntüleyin, ardından eşit olup olmadıklarını kontrol edin. Eğer öyleyse, topa vuran oyuncunun dışarıda olduğunu gösterin ve o vuruşta attığı toplam sayıyı iade edin.

Aksi takdirde, kimin vurduğunu kontrol edin ve uygun değeri toplam puana ekleyin. pnum veya sayın. Vurucunun mevcut puanını görüntüleyin.

İkinci vuruş durumunda, vurucunun zaten rakibinin skorunu geçip geçmediğini kontrol etmek istersiniz. Bunu yapmak için, takip etmek değer boş değil ve topa vuranın puanı daha büyükse. Eğer öyleyse, kazanan puanlarını iade edin.

kesinvuruş sırası(vurucu, to_chase):
Yazdır("1 ile 6 arasındaki sayıları girin. İkiniz de aynı numarayı seçerseniz, o zaman " + vurucu + " dışarı")
toplam = 0

sırasındaDoğru:
pnum = girdi_sayısı(1, 6)
sayı = rasgele.randint(1, 6)

Yazdır("Kullanıcı seçti", pnum)
Yazdır("Bilgisayar seçti", numara)

eğer sayı == sayı:
yazdır (vurucu + " dışarı")
geri dönmek Toplam
başka:
toplam = toplam + (pnum eğer vurucu == "Kullanıcı"başka sayın)
yazdır (vurucu + "puan", Toplam)
eğer takip etmek dır-dirOlumsuzHiçbiriVe toplam > kovalanacak:
geri dönmek Toplam

Atma mesajını görüntüleyin ve kullanıcının seçimini girdi_sayısı() işlev. Yazı tura atın ve sonucu değişkende saklayın madeni para. Varsayılan değerini başlat oyuncu_bowls yanlış. Yazı tura atma kullanıcının seçimiyle eşleşirse, kullanıcı atışı kazanır ve vuruş ile bowling arasında seçim yapar.

Kullanıcının seçimini yapın ve bir tane girip girmediğini kontrol edin. Evet ise, ifadeyi doğru olarak değerlendirin ve oyuncu_bowls değişken. Kullanıcının seçimini görüntüleyin. Öte yandan, eğer bilgisayar kurayı kazanırsa, Randint() ve uygun değeri değerlendirmek oyuncu_bowls.

Bilgisayarın seçimini görüntüleyin ve vuruşlara başlayın.

Yazdır("Kura atma zamanı, Tura için 0, Yazı için 1 girin")
seçim = girdi_sayısı(0, 1)
madeni para = rastgele.randint(0, 1)
player_bowls = YANLIŞ

eğer madeni para == seçim:
Yazdır("Kurayı kazandınız")
Yazdır("Vuruş için 0, atış için 1 seçin")
player_bowls = girdi_sayısı(0, 1) == 1

eğer player_bowls:
Yazdır("Bowlingi seçtin")
başka:
Yazdır("Vurmayı seçtin")
başka:
Yazdır("Kurayı bilgisayar kazandı")
player_bowls = rastgele.randint(0, 1) == 1

eğer player_bowls:
Yazdır("Bilgisayar yarasa seçti")
başka:
Yazdır("Bilgisayar bowling oynamayı seçti")

Eğer oyuncu_bowls doğruysa, bilgisayar önce vurur ve tersi de geçerlidir. Daha önce tanımladığınız işlevi kullanarak bir vuruşta atılan koşuları hesaplayın. İşlev, mevcut vurucunun adını ve kovalanacak koşuları gerektirir. İlk topa vuran oyuncu skoru belirlerken, bunu isteğe bağlı bir parametre yapın ve geçin Hiçbiri. İkinci vuruşlarda, hedefi belirleyen topa vuran oyuncunun puanını geçin.

eğer player_bowls:
comp_score = vuruş sayısı("Bilgisayar", Hiçbiri)
user_score = vuruş sayısı("Kullanıcı", comp_score)
başka:
user_score = vuruş sayısı("Kullanıcı", Hiçbiri)
comp_score = vuruş sayısı("Bilgisayar", user_score)

Bilgisayar kullanıcıdan daha az puan alırsa, kullanıcı kazanır ve bunun tersi de geçerlidir. Skorların aynı olması durumunda, bir beraberlik gösterin.

eğer comp_score < user_score:
Yazdır("Kullanıcı kazanır")
elif user_score < comp_score:
Yazdır("Bilgisayar kazanır")
başka:
Yazdır("Maç çekilişi")

Tüm kodu bir araya getirin ve istediğiniz zaman, istediğiniz yerde parmaklarınızın ucunda el kriket oynamaya hazırlanın.

Python Kullanarak El Kriketinin Çıktısı

Python Kullanarak bir el kriket oyununun çıktısını aşağıdaki gibi görebilirsiniz:

Programı çalıştırdığınızda, program sizden atış için bir seçenek seçmenizi ister ve uygun sonucu atar. Kazanırsanız, vuruş mu yoksa bowling mi oynamak istediğinize siz karar verirsiniz, yoksa bilgisayar bir karar verir. Her vuruş, sayılar eşleşene ve biri bitene kadar devam eder. Sonunda, bilgisayar nihai skoru karşılaştırır ve kazananı ilan eder.

Python'da Terminal Tabanlı Oyunlar

Oyun oluşturmak, Python'u öğrenmenin harika bir yoludur ve çok eğlencelidir. Python'da kodlamaya ve deney yapmaya başlamak için uzman olmanıza gerek yok. Doğru temel bilgilerle harika terminal oyunları oluşturabilirsiniz.

Magic 8 Ball, Adam Asmaca, Taş Kağıt Makas, Mad Libs Jeneratörü ve Sayı Tahmin Oyunu'nu yaparak başlayın. İlerledikçe, kendi grafik video oyunlarınızı da oluşturmak için PyGame kitaplığını keşfedin.