Python Yaptığım oyun nasıl?

Güzel lakin bunu grafiksel bir arayüze oturtursan çok daha güzel olacaktır. Tkinter veya PyQt5 kullanabilirsin.
 
En azından While falan kullanmışsın. Sadece if else ile makarna oyun yapan var. (Oyun yaptığını sanan)
 
Elinize sağlık, yeni başlayan birisi için fena değil. Ben de ilham olması için Python'a ilk başladığım sıralar yazdığım oyunu bırakayım;

Python:
import random
import colorama
import os

colorama.init(autoreset=False)
kartlar = {"Amogus":[11,1],
           "İmpostor":10,
           "Abigus":10,
           "Harlaus":10,
           "1":1,
           "2":2,
           "3":3,
           "4":4,
           "5":5,
           "6":6,
           "7":7,
           "8":8,
           "9":9
           }

baslangic_yazisi = f"""{colorama.Fore.BLACK}{colorama.Back.GREEN}



Ameriganın oyunlarını bırakıp yerli ve milli yüzde yüz 21 oyununa hoşgeldin.

/////////////////////////////////// *** \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ cCc ////////////////////////////////////


Devam etmek için entere bas.
    


    """

def dagit() -> list:
    dagitilan_kartlar = list()
    # İki tane dağıtılan kartların bulunduğu bir liste oluşturulur.
    for i in range(2):
        dagitilan_kartlar.append(random.choice(list(kartlar.keys())))
    kartlarin_degerleri = 0
    for kart in dagitilan_kartlar:
        if ("İmpostor" in dagitilan_kartlar or "Harlaus" in dagitilan_kartlar or "Abigus" in dagitilan_kartlar) and kart == "Amogus":
            kartlarin_degerleri += kartlar[kart][0]
        elif ("İmpostor" not in dagitilan_kartlar and "Harlaus" not in dagitilan_kartlar and "Abigus" not in dagitilan_kartlar) and kart == "Amogus":
            kartlarin_degerleri += kartlar[kart][1]
        elif kart != "Amogus":
            kartlarin_degerleri += kartlar[kart]
    # Dağıtılan iki rastgele kardın toplamı bulunur.
    return [dagitilan_kartlar,kartlarin_degerleri]
    # Sonuç return edilir.

def kart_cek(deste) -> None:
    # Rastgele yeni bir kart çekilir.
    cekilen = random.choice(list(kartlar.keys()))
    deste[0].append(cekilen)
    if cekilen == "Amogus":
        deste[1] += kartlar[cekilen][1]
    else:
        deste[1] += kartlar[cekilen]


def rakip(deste) -> None:
        if deste[1] < 10: 
            if random.choices([1,0],[21-deste[1],deste[1]], k=1)[0] == 1:
                # Rakip rastgele bir işlem yapar ve hamle sayısı bir arttırılır.
                kart_cek(deste)
            else:
                return False
        elif deste[1] >= 10:
            if random.choices([1,0],[11-(deste[1]-10),deste[1]-10],k=1)[0] == 1:
                kart_cek(deste)
            else:
                return False

def oyuncu(deste):
    while True:
        hamle = input("Çek/Pas?(Ç/P) ")
        if hamle.lower() == "ç":
            kart_cek(deste)
            break
        elif hamle.lower() == "p":
            return False
        elif hamle.lower() == "q":
            os.system("color 0f")
            os.system("cls")
            exit()
        else:
            print("Geçersiz işlem.")

def baslat() -> None:
    os.system("cls")
    os.system("title Yerli 21")
    os.system("color 20")
    # Arkaplanı ayarlar.
    print(baslangic_yazisi)
    devam = input()
    if devam.lower() == "q":
        os.system("color 0f")
        os.system("cls")
        exit()
    elif devam.lower() == "l":
        while True: oyun()
    oyun()
    os.system("color 0f")

    

def karsilastir(rakibin_destesi,oyuncu_destesi) -> None:
    # Bu fonksiyonda kimin kazandığı kontrol edilir.
    oyuncu_kazanma_mesaji = f"----------------------------------------\nSen kazandın.\nRakibin destesi: {','.join(rakibin_destesi[0])}\n----------------------------------------\n"
    rakip_kazanma_mesaji = f"----------------------------------------\nRakip kazandı.\nRakibin destesi: {','.join(rakibin_destesi[0])}\n----------------------------------------\n"
    berabere_mesaji = f"----------------------------------------\nBerabere.\n----------------------------------------\n"
    if rakibin_destesi[1] > 21:
        print(oyuncu_kazanma_mesaji)
    elif oyuncu_destesi[1] > 21:
        print(rakip_kazanma_mesaji)
    elif oyuncu_destesi[1] > 21 and rakibin_destesi[1] > 21:
        print(berabere_mesaji)
    else:
        if rakibin_destesi[1] == oyuncu_destesi[1]:
            print(berabere_mesaji)
        elif rakibin_destesi[1] > oyuncu_destesi[1]:
            print(rakip_kazanma_mesaji)
        elif oyuncu_destesi[1] > rakibin_destesi[1]:
            print(oyuncu_kazanma_mesaji)

def oyun():
    rakip_kart = dagit()
    oyuncu_kart = dagit()
    print(f"""
----------------------------------------
Rakip:
{rakip_kart[0][0]}{",?"*(len(rakip_kart)-1)}

Sen:
{",".join(oyuncu_kart[0])}
----------------------------------------
    """)
    while oyuncu_kart[1] < 21 and rakip_kart[1] < 21:
        oyuncu_hamlesi = oyuncu(oyuncu_kart)
        rakip_hamlesi = rakip(rakip_kart)
        print(f"""
----------------------------------------
Rakip:
{rakip_kart[0][0]}{",?"*(len(rakip_kart[0])-1)}

Sen:
{",".join(oyuncu_kart[0])}
----------------------------------------
    """)
        if oyuncu_hamlesi == False and rakip_hamlesi == False:
            break
    karsilastir(rakip_kart,oyuncu_kart)
    input()
    os.system("cls")

if __name__ == "__main__":
    baslat()
else:
    print("Beni nereye import etmeye çalışıyorsun?")
    exit()
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…