TRIKTRAKI MÄNGUPROGRAMMI KASUTUSJUHEND

1. MÄNGU ALGUSES KUVATAVATE VALIKUTE KIRJELDUS

Programmi avamisel kuvatakse valiku aken, kus saab valida kolme võimaliku mängijate paari vahel:

1) Kasutaja vs. Arvuti - Kasutaja saab mängida arvuti algoritmi vastu
2) Arvuti vs. Arvuti - Kasutaja saab vaadelda, kuidas arvuti algoritmid omavahel mängivad
3) Kasutaja vs. Kasutaja - Kasutaja saab mängida üksinda mõlema mängija eest (või sõbraga, kes sama arvuti taga istub).

Lisaks on võimalik valida, kas näidata nuppude liikumise animatsiooni. Nuppude liikumise animatsioon on soovitatav sisse lülitada, kui kasutaja soovib jälgida, mis käike arvuti sooritab; välja lülitada aga siis, kui kasutaja soovib võimalikult kiiresti teada saada mängu tulemuse, kuna animatsioon aeglustab programmi töö käiku.

Kui valitakse paar "Kasutaja vs. Arvuti", kuvatakse uus aken, kus kasutaja saab valida, millist algoritmi arvuti mängides rakendab. Võimalikud valikud on:

1) Juhuslikkuse algoritm
2) Expect-minimax

Kui valitakse paar "Arvuti vs. Arvuti", kuvatakse uus aken, kus kasutaja saab valida, milliseid algoritme arvuti mängides rakendab. Algoritmi valik on seotud nuppude värviga, et kasutaja jaoks oleks arusaadav, milliste nuppudega valitud algoritmid mängivad. Võimalikud valikud on:

Must:

1) Juhuslikkuse algoritm
2) Expect-minimax

Valge:

1) Juhuslikkuse algoritm 
2) Expect-minimax

Kui vähemalt üks arvuti kasutaja jaoks valitud algoritmidest on expect-minimax, kuvatakse uus aken, kus saab valida expect-minimaxi kasutatavaid parameetreid. Võimalikud parameetrite valikud on:

1) Strateegia - valikute hulka kuuluvad "Kaitsev", "Ründav", "Jooks" ja "Kombineeritud. 

Jooksev strateegia üritab oma nuppudega võimalikult kiiresti koju jõuda ning need seejärel laualt maha kanda, kaitsev strateegia üritab minimeerida mängija üksikute nuppude arvu ning oma siselauale kiile ehitada, ründav strateegia üritab vastase nuppe müürile saata ning kombineeritud strateegia kasutab kõiki kolme eelnimetatud strateegiatest.

2) Puu sügavus - vahemikus [1,8] - optimaalne sügavuse valik on lõigus [1,4], suurema sügavuse valimine on võimaldatud pigem selleks, et illustreerida, kuidas sügavusega kasvab programmi käikude valiku langetamise aeg.

3) Puu kärpimise valikuvõimalus - valides kärpimise, kärbitakse otsingupuud kasutades alfa-beeta-gamma kärpimist.

2. KÄIKUDE TEGEMINE MÄNGULAUAL #kasutaja jaoks

Mänguakna paremal üleval nurgas kuvatakse sama värvi ikoon, mis värvi on hetkel käiku sooritava mängija nupud. NB! Kui valitud mängijateks on "Arvuti vs. Kasutaja", ei tööta ikooni värvivahetus õigesti.

# Käikude sooritamise suund
Kui kasutaja mängib valgete nuppudega, saab mängija nuppe liigutada ainult väiksemate numbritega kiiludelt suurematele; kui mängija mängib mustade nuppudega, siis vastupidi.

# Legaalne sammude arv
Mängija võimalikud käigud on kuvatud täringul. Kasutaja võib ise otsustada, kumma täringu silmade arvuga käigu ta esimesena sooritab. Pärast käigu tegemist muutub täringu pilt, millega käik sooritati läbipaistvaks, et anda kasutajale märku, et seda täringut enam kasutada ei saa. Kui veeretatakse duubel, kuvatakse programmis neli täringut, et kasutajal oleks mugavam jälgida võimalike käikude arvu ja sooritatud käikude arvu.

#Nupu liigutamine
Kasutaja saab oma käigukorra ajal liigutada vaid enda nuppe (vastase nupud on lukus) ning liigutatav nupp peab olema mängija nuppudega kiilu kõige pealmine (või viimasena kiilule lisatud) nupp, kõik teised nupud on lukus. Liigutamiseks tuleb nupp hiirega vedada kiilule, kuhu mängija soovib oma käigu teha. Kui tegu on lubatud käiguga, jääb mängija nupp uuele kiilule pidama. Kui tegu ei ole lubatud käiguga, viiakse nupp käigu algpositsioonile tagasi. 

#Nupu müürilt maha käimine
Kui kasutaja nupp on sattunud müürile, ei saa kasutaja sooritada enne uusi käike, kui nupp on müürilt mängu tagasi kantud. Selleks peab mängija saama tagasi mängu astuda vastase siselaua kaudu täringu silmadel näidatud kiilule (alustades lugemist mahakandmislauale kõige lähemast kiilust). Kui mängija ei ole oma mängukorra ajal enam lubatud käike kuvatakse vastav teade ning mängukord läheb vastase kätte.

#Nuppude mahakandmine
Kui kõik mängija nupud on mängija siselaual, võib mängija alustada nuppude mahakandmist. Maha kandmiseks tuleb nupp liigutada mängija mahakandmislauale (müürist teisel pool asuvale mängija siselaua kõrval olevale ribale). Ka mahakandmise jaoks peab täringu silmade arv lubama käigu sooritada.

#Mängu lõpp

Kui mängija jõuab oma nupud enne vastast laualt maha kanda, on ta mängu võitnud.

Punkte jagatakse järgnevalt:

1 punkt - kui mängija jõuab oma nupud enne vastast maha kanda, aga vastane on jõudnud juba mahakandmisega algust teha

2 punkti - kui mängija jõuab oma nupud maha kanda enne kui vastane on mahakandmisega algust teinud

3 punkti (triktrakk) - kui mängija on oma nupud maha kandnud, aga vähemalt üks vastase nuppudest asub veel mängija siselaual

#Uus mäng
Mängu lõppedes kuvatakse vastav teade ning küsitakse, kas ta soovib alustada uut mängu. 
Uue mängu valimisel taastatakse laua algseis, kuid mängu alguses valitud parameetrid jäävad kehtima. 
NB! Uue mängu valimisel ei suuda programm alati laua algseisu päris korralikult taastada. Kui selline viga peaks tekkima, on soovitav menüüribalt valida "Mäng" -> "Uus mäng", mis tavaliselt probleemi korda teeb.

Kui kasutaja soovib mängu alustada uute parameetritega, peab ta programmi sulgema ning selle uuesti avama.






