import random
# Kart sınıfı tanımı
class Kart:
def __init__(self, tip, deger):
self.tip = tip
self.deger = deger
def __repr__(self):
return f"{self.tip}-{self.deger}"
# Desteyi oluşturma
deste = []
for tip in ["Kupa", "Karo", "Sinek", "Maça"]:
for deger in range(1, 14):
kart = Kart(tip, deger)
deste.append(kart)
# Oyuncu ve bilgisayarın elindeki kartları temsil eden listeler
oyuncu_el = []
bilgisayar_el = []
def kart_dagit():
# Desteden 4'er kart dağıtma işlemi
for _ in range(4):
kart = random.choice(deste)
deste.remove(kart)
oyuncu_el.append(kart)
kart = random.choice(deste)
deste.remove(kart)
bilgisayar_el.append(kart)
def kart_at(kart, el):
# Belirli bir kartı masaya atma işlemi
el.remove(kart)
return kart
def kart_cek():
# Desteden bir kart çekme işlemi
kart = random.choice(deste)
deste.remove(kart)
return kart
def puan_hesapla(kartlar):
# Verilen kart listesinin puanını hesaplama
puan = 0
for kart in kartlar:
if kart.deger in [1, 11, 12, 13]:
puan += 1
elif kart.deger == 10:
puan += 3
return puan
def oyuncu_hamlesi():
# Kullanıcıdan hamle almak için gerekli kodlar
while True:
print("Elinizdeki kartlar:")
for i, kart in enumerate(oyuncu_el):
print(f"{i+1}. Kart: {kart}")
secim = input("Bir kart seçin (0 çıkış): ")
if secim == "0":
exit()
try:
secim = int(secim)
if secim < 1 or secim > len(oyuncu_el):
print("Geçersiz seçim. Tekrar deneyin.")
else:
return kart_at(oyuncu_el[secim-1], oyuncu_el)
except ValueError:
print("Geçersiz seçim. Tekrar deneyin.")
def bilgisayar_hamlesi():
# Bilgisayarın hamlesini seçme işlemi
# Basit bir strateji kullanarak en iyi hamleyi belirlemeye çalışacağız
# Eğer elde pişti yapacak bir kombinasyon varsa, pişti yap
for kart1 in bilgisayar_el:
for kart2 in bilgisayar_el:
if kart1.deger == kart2.deger and kart1.tip != kart2.tip:
return kart_at(kart1, bilgisayar_el), kart_at(kart2, bilgisayar_el)
# Eğer pişti yapacak bir kombinasyon yoksa, rastgele bir kart çek ve at
cekilen_kart = kart_cek()
return kart_at(cekilen_kart, bilgisayar_el), None
def oyunu_baslat():
kart_dagit()
while True:
print("Elinizdeki kartlar:")
for i, kart in enumerate(oyuncu_el):
print(f"{i+1}. Kart: {kart}")
oyuncu_secimi = oyuncu_hamlesi()
bilgisayar_secimi = bilgisayar_hamlesi()
print("Bilgisayarın seçimi:", bilgisayar_secimi[0])
if bilgisayar_secimi[1] is not None:
print("Pişti yapıldı!")
masaya_atilan_kartlar = [oyuncu_secimi, bilgisayar_secimi[0]]
puan = puan_hesapla(masaya_atilan_kartlar)
print("Masaya atılan kartlar:", masaya_atilan_kartlar)
print("Bu elki puan:", puan)
# Burada oyunun devamını sağlayacak kodlar yer alacak
oyunu_baslat()