İçeriğe atla
md ~/projeler/tic-tac-toe
Proje arşivi

2026Canlı

Tic-Tac-Toe

  • JavaScript
  • HTML
  • CSS
  • Minimax (alfa-beta)
  • Node.js Test Runner
  • Vercel

Genel bakış

Tarayıcıda oynanan XOX oyunu. Klasik 3×3'ün yanında, tahta dolana kadar her 3'lünün puan getirdiği 4×4 ve 5×5 tahtalar var. Aynı cihazda iki kişi ya da kolay, orta ve 3×3'te yenilmeyen zor seviyeli bilgisayara karşı oynanır. Türkçe/İngilizce, koyu/açık tema ve klavye desteği var.

01 · Problem

Klasik 3×3 XOX iki iyi oyuncu arasında hep berabere biter ve birkaç oyundan sonra sıkıcılaşır. Büyük tahtalar ise ilk 3'lü kuralıyla ilk birkaç hamlede bitiyor. Çoğu örnek uygulama sadece iki kişilik modla kalıyor, bilgisayar rakibi ya yok ya da yenilmesi çok kolay.

02 · Çözüm

4×4 ve 5×5 tahtalar için her 3'lünün puan getirdiği ve tahta dolana kadar süren bir kural ekledim. Bilgisayar rakibi üç seviyeli: zor seviye alfa-beta budamalı minimax ile ileriye bakıyor, büyük tahtalarda sezgisel bir değerlendirmeyle hızlı kalıyor. Oyun kuralları arayüzden ayrı ve değişmez durumla yazıldı; bu sayede tarayıcı olmadan birim testleriyle doğrulandı. Kayıtlı veri doğrulanıyor, metinler innerHTML olmadan yazılıyor ve site güvenlik başlıklarıyla (CSP) yayınlanıyor.

03 · Sonuç

tictactoe.miracdeprem.com adresinde yayında olan, telefonda ve masaüstünde çalışan bir oyun. Zor seviye 3×3'te test edilen 50 oyunda hiç kaybetmedi, 5×5'te hamlesini yaklaşık 0,1 saniyede veriyor. 22 birim testi kuralları, yapay zekâyı ve kayıt işlemlerini kapsıyor.