Biraz kod golf oynayalım!
Tic Tac Toe kurulu durumu verildi (Örnek :)
|x|x|o|
|x|o|x|
|o|o|x|
Bir oyunun win
a lose
veya mı olduğunu belirleyin cat
. Durumunuz verildiğinde, kodunuz bu seçeneklerden herhangi birini vermelidir. Yukarıdaki oyun çıktı olmalıdırlose
Açık olmak gerekirse: bir kazanç x
arka arkaya 3 s olarak tanımlanır (diyagonal, yatay, dikey). o
üst üste 3 s, üst üste cat
hiçbir oyun yok.
İşleri ilginç hale getirmek için, daha sonra açıklamanız gereken durum için giriş yapınızı belirlersiniz. Örneğin xxoxoxoox
, karakterlerin her birinin soldan sağa, yukarıdan aşağıya okunduğu yukarıda görüldüğü gibi geçerli bir durumdur. [['x','x','o'],['x','o','x'],['o','o','x']]
benzer şekilde okunan çok boyutlu dizideki oyun. Birlikte 0x1a9
bunun için hex 110101001
uygun bir sıkıştırma gibi kudreti çalışması 1
için manipüle edilebilir x
s ve 0
manipüle edilebilir o
.
Ama bunlar sadece bazı fikirler, eminim kendi fikirlerinize sahip olabilirsiniz.
Temel kurallar:
- Programınız geçerli herhangi bir durumu kabul edebilmelidir.
- Girdi biçimi herhangi bir durumu temsil edebilmelidir.
- "Kazanma durumu kuruldan belirlenmeli"
- Komple bir tahta varsayalım
Win
daha öncelose
örneğin 'xxxoooxxx' davasında
En düşük karakter sayısı kazanır
(win|lose|cat) [xo]{9}
ilk kelime oyunun x oyuncusu için bir kazanma, kaybetme veya kedi (?) Olup olmadığını gösterir. Herhangi bir devleti temsil edebilir.