A Arensus Kreuzworträtsel Datei Format A.A Format B Open Source Kreuzworträtsel Java Applet

A.A Format

THCC = GENERATOR VERSION CODEPAGE WIDTH HEIGHT ENCRYPTION ENCRYPTION LETTERS {FIELD} TITLE AUTHOR COPYRIGHT LICENCE DESCRIPTION DEFINITIONS

GENERATOR = String 0 (Der Name des Programms mit dem diese Datei erzeugt wurde. Vorerst gibt es nur den Arensus Kreuzworträtsel Generator)

VERSION = String 0 (Die Versionsnummer des TCC-Formats. Aktuell ist es 0.4.7)

CODEPAGE = byte

ENCRYPTION = byte (Identifiziert Verschlüsselungstechnik.

0 = Buchstaben sind nicht enthalten,

1 = Buchstaben sind nicht verschlüsselt,

2 = Verschlüsselt nach TEA1 noch zu bestimmen, Rotation + XOR)

DESCRIPTION = String 0 (Beschreibung zum Kreuzworträtsel. Beliebige Zeichen ausser ASCII Code 0)

WIDTH = 2 byte (16bit-Zahl)

HEIGHT = 2 byte (16bit-Zahl)

LETTERS = String (Es werden WIDTH*HEIGHT Zeichen gelesen. Diese bilden einen String, welcher verschlüsselt werden kann.)

FIELD = PRIMARY SECONDARY [PIPE PIPE] [4BYTE] [4BYTE] ARROW [ARROW]]

Semantik: Es gibt WIDTH*HEIGHT FIELD-Elemente. Die Anzahl Bytes je Element ist abhängig vom Feld selber.

PRIMARY = byte

Semantik: Das PRIMARY-byte kann folgende Werte annehmen.

0 = UNDEFINED

1 = LETTER

2 = BLOCK

3 = CLUE1

4 = CLUE2

5 = RESERVED

SECONDARY = byte

Semantik: Das SECONDARY-byte folgt dem PRIMARY-byte. Jedes einzelne Bit hat eine eigene Bedeutung.

Bit 1 = BAR_HORIZONTAL (Unterer horizontaler Balken der Zelle ist an)

Bit 2 = BAR_VERTICAL (Rechter vertikaler Falke des Feldes ist an)

Bit 3 = CLUE_LETER (Erster Buchstabe-Feld, das Definitionen enthält.)

Bit 4 = SOLUTION_LETTER (Buchstabe ist Teil eines Lösungswortes)

Bit 5 = PIPE_A (Pipe A ist an)

Bit 6 = PIPE_B (Pipe B ist an)

Bit 7 und 8 werden nicht verwendet und werden ignoriert.

Abhängig von den Werten des PRIMARY- und SECONDARY-Bytes folgen weitere Bytes.

4BYTE = 4 byte (4 Bytes werden als eine Zahl angesehen)

If PRIMARY is LETTER and SECONDARY has bit PIPE_A or PIPE_B on then the two following two bytes are

PIPE = byte

0 = UNDEFINED

1 = AB

2 = AD

3 = BA

4 = BC

5 = CB

6 = CD

7 = DA

8 = DC

9 = XLD1

10 = XLD2

11 = XLD3

12 = XLD4

13 = XRD1

14 = XRD2

15 = XRD3

16 = XRD4

17 = XLU1

18 = XLU2

19 = XLU3

20 = XLU4

21 = XRU1

22 = XRU2

23 = XRU3

24 = XRU4

If PRIMARY is LETTER and SECONDARY has bit CLUE_LETTER on then next 4BYTE is the number of this clue-field.

If PRIMARY is LETTER and SECONDARY has bit SOLUTION_LETTER then next 4BYTE is the number of solution-letter.

If PRIMARY is CLUE1 then next ARROW defines the type of arrow for that clue.

If PRIMARY is CLUE2 then next two ARROWs defines the arrows of the two clues.

ARROW = byte

0 = UNDEFINED

1 = A1

2 = A2

3 = A3

4 = B1

5 = B2

6 = B3

7 = C1

8 = C2

9 = C3

10 = D1

11 = D2

12 = D3

13 = X1

14 = X2

15 = X3

16 = X4

17 = X5

18 = X6

19 = X7

20 = X8

TITLE = String 0 (Titel des Kreuzworträtsels.)

AUTHOR = String 0 (Der Urheber des Kreuzworträtsels.)

COPYRIGHT = String 0 (Der Copyright-Besitzer.)

LICENCE = String 0 (Der Autor kann jedem Kreuzworträtsel den er erstellt hat eine Lizenz-Identifikation zuordnen.)

DEFINITIONS = {String 0} (Die Anzahl hängt von der Anzahl an CLUE1-, CLUE2- und CLUE_LETTER-Felder ab. Jedem CLUE1-Felde eine Definitionen zugeordnet und jedem Clue2- und CLUE_LETTER sind zwei Definition zugeordnet.)

A Arensus Kreuzworträtsel Datei Format A.A Format B Open Source Kreuzworträtsel Java Applet