Python XOX Oyunu

Test edip eksikleri söylerseniz sevinirim.

import os
import time

os.system("clear")
satirlar = "abc"
sutunlar = "123"
koordinatlar = []
oynama_sirasi = 1

for x in satirlar:
    for b in sutunlar:
        koordinatlar.append(x+b)
tahta = dict(zip(koordinatlar,(len(koordinatlar)) * "*"))
def tahtayi_goster(tahta):
    print("1 2 3\n")
    for i,z in enumerate(tahta.values()):
        if (i + 1) % 3 == 0:
            print(z,end=" ")
            print(satirlar[int(str(i / 3)[0])])
            print("\n")
            
        else:
            print(z,end=" ")
def kontrol(tahta):
    durumlar = [list({tahta["a1"],tahta["a2"],tahta["a3"]}),
                list({tahta["b1"],tahta["b2"],tahta["b3"]}),
                list({tahta["c1"],tahta["c2"],tahta["c3"]}),
                list({tahta["a1"],tahta["b2"],tahta["c3"]}),
                list({tahta["c1"],tahta["b2"],tahta["a3"]}),
                list({tahta["a1"],tahta["b1"],tahta["c1"]}),
                list({tahta["a2"],tahta["b2"],tahta["c2"]}),
                list({tahta["a3"],tahta["b3"],tahta["c3"]})]
    for i in durumlar:
        if len(i) == 1:
            if i != ["*"]:
                print("{} oyuncusu oyunu kazandı.".format(i[0]))
                tahtayi_goster(tahta)
                return False
            else:
                return True
        else:
            return True

def beraberlik(tahta):
    bos_kare = 0
    for i in tahta.keys():
        if tahta[i] == "*":
            bos_kare += 1
    if bos_kare == 0:
        print("Beraberlik.")
        time.sleep(2)
        return True
    else:
        return False

def sira(oynama_sirasi):
    if oynama_sirasi % 2:
        return "O"
    else:
        return "X"

while kontrol(tahta) and not beraberlik(tahta):
    tahtayi_goster(tahta)
    girilen_koordinat = input("{} oyuncusu için koordinat: ".format(sira(oynama_sirasi))).lower()
    try:
        if tahta[girilen_koordinat] == "*":
            tahta[girilen_koordinat] = sira(oynama_sirasi)
            oynama_sirasi += 1
        else:
            print("Girdiğiniz koordinat dolu.")
            time.sleep(1)
    except KeyError:
        print("Girdiğiniz koordinat yanlış.")
        time.sleep(1)
    os.system("clear")

Program güzel çalışıyor eline sağlık bir guiye taşırsan daha iyi olur

a1 b1 a2 b2 a3 oyununda ilk oyuncunun kazandigi anlasilmiyor.

Hatta sadece tek bir kazanma kosulu var.

1 Beğeni