Sharp PC1360 Taschencomputer
 

 Sharp PC1360

Hexagon-Spiel - Dokumentation


Javascriptprogramm
Listing ansehen/laden
Programmspeicher-Image laden


Hexagon ist ein Denkspiel nach folgenden Regeln:

Hexagon-Spiel auf CE-140P Zwei Spieler müssen abwechselnd die sechs Eckpunkte eines Hexagons (Sechseck) mit Linien verbinden. Jeder Spieler verwendet eine bestimmte Farbe. Wer zuerst mit den Linien seiner Farbe ein Dreieck bildet bzw. bilden muss, hat verloren.

Zur Theorie des Spiels:

Insgesamt gibt es 15 Linien, die in dem Hexagon gezogen werden können. Das bedeutet, dass der Spieler, der beginnt, 8 Linien zieht, der andere hingegen nur 7.
Spätestens mit der achten Linie muss man aber ein Dreieck bilden, so dass der Beginer leicht im Nachteil ist.

Programmablauf:

Der Taschencomputer macht einen der beiden Spieler. Das Programm wird mit [DEF] [ H ] gestartet.
Nach dem Eingangsbild, dass während der Initialisierung der Variablen erscheint, ist der Spielername mit max. 12 Zeichen einzugeben.
Anschließend können durch Eingabe von [ J ] [ENTER] die Spielregeln ausgegeben werden. Jede andere Eingabe führt zur nächsten Abfrage "Mit Plotter? <J/N>" Hier kann durch Eingabe von [ J ] [ENTER] bewirkt werden, dass das Linienzeichnen auf dem Plotter verfolgt werden kann.
Das nebenstehende Bild zeigt das Ergebnis eines Spiels.

Unabhängig von der Plotterausgabe kann der Spielverlauf auf dem Display verfolgt werden.
Der Beginner wird automatisch nach der letzten Abfrage per Zufallsgenerator ausgelost. Es erscheint also entweder "Ihr Zug:" oder "ich denke ..." mit anschließendem "... und ziehe".
Ist der Spieler am Zug, so kann mit den Zifferntasten oder den Cursor-auf-/ab-Tasten der Punkt ausgewählt werden, von dem die Linie starten soll. Der ausgewählte Punkt wird durch Blinken im Display und Ausgabe der Nummer hinter "von:" gekennzeichnet und muss mit [ENTER] eingegeben werden.
Anschließend wird auf die selbe Weise der Punkt ausgewählt, an dem die Linie enden soll.
In beiden Fällen ist der Vorgabewert der Punkt Nr. 1.
Wird für "von:" und "nach:" die selbe Punktnummer eingegeben oder ist die so definierte Linie schon gezogen, erscheint "FEHLEINGABE!" und nach [ENTER] ist der Zug zu wiederholen.
Nach Abschluss der Eingabe wird die Linie im Display durchgezogen und ggf. auf dem Plotter rot gezeichnet.
Ist der Rechner am Zug, so erscheint zunächst für die Dauer der Analyse "ich denke ..." und danach "... und ziehe" mit den Endpunkten der Linie, die der Rechner zieht. Diese wird dann im Display punktiert und ggf. auf dem Plotter grün gezeichnet.
Der Zug des Rechners muss mit [ENTER] quittiert werden und der Spieler ist wieder am Zug.
Wird vom Spieler oder vom Rechner ein Dreieck gezeichnet, ist das Spiel beendet, und die Ecken des Dreiecks werden im Display fett bzw. ggf. auf dem Plotter violett ausgefüllt gezeichnet. Die Punktnummern der Ecken werden ausgegeben.

Arbeitsweise des Programms:

Vor jedem Zug bewertet der Rechner jeden noch möglichen Zug mit einer der 11 nachfolgend aufgeführten Prioritäten:

Die Linie ...

  1. schließt ein Dreieck des Rechners, d.h. der Rechner hat verloren.
  2. schließt ein Dreieck des Spielers.
  3. schließt ein gemischtes Dreieck.
  4. verbindet zwei Punkte, von denen je eine Linie jeder Farbe ausgehet ("gemischte Punkte").
  5. verbindet einen gemischten Punkt und einen, von dem nur eine Linie ausgeht.
  6. verbindet zwei Punkte, von denen jeweils eine Linie des Rechners ausgeht (vgl. Priorität Null!).
  7. verbindet einen Punkt, von dem eine Linie des Rechners ausgeht, mit einem, von dem eine Linie des Spielers ausgeht.
  8. verbindet zwei Punkte, von denen keine Line des Rechners ausgeht.
  9. berührt einen Punkt, von dem keine Linie ausgeht.
  10. verbindet einen Punkt, von dem keine, und einen von dem keine Linie des Rechners ausgeht.
  11. verbindet zwei Punkte, von denen keine Linien ausgehen.

Diese Liste entstammt dem Buch "Computer-Denkspiele" von Fischer-Logo.

Der Rechner zieht die am höchsten bewertete Linie; sind mehrere gleich hoch bewertet, entscheidet der Zufallsgenerator.

Speicherorganisation

Der Zustand der 15 möglichen Linien wird im Feld L(14,4) gespeichert:

L(...,0) = Anfangspunkt der Linie
L(...,1) = Endpunkt der Linie
L(...,2) = Zustand:
0 = noch nicht gezogen
1 = vom Rechner gezogen
2 = vom Spieler gezogen
L(...,3) = Bewertung der Linie gem. vorstehender Prioritätenliste
L(...,4) = Liste aller am höchsten bewerteten Linien (= 1. Index in L)

Welche Linie mit welchem ersten Index in L korreliert, geht aus dem Indexfeld I(5,5) hervor: z.B. I(2,3)=9 bedeutet, dass L(9,...) die Linie von Punkt 3 zum Punkt 4 beschreibt.
Die Anzahl Linien, die von jedem der sechs Punkte ausgeht, wird im Feld P(5,1) protokolliert: Z.B. beinhaltet P(3,0) die Anzahl Linien des Rechners, die vom Punkt 4 ausgehen und P(3,1) die Anzahl Linien des Spielers, die vom Punkt 4 ausgehen.



Javascriptprogramm
Listing ansehen/laden
Programmspeicher-Image laden



Zur Übersichtstabelle



Home
Falls diese Seite ohne Navigationsleiste angezeigt wird, aktivieren Sie Javascript oder klicken Sie hier!