                     HONZOVY ACHY 1200 pruka programtora
1) Sousti celku
   A) Program
     I. SACHY.PAS
        Vlastn program, obsahuje 3 dleit procedury
         Init
         Run - Reaguje na zprvy z menu a tahy hr a stav partie (nap mat),
               vtinou tak, e zavol pslunou proceduru.
         Done
    II. MENU.PAS
        Objektov orientovan knihovna, kterou jsem napsal pro poteby tohoto
        programu. Poskytuje objekt Tmenubar (respektive pointer na nj - Pme-
        nubar), ostatn objekty jsou pro vnitn potebu.
   III. DIALOGS.PAS
        Tak objekty, tak specialn pro tento program. Obsahuje nkolik
        zkladnch velmi primitivnch typ dialog (TOKDialog, TAnoNe-
        dialog...) a procedury, kter je uvaj. Oproti MENU je tato knihovna
        mnohem vce svzan s tmto konkrtnm programem.
    IV. COTYVAR.PAS
        Obsahuje zkladn konstanty, typy a promnn, kter jsou obecnho
        pouit. Skoro vechny sti programu ji vyuvaj.
     V. GRAFIKA.PAS
        Obstarv zkladn vstyp na obrazovku: kresl figurky a pole a obsa-
        huje i proceduru vyberpole a editujpozici. Zaizuje tak psan vtm
        psmem.
    VI. CSGRAPH.PAS
        Psan esky malm fontem. Tuto knihovnu jsem nepsal j.
   VII. RUTINY.PAS
        Zkladn achov rutiny - hledn tah, thnut, thnut zpt, testo-
        vn ach, remzy a smysluplnosti pozice.
  VIII. HRAC.PAS
        Zajiuje zadvn tah uivatelem a testuje sprvnost tahu.
    IX. IDIOT.PAS
        To nejdleitj - hrac algoritmus. Uv alfa-beta metodu do pevn a
        mal hloubky. Asi jsem nenapsal rutiny moc dobe, protoe nemu dovolit
        idiotovi potat hloubji ani dopotat to do tich pozice. Hodnot se
	hlavn materil, pozice je a na vyjmen situace (koncovka) lhostejn.
     X. SEZNAM.PAS
        Prbh partie se ukld do obousmrnho spojku, aby se mohly vracet
        tahy (a ppadn ty vrcen tahy znovu nechat zahrt) a hlavn aby se
        mohlo pout pravidlo 50 tah a t stejnch pozic a partie nebyly
        nekonen. A vlastn taky aby se mohly partie ukldat a otevrat.
        Zkladn operace s tmto spojkem obstarv prv tento unit.
   B) Nezbytn data
     I. TSCR.CHR
        esk font, kter uv jednotka grafika. Nepodailo se mi ho plinko-
        vat do SACHY.EXE, a tak se mus pechovvat i v EXE adresi.
    II. EGAVG.OBJ
        Pascalsk grafick ovlada EGAVGA.BGI. Je soust SACHY.EXE.
   III. CS8x14.OBJ
        esk font mal. Uvn jednotkou CSGRAPH. Je soust SACHY.EXE.
    VI. FIGURY.OBJ
        Obrzky vech achovch figurek. Kreslil jsem je j, navc ve vlastm
        (velmi primitivnm) editoru obrzk, a tak bych ctl poprosit o jistou
        shovvavost pi hodnocen umleck sloky dla. Je soust SACHY.EXE.
     V. TEORIE.TEO
        Knihovna zahjen NEN soust SACHY.EXE.
   C) Plohy
     I. STEINITZ.SCH
         Partie Lasker x Steinitz Montreal 1894
         Jedna z prvnch Laskerovch parti, kde zvolil svou oblbenou
         vmnnou variantu panlsk obrany s rychlm pechodem do koncovky.
         Bl m lep pce ale ern zase dvojici stelc. Pozdji s ml
         Lasker s touto variantou spchy, ale tady mu to Steinitz znechutil.
    II. FISCHER.SCH
         Partie Fischer x Spasskij Reykjavk 1972
         Fischer zahrl 1.c4 msto obvyklho 1.e4 a Spasskij si ani nekrtnl.
   III. MARTIN.SCH
         Kterak mj milovan program (bl) mlem vyhrl s Martinem Oliveriusem
2) Vznamn algoritmy a datov struktury
    Program vlastn nepouv dn zvltn algoritmy. Alfa-beta metoda
    prohledvn do hloubky je pomrn znm a tento program k n nepin
    dn doplky. Zkladn ohodnocovac funkce je vrac prost rozdl
    hodnoty materilu blho a ernho s tm, e postoupl pec je o nco
    hodnotnj a nastane-li koncovka, je nevhodou mt krle blzko rohu. 
    Algoritmus nachzen tah spov prostm nalezen tah pro kadou figurku
    zvl a vykrtn tah, po kterch bude hrajc strana v achu. Tahy 
    ukldm do pole, protoe dynamick datov struktury jsou pi propotu 
    pli pomal. Je-li poet tah 0, je bu pat nebo mat.
3) Kontakt na autora
    viz UZIVATEL.TXT