# Planung

## Einstellungen

- Aufteilung in Bereiche: 'einfach' — 'moderat' — 'komplex'
- Spielfeld drehen
- Größen (Kartenhöhe, Schriftgröße) automatisch von der Bildschirmauflösung
- Kartenvorschlag automatisch anzeigen

## Tunier

- alles ;-)

## Übersetzung (Quelltext)

- überarbeiten (%d, %u, %s)
- Syntax beim Einlesen überprüfen (%)

## Regeln

- Sonderpunkte separat verwalten
- Sonderpunkte auch im Solo
- Farbsolo nur mit den Farbkarten (Buben + Damen eingeordnet); wie Fleischloser mit Trumpffarbe
- Mutation (für einfachere Tests)
- spezielle Armutregeln:
  - Abgabe am Anfang des zweiten Stichs
  - Nur an den Partner abgeben (Bei einer Hochzeit nach dem Klärungsstich, wenn kein Bräutigam gefunden wurde wird nicht geschoben)
    - Aufnahmepflicht
  - Pflicht, Farben zurückzugeben
  - Pflicht, Farben zurückzugeben
- Feigheit (wenn zwei weitere Ansagen möglich gewesen wären gibt es Strafpunkte)

## Fehlerbericht

- Email eintragen (Email als Einstellung)
- Fehlerbericht automatisch senden

### nachspielen

- Fenster mit allen Schritten (Kennzeichnen, was schon getan wurde + menschliche Aktivitäten)
- Vorbehalt mit reinnehmen

## KI

- genauere Aufgliederung von Choosebestcard (nach Stichnummer)
- Refenz-KIs lauffähig (Klasse 'class VirtualGame : public Game')
- Mutation in der Konfiguration (für einfachere Tests)
- Kurz- und Langübesetzung der Konfiguration
- Heuristiken separat verwalten

## GUI

- Unterstützung für Sonderzeichen (wie Umlaute)
- Kontexthilfe (S-F1)
- Kontexteinstellungen (S-F2)
- Überarbeiten vom Speichern/Laden der Regeln/KIs
- Datenbank
- Stichhaufen: Fenster mit Übersicht der Stiche (Punkte, Sonderpunkte, Ansicht) (je nach Stichansicht in Regeln)
- Vorschau bei Graphiken
- Bei Wechsel ins Fehlerberichtsfenster: alten Fehlerbericht freigeben (für Windows)
- beliebigen Kartensatz, Kartenrückseite, Hintergrund (Tisch) suchen wenn der angegebene nicht vorhanden ist
- Fehlerbehandlung bei Kartensätzen, Symbolen, ... überarbeiten (bessere Handhabung, Übersetzen)
- KI-Konfiguration zurücksetzen (für einen Spieler)
- Symbole für alle Knöpfe
- Einheit bei den Verzögerungen schreiben
- Konfiguration nur für Spielertypen zulassen, die sich von 'Aiconfig' ableiten (Gegenbeispiel ist 'AiDummy')
- Internetseite ins Programm
- Nachrichten-Fenster: Nachrichten hinzufuegen, Nachrichten loeschen
- Graphikformat png (besser: allgemein, s.u.)
- Bild vom Spieler
- Animation

### Bedienung

- Mit Taste Karte auswählen
- Mit Mausrad Karte auswählen + Klick für wählen (nur zulässige Karten bei entsprechender Regel)
- Wenn Maus über Ansage-Bereich: nächste Ansgage anzeigen und bei Klick tätigen
- Klick auf letzten Stich(-haufen) zeigt letzten Stich
- bei Tastaturkürzel Menü schließen
- Strg-+, Strg-- für Vergrößern, Verkleinern der Kartengröße
- Wenn Schrift nicht gefunden: Schriftauswahl hoch
- Drag'n drop (Verzeichnisse fuer Themen, Hintergrund, Kartenhintergrund, Regel, ai-Konfiguration, Einstellungen)
- Klick auf dem Splash-Screen versteckt ihn
- Tab-Reihenfolge

### Informationen

- nicht ausspielbare Karten abdunkeln
- letzten Stich(haufen) einfaerben
- Zeigen, an wen der Stich bisher geht (aufhellen)
- wenn Maus ueber Karte beim Ausspielen: diese verdunkeln
- rechte Maustaste auf Karte: diese in den Vordergrund
- UhrCursor (beim Laden der Karten, während KI rechnet)
- Statusbar mit Nachrichten (ai denkt, Karten laden, ...)
- Spiel-Log (→ Regeln, z.B. letzter Stich)
- Statistiken der Spieler

### Tunierpunkte

- farblich markieren: Ausspieler, Solospieler, Spielart
- Rundenenden markieren
- Punkte für Spieler als Balken
- Fenster soll wie Notizblock aussehen, keine Fenstermanager-Rahmen
- Statistik (wie Spielerstatistik, bloß nur fuer das Tunier)

### Spielende

- Spiel nachspielen
- Knopf für aktuellen Spielstand / Tunierpunkte

### Windows

- Unterdrücken, daß alle Fenster einen eigenen Eintrag in der Febsterleiste neben dem Startmenü von Windows erhalten
- GTK-Thema mit Windows-Aussehen

## Graphik

- Unterstützung verschiedener Graphikformate. Die einfachste Lösung wäre, auf Dateiendungen zu verzichten (sofern GTK dann die Dateien richtig erkennt), das ist aber nicht üblich.
- Symbol Gegenansage
- Symbole für die Sonderpunkte (gefangen: Gittermuster, Doppelkopf: 40+)
- Osterthema
- Weihnachtsthema

## Dokumentation

- Ziemlich viel
- '$HOME/.FreeDoko' erwähnen

## Multiplayer

- überhaupt
- Wenn ein Client ausfällt: Ersatz durch KI
- Wenn der Server ausfällt: Übernahme von einem anderen Client
- Chat (?)

## Pakete

### Debian

- Pakete aufspalten:
  - freedoko-all: Alles (wie bisher)
  - freedoko: Programm + Uebersetzungen und andere Textdateien
  - freedoko-help: englische Hilfe
  - freedoko-hilfe: deutsche Hilfe
  - freedoko-cardset-xskat-french: xskat-Kartensatz (französisches Blatt)
  - freedoko-cardset-xskat-german: xskat-Kartensatz (deutsches Blatt)
  - freedoko-carsets-kdecarddecks: von 'kdecarddecks' übersetzte Kartensätze
  - freedoko-cardsets-pysol: von 'pysol' übernommene Kartensätze
  Den Kartensatz 'Altenburg' wird es nicht als separates Paket geben, das erlaubt die Lizenz nicht. Aus demselben Grund wird das Paket 'freedoko-all' unter 'non-free' stehen, der Rest kann unter 'main'.
- Eigene debian-Verzeichnisse (fuer 'apt-get')

### Windows

- Ein Installationspaket fuer alle Sprachen (anderer Installer?)

## Sonstiges

- In jede Ressourcendatei die Version schreiben
- Blattsortierung vom eigentlichen Blatt abkoppeln
- Sound

## Chrome

- Blatt setzen
- Stich zurücknehmen
- Anzeige der im Spiel noch nicht ausgespielten Karten
- beliebige Karte spielen
- Anzeige, welche Karten die Gegner noch haben koennen (Nutzen der KI)
- Hochzeit: Anzeige, wieviele Stiche man noch Zeit hat, um einen Partner zu finden.
- Text-Version
- Graphikendungen → UI (+ mehrere Graphikendungen: xpm, png, jpeg)

offizielle Internetseite