#Alt + 179: | (Dik çizgi)
#Alt + 196: ─ (Yatay çizgi)
#Alt + 192: └ (Sol alt köşe)
#Alt + 217: ┘ (Sağ alt köşe)
#Alt + 218: ┌ (Sol üst köşe)
#Alt + 191: ┐ (Sağ üst köşe)
#Alt + 194: ┬ (Yatay birleşme yukarı)
#Alt + 193: ┴ (Yatay birleşme aşağı)
#Alt + 195: ├ (Dikey birleşme sol)
#Alt + 180: ┤ (Dikey birleşme sağ)
#Alt + 197: ┼ (Orta birleşme)
#Oyunumuz ilk çalıştığında ekran biraz temizlensin.
print(" ")
print(" ")
print(" ")
print(" ")
#Oyuncu isimlerini gir.
x_oyuncusu = input("X Oyuncusu Adı: ")
o_oyuncusu = input("O Oyuncusu Adı: ")
oyuncuSirasi = False # (False ► X | True ► O)
#Oyun tahtasındaki bilgileri tutacak "List" değişkeni
oyunTahtasi = [" ", " ", " ", " ", " ", " ", " ", " ", " "]
#Oyun şartları sağlayınca break ile oyunu bitireceğiz.
while True:
#Oyun Tahtası her işlemden sonra yenilenmiş hali ile tekrar görüntülenecek.
print(" ")
print(" " + oyunTahtasi[0] + " │ " + oyunTahtasi[1] + " │ " + oyunTahtasi[2] + " ")
print("───┼───┼───")
print(" " + oyunTahtasi[3] + " │ " + oyunTahtasi[4] + " │ " + oyunTahtasi[5] + " ")
print("───┼───┼───")
print(" " + oyunTahtasi[6] + " │ " + oyunTahtasi[7] + " │ " + oyunTahtasi[8] + " ")
print(" ")
#1. Satır Kontrolü
if (oyunTahtasi[0] == "X" or oyunTahtasi[0] == "O") and (oyunTahtasi[0] == oyunTahtasi[1] == oyunTahtasi[2]):
print(" ")
print(" ")
if oyunTahtasi[0] == "X":
print(x_oyuncusu + " KAZANDI!!!")
else:
print(o_oyuncusu + " KAZANDI!!!")
break
#2. Satır Kontrolü
if (oyunTahtasi[3] == "X" or oyunTahtasi[3] == "O") and (oyunTahtasi[3] == oyunTahtasi[4] == oyunTahtasi[5]):
print(" ")
print(" ")
if oyunTahtasi[3] == "X":
print(x_oyuncusu + " KAZANDI!!!")
else:
print(o_oyuncusu + " KAZANDI!!!")
break
#3. Satır Kontrolü
if (oyunTahtasi[6] == "X" or oyunTahtasi[6] == "O") and (oyunTahtasi[6] == oyunTahtasi[7] == oyunTahtasi[8]):
print(" ")
print(" ")
if oyunTahtasi[6] == "X":
print(x_oyuncusu + " KAZANDI!!!")
else:
print(o_oyuncusu + " KAZANDI!!!")
break
#1. Sütun Kontrolü
if (oyunTahtasi[0] == "X" or oyunTahtasi[0] == "O") and (oyunTahtasi[0] == oyunTahtasi[3] == oyunTahtasi[6]):
print(" ")
print(" ")
if oyunTahtasi[0] == "X":
print(x_oyuncusu + " KAZANDI!!!")
else:
print(o_oyuncusu + " KAZANDI!!!")
break
#2. Sütun Kontrolü
if (oyunTahtasi[1] == "X" or oyunTahtasi[1] == "O") and (oyunTahtasi[1] == oyunTahtasi[4] == oyunTahtasi[7]):
print(" ")
print(" ")
if oyunTahtasi[1] == "X":
print(x_oyuncusu + " KAZANDI!!!")
else:
print(o_oyuncusu + " KAZANDI!!!")
break
#3. Sütun Kontrolü
if (oyunTahtasi[2] == "X" or oyunTahtasi[2] == "O") and (oyunTahtasi[2] == oyunTahtasi[5] == oyunTahtasi[8]):
print(" ")
print(" ")
if oyunTahtasi[2] == "X":
print(x_oyuncusu + " KAZANDI!!!")
else:
print(o_oyuncusu + " KAZANDI!!!")
break
# \ Çapraz Kontrolü
if (oyunTahtasi[0] == "X" or oyunTahtasi[0] == "O") and (oyunTahtasi[0] == oyunTahtasi[4] == oyunTahtasi[8]):
print(" ")
print(" ")
if oyunTahtasi[0] == "X":
print(x_oyuncusu + " KAZANDI!!!")
else:
print(o_oyuncusu + " KAZANDI!!!")
break
# / Çapraz Kontrolü
if (oyunTahtasi[2] == "X" or oyunTahtasi[2] == "O") and (oyunTahtasi[2] == oyunTahtasi[4] == oyunTahtasi[6]):
print(" ")
print(" ")
if oyunTahtasi[2] == "X":
print(x_oyuncusu + " KAZANDI!!!")
else:
print(o_oyuncusu + " KAZANDI!!!")
break
#Oyuncunun sırasına göre giriş sağla.
if oyuncuSirasi:
#O oyuncusunun sırası
yazman = int(input(o_oyuncusu + ": "))
#Boş olan yere sadece işlem yapılacak ve oyuncu değişecek.
if oyunTahtasi[yazman-1] == " ":
oyunTahtasi[yazman-1] = "O"
oyuncuSirasi = not oyuncuSirasi
else:
#X oyuncusunun sırası
yazman = int(input(x_oyuncusu + ": "))
#Boş olan yere sadece işlem yapılacak ve oyuncu değişecek.
if oyunTahtasi[yazman-1] == " ":
oyunTahtasi[yazman-1] = "X"
oyuncuSirasi = not oyuncuSirasi
print(" ")
print(" ")
print(" ")
Ekran Çıktısı
│ │ X
───┼───┼───
│ O │
───┼───┼───
│ │
X oyuncusu: 7