Python ile BlackJack Oyunu

Bu örneğimizde, Python ile popüler bir kart oyunu olan Blackjack’in (21 oyunu) basit bir versiyonunu kodlayacağız.

Oyuncuların karşısında genellikle bir dağıtıcı (bu kodda bilgisayar) bulunur ve her turda oyuncunun amacı, dağıtıcının elinden daha yüksek bir puan elde etmektir, ancak 21’i aşmamaktır. Oyunun amacı, dağıtılan kartların toplamının 21’e olabildiğince yakın olmasını sağlamaktır, ancak bu sayıyı aşmamaktır. Her kartın belirli bir değeri vardır: sayı kartları kendi değerindedir (örneğin 2 için 2, 3 için 3 vb.), resimli kartlar (vale, kız ve papaz) 10 değerindedir ve as 1 veya 11 olarak kabul edilmektedir. Oyuncunun elinde sadece iki kart varsa ve bu kartların toplamı tam olarak 21 ise, bu duruma “Blackjack” denir kazanır.

Yukarıdaki kodumuzda, popüler bir kart oyunu olan Blackjack’in basit bir versiyonunu oynamak için gereken fonksiyonlar ve işlemler bulunmaktadır. Adım adım yaptığımız işlemlerimizi açıklayalım:

  1. kart_ver() Fonksiyonu: Bu fonksiyonumuz, oyunda kullanılacak olan kartların listesinden rastgele bir kart seçerek geri döndürür. Özellikle, As kartı için 11 değerini, 10 değerli kartlar (10, Vale, Kız ve Papaz) için 10 değerini kullanır.
  2. puan_hesapla(kartlar) Fonksiyonu: Bu fonksiyonumuz, oyuncunun elindeki kartları alır ve bu kartlara göre toplam puanını hesaplar. Eğer elde sadece iki kart varsa ve bu kartların toplamı 21 ise bu durum “Blackjack” olarak kabul edilir ve 0 puan olarak geri döndürülür. Eğer oyuncunun elinde bir As varsa ve kartların toplamı 21’i geçiyorsa, bu As’ın değeri 11’den 1’e düşürülür.
  3. karsilastir(oyuncu_puani, bilgisayar_puani) Fonksiyonu: Oyuncunun ve bilgisayarın (rakip) puanlarını karşılaştırarak oyunun sonucunu belirleyen fonksiyondur.
  4. oyun_oyna() Fonksiyonu: Asıl oyun döngüsünün gerçekleştiği fonksiyondur. Oyuncu ve bilgisayar başlangıçta ikişer kart alır. Daha sonra, oyuncunun puanı 21’i geçmediği ve “Blackjack” olmadığı sürece oyuncuya yeni bir kart isteyip istemediği sorulur. Oyuncu yeni bir kart istemiyorsa veya puanı 21’i geçerse, bilgisayarın sırası gelir. Bilgisayarın puanı 17’den azsa yeni kart çeker. Son olarak, karsilastir fonksiyonu ile oyuncunun ve bilgisayarın puanları karşılaştırılır ve sonuç belirlenir.
  5. Ana Döngü: Oyun, kullanıcının “e” tuşuna basarak oyunu yeniden başlatmasına izin veren bir döngü içerisindedir. Kullanıcı “h” tuşuna basarak oyunu sonlandırılır.

Kodu çalıştırmak için: Trinket

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu