ChromoKo Pseudo-Code

Werbung
ChromoKo Pseudo-Code
Oberflächenelemente





Spielbrett. Dieses besteht aus 30 Kanten (1 bis 30) und 24 Knoten (1 bis 24)
Auswahl der drei Grundfarben.
Aktiver Spieler: Anzeige, welcher Spieler am Zug ist.
Punktestand: Aktueller Punktestand für Rot und Blau, eventuell unterschieden in die
drei möglichen Punktewerte.
Reset-Knopf um neues Spiel beginnen zu können.
Farben und Punkte
Farben intern als Zahlen darstellen. Mittels Referenztabelle dann für die Oberfläche
übersetzten. Vorschlag: 1 für Rot, 10 für Gelb, 100 für Blau. Dann kann intern einfach beim
Mischen der Farben summiert werden. Alle auftretenden Kombinationen können
unterschieden werden. Dadurch ist auch eine Zuordnung zu der Punktevergabe möglich.
Farb-Punkte Tabelle
Farbwert
Farbe
Teilfarbe 1
Teilfarbe 2
0
1
2
3
10
11
12
20
21
30
100
101
102
110
111
120
200
201
210
300
Weiß
Rot1
Rot2
Rot3
Gelb1
Orange1
Orange2
Gelb2
Orange3
Gelb3
Blau1
Lila1
Lila2
Grün1
Schwarz
Grün3
Blau2
Lila3
Grün2
Blau3
0
1
1
1
1
1
1
10
1
10
100
1
1
10
1
10
100
1
10
100
0
0
1
1
0
10
1
10
10
10
0
100
1
100
10
10
100
100
100
100
(Teilfarbe
3)
0
0
0
1
0
0
10
0
10
10
0
0
100
0
100
100
0
100
100
100
Punkte
Spieler
0
0
0
0
0
1
2
0
4
0
0
0
0
1
0
4
0
0
2
0
X
X
X
X
X
0
0
X
0
X
X
X
X
1
X
1
X
X
1
X
Man könnte also mit 20 Farben arbeiten. Das wird in der Darstellung aber eher
unübersichtlich. Daher die Beschränkung auf 8 Farben (inkl. Schwarz und Weiß). Wird diese
Tabelle intern abgelegt, kann man aber die Farben und vielleicht die Punkte im Nachhinein
noch flexibel anpassen.
Spielstand
Der Spielstand wird durch die Färbung der 30 Kanten festgelegt. Daraus ergeben sich die
auch die Farben der 24 Knoten. Weiters braucht man einen Merker für Ko, einen Merker für
den Spieler der dran ist. Die Punkteverteilung kann aufgrund des Spielstandes berechnet
werden.
Um den Spielstand zu speichern braucht man zwei Tabellen. (Farbwerte zu Beginn mit 0
initialisieren.)
Kantentabelle
Kante
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Knoten 1
1
1
2
3
3
4
5
5
6
7
8
8
9
10
11
11
12
13
13
14
15
16
16
17
18
19
20
21
21
23
Knoten 2
2
4
5
4
7
8
6
9
10
11
9
12
13
14
12
15
16
14
17
18
19
17
20
21
22
20
23
22
24
24
Farbwert
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Ko
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Nein
Knotentabelle
Die Farben der Knotentabelle werden mit 0/weiß initialisiert.
Knoten
Kante 1
Kante 2
Kante 3
1
1
2
X
2
1
3
X
3
4
5
X
4
2
4
6
5
3
6
9
6
7
9
X
7
5
10
X
8
6
11
12
Farbwert
0
0
0
0
0
0
0
0
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
8
9
10
12
13
14
16
17
19
20
21
23
24
25
27
29
11
14
15
15
18
18
21
22
22
25
26
26
28
28
30
30
13
X
16
17
19
20
X
23
24
X
X
27
29
X
X
X
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Die aktuelle Farbe lässt sich aus der Kantentabelle berechnen durch:
Berechne Knotenfarbe
Für i=1 bis 24
Knoten i wird berechnet
Setze Farbe von Knoten i auf 0
Für j=1 bis 3
Farbe von Knoten i = Farbe von Knoten i plus Farbe der Knoten-Kante j
Nächstes j
Nächstes i
Spieler
Merker für den aktuellen Spieler: 0 ist Rot, 1 ist Blau.
Punktestand-Tabelle
Unterscheide insgesamt 8 Werte (bzw. 20, wenn man für alle verschiedenen Farben Punkte
vergeben will). Punktestand mit 0 initialisieren.
Punktemerker
1
2
3
4
5
6
7
8
9
10
11
12
13
Farbwert
0
1
2
3
10
11
12
20
21
30
100
101
102
Punktestand
0
0
0
0
0
0
0
0
0
0
0
0
0
14
15
16
17
18
19
20
110
111
120
200
201
210
300
0
0
0
0
0
0
0
Der Punktestand ergibt sich aus der Knotentabelle:
Für i=1 bis 20
Punktestand i wird berechnet
Setze Punktestand von Punktemerker j auf 0
Für j=1 bis 24
Wenn Farbe von Knoten j gleich Farbe von Punktemerker i, dann
Punktestand von Punktemerker j = Punktestand von Punktemerker j +
Punktewert der Farbe von Knoten j (siehe Farb-Punkte Tabelle)
Sonst weiter
Nächstes j
Nächstes i
Spielerpunkte
Die Punkte der Spieler ergeben sich dann aus der Punktestand Tabelle und der Farb-Punkte
Tabelle.
Punkte Rot
Setzte Punkte Rot auf 0
Für i=1 bis 20
Wenn Farbwert von Punktemerker i Rot zugeordnet ist, dann
Punkte Rot = Punkte Rot +
Sonst weiter
Nächstes i
Ebenso für Blau.
Pass-Merker
Pass-Merker auf 0.
Anzahl-Farbkanten
Anzahl-Farbkanten auf 0.
Oberfläche aufbauen
Wie oben angegeben kann man für jedes Objekt die Tabellen auslesen. Dabei eventuell noch
Farbwerte in Farben übersetzen.
Spielen
Reset
Bei Klick auf Reset initialisier Tabellen und Zeug. Neues Spiel.
Farbauswahl
Bei Klick auf Farbauswahl speichere aktuelle Grundfarbe. (Am Beginn auf Gelb initialisiert.)
Passen
Bei Klick auf Passen zähle 1 zu Pass-Merker dazu. Wenn Pass-Merker >1 dann Spielende.
Sonst setze bei allen Kanten den Ko-Merker auf Nein und wechsle den Spielermerker (mit
Anzeige am Bildschirm). (Bei einfachem Spiel braucht man kein passen.)
Kantenauswahl
Bei Klick auf Kante
Wenn Kante durch Ko gesperrt Fehler
Wenn Kantenfarbe nicht weiß Fehler
Sonst
Stelle bei allen Kanten den Ko-Merker auf Nein
Schreibe aktuelle Farbe in die angeklickte Kante
Zähle 1 zu Anzahl-Farbkanten dazu
Stelle Ko-Merker der aktuellen Kante auf Ja
Berechne Knotenfarben
Überprüfe der Reihe nach Knotenfarben auf Schwarz
Gibt es schwarzen Knoten, dann melde Ko und merke die Kanten zum
aktuellen Knoten (Knotenkante)
warte auf Klick auf Kante
Bei Klick auf Kante
Wenn keine Knotenkante Fehler
Sonst Wenn Kante durch Ko gesperrt (aktuelle Kante) Fehler
Sonst Setzte Ko-Merker der Knotenkante auf Ja
Färbe ausgewählte Knotenkante Weiß
Ziehe 1 von Anzahl-Farbkanten ab
Berechne Knotenfarben
Berechne Punktestand und Spielerpunkte
Setze Pass-Merker auf 0
Wenn Anzahl-Farbkanten = 30 dann Spielende
Wechsle Spielermerker
Anpassen Anzeige
Herunterladen