logicall(SenderID, Action)
Call | Broadcasts | Returns | Erläuterungen |
---|---|---|---|
giveUp |
giveUp(ID) | None | beendet das Spiel und macht einen Broadcast wer aufgegeben hat |
newPlayerPossible |
None | boolean , |
Gibt true oder false zurück und Bei true Informationen über die anderen Spieler. |
init |
None | n* playerinfo |
Sendet die Spielerinfos |
deletePlayer |
None | boolean |
löschte einen Spieler vor dem Beginn des Spiels und dekrementiert die ID der nachfolgenden Spieler |
playerCount |
None | playerCount |
Anzahl der Spieler |
goalsReturned |
None | boolean |
Eine Liste aller zurückgegeben Zielkarten (allgemein), bei false Nachricht an Client goalsReturnedFail |
sendGoals |
None | goal |
Verteilt drei Zielkarten vom Stapel. |
goalReached |
None | goalReached(GoalID) | Überprüft welche Ziele eines Spielers bereits abgeschlossen sind und sendet pro abgeschlossenem Ziel eine Nachricht mit der GoalID an dn Client der anfragt |
setName(Name) |
playerinfo |
None | Setzt den Namen und macht einen Broadcast mit der Änderung |
setColor(ColorID) |
playerinfo |
ctrue, cfalse | Setzt die Spielerfarbe und macht einen broadcast mit der Änderung |
buildRoute(Start, End, WStack, RouteColor) |
playerinfo |
player |
Baut eine Route, wenn fehlgeschlagen buildRouteFail an Client |
drawCard(openStack, CardID, Color) |
playerinfo , update_ostack , ggf. currentPlayer |
player |
Zieht die CardID-te Karte vom offenen Stapel (ostack ), bei false Nachricht an Client drawCardFail gibt über Color die gezogene Farbe zurück |
drawCard(stack,_,-1) |
playerinfo, currentPlayer | player |
Zieht eine Karte vom Stapel. gibt über Color -1 zurück (für unbekannt) |
start (Admin Only) |
update_ostack |
forall: player |
Initialisiert den Öffentlichen Wagenkartenstapel (update_ostack ) und aktualisiert die Spieler (player ) |
Send-Predicate (an Client) | Erläuterungen |
---|---|
cstatus(playerinfo(ID, Name, Wagons, Points, ListOfRoutes, NumOfGoals, NumOfWagonCards, Color)) |
Öffentliche Spielerinformationen |
cstatus(player(ID, Name, ListOfGoals, WStack, Wagons, Points, ListOfRouts, Color)) |
Private Spielerinformationen, am Ende öffentlich |
cgoal([ID1, ID2, ID3], Status) |
Eine List von Zielen, die zur Auswahl steht. Status=0 -> Initialisierungsphase, Status=1 -> Spielphase |
cupdate_ostack(C1,C2,C3,C4,C5) |
C1..C5 sind Kartentypen (vgl. Manual) |
cplayerCount(Count) |
Spieleranzahl |
ccurrentPlayer(ID) |
Du bist der aktuelle Spieler. |
wstack(ListOfColors) |
Eine Liste mit der Anzahl der verschieden Farben (z.B. [5, 3, ..., 2] für 5 violette, 2 weiße, ... und 2 Joker-Karten) |
clastGameLoop |
Letzt Runde! |
cendOfGame |
Ende des Spieles, Berechnung erfolgt und wird gesendet. |
clongestPath([path(ID,ListOfPathRoutes),…]) |
Längste Strecke - Info |
cwinner(ID) |
Der Gewinner! |
ctrue / cfalse |
Wenn aktion erfolgreich bzw aktion nicht erfolgreich war |
cgiveUp(ID) |
Spieler gibt im Spiel auf |
cbuildRouteFail |
Route kann nicht gebaut werden |
cgoalsReturnedFail |
Ziele können nicht zurückgegeben werden (Zu wenig Ziele, Falsche Ziele) |
cgoalsReached(List) |
Liste von allen Zielen des anfragenden Spielers mit 0 für nicht erfüllt, 1 für erfüllt |
cdrawCardFail |
Karte konnte nicht gezogen werden (tritt ein wenn zweite Karte zbsp Joker ist) |
crouteUsed(Route,Mode,PlayerID) |
Sagt, dass PlayerID die Route Route mit dem Modus Mode belegt. |
Send-Predicate (an Kommunikation) | Erläuterungen |
---|---|
snzurueckok(ID, ZielZuruckCount | wenn das Zurückgeben von Zielen erfolgreich war, mit Anzahl der zurückgegebenen Zielen |
snzurueckfail(ID) | Zielkarten können nicht zurückgegeben werden |
snkarteok(ID, CardID) | Karte gezogen hat funktioniert, CardID = -1 für vom Stack gezogen, CardID=0...9 für FarbID die vom offenen Stapel gezogen wurde |
snkartefail(ID) | siehe drawCardFail |
snsteckeok(ID, route(Start, Ziel, Länge, FarbID)) | Wenn Streckenbau ok |
snstreckefail(ID) | Wenn Streckenbau fehlgeschlagen ist |
Status | Pädikat | Erläuterungen |
---|---|---|
Done | goal(Start, End, Points) | Repräsetiert eine Zeilkarte |
Done | wstack([Color1, ... Color9]) | Repräsentiert einen Wagenkartenstapel, Color1 .. Color9 geben die Anzahl der farbigen Karten an, Color9 = Joker |
Done | cstack(wstack) | Stapel von verdeckten Wagenkarten |
Done | gqueue(ListOfFreeGoals) | Eine Liste der im Stapel vorhandenen Ziele, 0 = TOS |
Done | currentPlayer(ID, Phase) | ID ist die Farb-ID (0..6), Phase der Zustand (Spieler am Zug keine Auswahl getroffen 0, Karte ziehen 1..2; Ziel ziehen 3..4; Strecke bauen 5..6) |
Done | player(ID, Name, ListOfGoals, wstack, Wagons, Points, ListOfRoads, Color) | ID bestimmt die Farbe, wstack ist ein Kartensptapel (vgl. Definition) |
Done | town(Name) | Eine Stadt |
Done | route(Start, End, Length, Color) | Eine Strecke einer Länge und einer Farbe (0..9) |
Done | pointTrans(Length, Points) | Transformation einer Stecke zu Punkten |
Status | Prädikat | Erläuterungen |
---|---|---|
Done | newPlayerPossible(ID) | gibt zurück ob ein neuer Spieler angemeldet werden, wenn true, wird eine ID vergeben und ein Spieler erzeugt |
Done | setName(ID,Name) | Setzt den Namen eines Spielers |
Done | start | Startet und initialisiert das Spiel (Ziele mische und Karten verteilen) und verteilt Zielkarten |
Done | karteziehen(offen, ID) | offen beschreibt ob eine offene Karte gezogen werden soll, ID beschreibt die Position der Karte |
Done | karteziehen(stack) | zieht eine Karte vom Stack |
ToDo | zielziehen | zieht drei Ziele vom Stapel (ID der Ziele können übergeben werden) |
Done | zielziehen(ListOfRückgabe) | Liste von Karten die nicht gewählt werden sollen |
Done | zugbauen(Start, Ziel, ListOfFarben) | List von Farben sind Anzahlen der genutzten Farben (Liste mit 9 Elementen) |
--
AlexisEngelke --
21 Feb 2012