 Jass-Taktik-Beschreibung fr Vb_Jass (Taktik10) 14.1.03 Di
 ********************************************************** 
 (Datei: JassTaktikBeschreibung.txt)
 
 Bedienung
 =========
 Datei-Auswahl
 -------------
 Handjass: 	Bearbeiten und Kompilieren der Handjass-Taktik-Dateien
 Schieber: 	Bearbeiten und Kompilieren der Schieber-Taktik-Dateien
 Tabelle: 	Bearbeiten und Kompilieren der Taktik-Tabelle
 		(siehe Taktik-Tabelle)
 
 Menu:
 -----
 Lesen:		liest die Datei ein zum Bearbeiten
 Speichern:	speichert die Datei unter dem Namen des Datei-Textfeldes
 Kompilieren:	Kompiliert die Datei 
 		(wenn ok: Taktik-Dateien sind frs Jassprogramm gespeichert
 		(wenn Fehler: Text-Datei muss korrigiert und gespeichert werden
 Fehler markieren: Der Fehler wird in der Datei markiert
 Hilfe:		Diese Beschreibung wird angezeigt
 Suchen:	Sucht oder sucht weiter nach dem Suchtext im Such-Textfeld
 
 
 Funktionen zum Bearbeiten der Datei
 -----------------------------------
 Ausschneiden:  markieren und Ctrl/c
 Einfgen:	Cursor positionieren und Ctrl/v
 Verschieben:	markieren und Shift/Delete, dann Shift/Insert
 
 
 		
 Aufbau und Funktionen der Taktik-Datei
 ======================================

 Die Taktik-Datei kann einen beliebigen Namen mit der Extension "txt" haben.

 Das Zeichen ' ist das Kommentarzeichen (nachfolg.text wird nicht gewertet)
 Leerzeichen (spaces) knnen beliebig zur Formatierung verwendet werden.

 Die erste gltige Zeile enthlt den Dateiamen der Ausgangsdatei 
 zb)  Dateiname: jasssb1 (ohne extension)
 Schieber:  jasssb1, jasssb2, jasssbp  (1=leicht, 2=normal, p=persnlich)
 Handjass:  jasshj1, jasshj2, jasshjp  (1=leicht, 2=normal, p=persnlich)

 Der Funktionsname wird mit : abgeschlossen!
 Jedes Argument muss mit , getrennt und mit * abgeschlossen werden!
 zb)  sp:m,k*  stm-tr: schw, st, si* )

 Jeder Entscheidungsblock muss mit einer Blocknummer versehen sein!
 zb) blk:1250* (die Blocknummer muss 4-stellig sein und der * muss anliegen!)
 Am Schluss der Datei soll die Blocknummer  blk:9999*  stehen!

 Diese "txt"-Datei muss mit dem 'Jass-Taktik-Compiler' compiliert werden und
 generiert die Entscheidungs-Tabellen "tk1" und "tk2" fr's Jass-Programm
                                                              
 Folgene Entscheidungs-Kriterien sind vorhanden:
 (In Klammer die zwingende Abkrzung)
 -----------------------------------------------
 Spieler und Zeitpunkt
  spieler (sp): meister (m), gegner1 (g1), knecht (k), gegner2 (g2)
  runde (ru):(1), (2), (3-5), (6-9)
  karte (ka): (1), (2), (3), (4)
 
 Tisch
  tischwert (tw): nieder (ni), mittel (mi), hoch (ho)
  trumpf ausgespielt (tr-aus): ja (j), nein (n)
  fehlende Trmpfe (f-tr): wenig(we), viel(vi)

 Karten-Zustand Spieler
  eigene trmpfe (eig-tr): keine(ke), schwach(schw), stark(st), alle(all)
  trumpf-bock (tr-bk): kein(ke), ein(ei), mehrere(me)
  strke farben (st-fb): keine (ke), schwach (schw), mittel (mi), stark (st)
  strke ausgespielte farbe(st-aus-fb):
                      keine (ke), schwach(schw), mittel(mi), stark(st)
  farb-bock (fb-bk): kein (ke), wenig (we), viel (vi), alle (all)
  stechmgl.trumpf(stm-tr): keine(ke), schwach(schw), stark(st), sicher(si)
  stechmgl.farbe(stm-fb): keine(ke), schwach(schw), stark(st), sicher(si)
  schwache farbe (schw-fb): ja(j), nein(n)
  solo-farbe (solo-fb): ja(j), nein(n)

 Karten-Zustand Partner (Hochrechnung)
  partner-trumpf (p-tr): ja (j), nein (n)
  stechmgl.partner(stm-p): keine(ke), schwach(schw), stark(st), sicher(si)
  partner hat starke farbe (p-st-fb): ja(j), nein(n)

 Karten-Zustand Gegner (Hochrechnung)
   gegner-trumpf (g-tr): ja (j), nein (n)
 

 Entscheidung
  entscheid-stechen(e-ste): nicht(ni), schwach(schw), stark(st), sicher(si)
  entscheid-farbe(e-fb): trumpf(tr), farbe(fb), schwchste-farbe(schw-fb)
                            strkste-farbe(st-fb), solo-farbe(solo-fb)
                            strkste-partner-farbe(st-p-fb)
                            strkste gemeinsame farbe(st-gm-fb)
  entscheid-stechwert(e-stw): nieder (ni), hoch(ho), bock(bk)
  entscheid-zhlwert(e-zw): nieder(ni), hoch(ho)
 
 Achtung! als Partner wird der gegenbersitzende Spieler bezeichnet
          der Gegner1 ist rechts, Gegner2 links  (wie beim Schieber normal)
          aber: !! das gilt in den Argumenten auch beim Handjass !!


 Abarbeitung der Taktik-Datei im Jass-Programm
 ---------------------------------------------
 Die Taktik-Datei wird, unabhngig von der Block-Nummer, von oben bis unten
 durchgeschaut. Sobald alle gewnschten Argumente bereinstimmen, wird der
 dazugehrige Entscheid ausgefhrt. Es ist also wichtig, wo gewisse Entscheide
 geschrieben werden. Sonst kann es passieren, dass ein Entscheid gar nie
 behandelt wird, weil weiter oben mit hnlichen Bedingungen abgebrochen wird!
  
 Entscheid Farbe:
 Etwas speziell ist der 'entscheid-farbe'.Da die 'solo-farbe' die strkste
 Farbe wre, wird die zweitstrkste Farbe als 'strkste farbe' bezeichnet.
 Also Reihenfolge: Solofarbe (alle Karten einer Farbe), dann strkste Farbe 
 Enthlt der 'entscheid-farbe' nur 'fb-fb', also irgend eine Farbe, so wird
 beim angeben wenn mglich keine 'Bockfarbe' oder 'Knig (resp 7) zu zweit'-
 Farbe weggeworfen! (sog. blockierte Farbe!).
 Beim Ausspiel entfllt diese Regel!
 
 Entscheid Stechwert:
 Hier gilt ebenfalls die Reihenfolge: zuerst Bock, dann Hoch.
 Also: Hoch ist nicht die Bockkarte, sondern die nchst niedere
  
 Karten des Partners und der Gegner werden mit einer Wahrscheinlichkeit
 gerechnet. Auch die Stechmglichkeit beruht auf dieser Wahrscheinlichkeit.


 Tip:
 ====
 --> jeder Anwender soll mglichst in seiner persnlichen Datei
     experimentieren. Super-Erkenntnisse werden dann von mir in die
     "Schwierigkeit normal" integriert !!


 Taktik-Tabelle (JassTabxx.txt)
 ==============================
 Diese Tabelle enthlt die Bewertung der Argumente. Hier wird bestimmt,
 was als stark, schwach, nieder, hoch usw. in Prozent-Werte angeschaut wird.
 Wichtig ist, dass die Textwerte in "" und die ersten 3 Zahlen in einer
 Linie auf keinen Fall verndert werden drfen. Die 4.Zahl enthlt den
 unteren Wert und die 5.Zahl den oberen Wert, bei dem das Argument in ""
 gltig ist. Die 6. Zahl muss 0 bleiben. Der Spielraum fr den Anwender
 ist also auf die 4. und 5. Zahl beschrnkt! Alle anderen Werte sind mit
 dem Programm verknpft und wrden Software-Aenderungen bentigen!

 Wird die Tabelle verndert, so soll ebenfalls ein neuer Name gegeben
 werden. Die Tabelle muss nach dem Speichern dann kompiliert werden.
 Nachher kann die Taktik-Datei mit diesen neuen Werten kompiliert werden.
 
 Achtung: Die Taktik-Datei soll eigentlich nicht verndert werden!!
 
 

 Achtung!! Die Taktik-Dateien befinden sich im Jass-Haupt-Ordner.
 --------  Beim Aendern und Speichern dieser Dateien ist Vorsicht geboten.
 	   Beim Kompilieren wird die Datei, welche das Jassprogramm fr
 	   seine Entscheide braucht, sofort neu geschrieben. Es ist daher
 	   ratsam, die Taktik-Text-Datei fters neu zu benennen, damit
 	   laufende Versionen noch vorhanden sind.
 	   Auch beim Aufrumen mit dem Explorer heisst es Aufpassen!!
 	   
 	    
 Anhang Taktik-Tabelle 
 =====================
' Taktik-decodier-Tabelle  (JassTab9.txt) 

' Funktion_txt, Arg_txt, fkt-zahl, wort, bit, unt-grenze, ob-grenze, mark.

 taktik:

 '(1) Spieler: m=meister, g1=gegner1, k=knecht, g2=gegner2
 DATA "sp","m", 1,1,0,1,1,0
 DATA "sp","g1",1,1,1,2,2,0
 DATA "sp","k", 1,1,2,3,3,0
 DATA "sp","g2",1,1,3,4,4,0

 '(2) Runde: 1, 2, 3-5, 6-9
 DATA "ru","1",  2,1,4,1,1,0
 DATA "ru","2",  2,1,5,2,2,0
 DATA "ru","3-5",2,1,6,3,5,0
 DATA "ru","6-9",2,1,7,6,9,0

 '(3) Karte: 1, 2, 3, 4
 DATA "ka","1",3,1, 8,1,1,0
 DATA "ka","2",3,1, 9,2,2,0
 DATA "ka","3",3,1,10,3,3,0
 DATA "ka","4",3,1,11,4,4,0

 '(4) Tischwert: nieder, mittel, hoch (% von durchschn. Rundenpunkte)
 DATA "tw","ni",4,1,12,  0, 49,0
 DATA "tw","mi",4,1,13, 50, 99,0
 DATA "tw","ho",4,1,14,100,400,0

 '(5) Trumpf ausgespielt: ja/nein
 DATA "tr-aus","j",5,2,0,1,1,0
 DATA "tr-aus","n",5,2,1,0,0,0

 '(6) Eigene Trmpfe: keine, schwach, stark, alle
 DATA "eig-tr","ke",  6,2,2,  0,  0,0
 DATA "eig-tr","schw",6,2,3,  1, 39,0
 DATA "eig-tr","st",  6,2,4, 40, 99,0
 DATA "eig-tr","all", 6,2,5,100,101,0

 '(7) Trumpf-Bock: kein, ein, mehr
 DATA "tr-bk","ke",7,2,6,0,0,0
 DATA "tr-bk","ei",7,2,7,1,1,0
 DATA "tr-bk","me",7,2,8,2,9,0

 '(8) Gegner-Trumpf: ja, nein
 DATA "g-tr","j",8,2, 9,1,101,0
 DATA "g-tr","n",8,2,10,0,  0,0

 '(9) Partner-Trumpf: ja, nein
 DATA "p-tr","j",9,2,11,1,101,0
 DATA "p-tr","n",9,2,12,0,  0,0

 '(19) Fehlende Trmpfe: wenig, viel
 DATA "f-tr","we",19,4,12,0,1,0
 DATA "f-tr","vi",19,4,13,2,9,0

 '(16) Partner starke Farbe: ja, nein
 DATA "p-st-fb","j",16,2,13,36,101,0
 DATA "p-st-fb","n",16,2,14, 0, 35,0
 
 '(10) Strke-Farben: keine, schwach, mittel, stark
 DATA "st-fb","ke",  10,4,14,  0,  0,0
 DATA "st-fb","schw",10,3, 0,  1, 50,0
 DATA "st-fb","mi",  10,3, 1, 51,119,0
 DATA "st-fb","st",  10,3, 2,120,400,0

 '(11) Strke ausgespielte Farbe: keine, schwach, mittel, stark
 DATA "st-aus-fb","ke",  11,3,3, 0,  0,0
 DATA "st-aus-fb","schw",11,3,4, 1, 19,0
 DATA "st-aus-fb","mi",  11,3,5,20, 66,0
 DATA "st-aus-fb","st",  11,3,6,67,101,0
 
 '(12) Farb-Bock: kein, wenig, viel, alle
 DATA "fb-bk","ke", 12,3, 7, 0,  0,0
 DATA "fb-bk","we", 12,3, 8, 1, 49,0
 DATA "fb-bk","vi", 12,3, 9,50, 98,0
 DATA "fb-bk","all",12,3,10,99,101,0

 '(17) Schwache Farbe: ja, nein
 DATA "schw-fb","j",17,3,11, 1, 19,0
 DATA "schw-fb","n",17,3,12,20,101,0

 '(18) Solo-Farbe: ja, nein
 DATA "solo-fb","j",18,3,13,100,101,0
 DATA "solo-fb","n",18,3,14,  1, 99,0

 '(13) Stechmglichkeit Trumpf: keine, schwach, stark, sicher
 DATA "stm-tr","ke",  13,4,0, 0,  0,0
 DATA "stm-tr","schw",13,4,1, 1, 59,0
 DATA "stm-tr","st",  13,4,2,60, 98,0
 DATA "stm-tr","si",  13,4,3,99,101,0

 '(14) Stechmglichkeit Farbe: keine, schwach, stark, sicher
 DATA "stm-fb","ke",  14,4,4, 0,  0,0
 DATA "stm-fb","schw",14,4,5, 1, 59,0
 DATA "stm-fb","st",  14,4,6,60, 98,0
 DATA "stm-fb","si",  14,4,7,99,101,0

 '(15) Stechmglichkeit Partner: keine, schwach, stark, sicher
 DATA "stm-p","ke",  15,4, 8, 0,  0,0
 DATA "stm-p","schw",15,4, 9, 1, 59,0
 DATA "stm-p","st",  15,4,10,60, 98,0
 DATA "stm-p","si",  15,4,11,99,101,0

 '(30) Entscheid stechen: nicht, schwach, stark, sicher
 DATA "e-ste","ni",  30,5,0, 0,  0,0
 DATA "e-ste","schw",30,5,1, 1, 59,0
 DATA "e-ste","st",  30,5,2,60, 98,0
 DATA "e-ste","si",  30,5,3,99,101,0

 '(31) Entscheid-Farbe: Trumpf, Farbe, schwchste-Farbe, strkste-Farbe,
 '                      solo-Farbe, strkste Partner-Farbe,
 '                      strkste gemeinsame Farbe
 DATA "e-fb","tr",      31,5, 4,0,0,0
 DATA "e-fb","fb",      31,5, 5,0,0,0
 DATA "e-fb","schw-fb", 31,5, 6,0,0,0
 DATA "e-fb","st-fb",   31,5, 7,0,0,0
 DATA "e-fb","solo-fb", 31,5, 8,0,0,0
 DATA "e-fb","st-p-fb", 31,5, 9,0,0,0
 DATA "e-fb","st-gm-fb",31,5,10,0,0,0

 '(32) Entscheid-Stechwert: nieder, hoch, bock  (1=bock)
 DATA "e-stw","ni",32,5,11,0,0,0
 DATA "e-stw","ho",32,5,12,0,0,0
 DATA "e-stw","bk",32,5,13,0,0,0

 '(33) Entscheid-Zhlwert: nieder, hoch
 DATA "e-zw","ni",33,5,14,0,0,0
 DATA "e-zw","ho",33,5,15,0,0,0

 DATA "tabende","tabende",1000,0,0,0,0



