Proje Hakkında

Genel Bakış

Bu proje, Python (Flask) ile geliştirilmiş, dinamik boyutlu (3x3'ten 10x10'a kadar) bir Tic-Tac-Toe (XOX) oyunudur. Kullanıcı, oyun tahtasının boyutunu seçebilir ve isterse ilk hamleyi yapabilir. Oyun, hem masaüstü hem mobilde modern ve kullanıcı dostu bir arayüze sahiptir. İki farklı oyun modu bulunmaktadır: Tek oyunculu (AI ile) ve iki oyunculu (arkadaşınızla).

Nasıl Oynanır

Amaç

Amaç, yatay, dikey veya çapraz olarak aynı sembolü arka arkaya yerleştirmektir. Aynı sembolleri sırasıyla yerleştiren oyuncu oyunu kazanır.

Oyun Modları

Tek Oyunculu Mod

Bu modda, oyuncu yapay zeka (AI) ile karşılaşır. AI, tahta boyutuna göre farklı stratejiler kullanır.

İki Oyunculu Mod

Bu modda, iki oyuncu aynı cihaz üzerinden sırayla hamle yaparak oynar. Oyuncular X ve O sembollerini kullanır ve sırayla hamle yaparlar. Oyun, bir oyuncu kazandığında veya beraberlik durumunda sona erer.

Oyun Mantığı ve AI Stratejisi

Hamle Sıralaması ve Oyun Akışı

AI Hamle Sıralaması ve Stratejisi

Minimax (3x3 ve 4x4 için):
  1. Kazanma Hamlesi: AI, kazanabileceği bir hamle varsa önce onu yapar.
  2. Bloklama: Rakip (kullanıcı) kazanacaksa, AI hemen o hamleyi engeller.
  3. Çatallama: AI, aynı anda iki kazanma yolu açabiliyorsa bu hamleyi tercih eder.
  4. Merkez: Tahta boyutu tekse (ör. 3x3), ilk hamlede merkeze oynar.
  5. Köşe ve Çapraz: Merkez doluysa köşe ve çaprazlara öncelik verir.
  6. Kenar: Diğer hamleler yoksa kenarlara oynar.
  7. Hamle Sıralaması: Hamleler, yukarıdaki önceliklere göre sıralanır ve en avantajlısı seçilir.
MCTS (5x5 ve Daha Büyük için):
  1. İlk Hamle: Tahta boyutu tekse merkeze, çiftse merkez bölgeye (2x2) oynar.
  2. Kazanma ve Bloklama: AI, simülasyonlarda kazanma veya bloklama hamlelerini önceliklendirir.
  3. Çatallama ve Avantajlı Hatlar: Birden fazla kazanma yolu açan veya rakibin kazanmasını engelleyen hamleler önceliklidir.
  4. Merkez, Köşe, Kenar: Avantajlı hamle yoksa merkez, köşe ve kenar sıralamasıyla oynar.
  5. Simülasyonlar: AI, her olası hamle için binlerce hızlı oyun oynar ve en çok kazandıran hamleyi seçer.

Kazanma ve Engelleme Durumu

AI'nın Karar Verme Süreci

Erken Beraberlik Algoritması

Kullanıcı Deneyimi

Kod Yapısı

Ekstra Teknik Detaylar

Kaynaklar & Geliştirici

Geliştirici: Osman Demir
Web Sitem | GitHub | LinkedIn

Oyun Sonu Algoritmaları ve Uyarı Sistemi

Beraberlik Algoritması

Galibiyet Algoritması

Yenilgi Algoritması

Uyarı ve Bildirimler