Endgültige Ergebnisse sind da!
Einführung
Das Game Takes ist stark von Manus Game of Town inspiriert . Es spielt sich in einer Welt voller Schwerter und Magie ab. Der König, der den gesamten Kontinent regierte, ist gerade gestorben, und die Herren der vielen Stadtstaaten streiten sich jetzt um das Territorium. Sie sind einer dieser Herren und Ihr Ziel ist es, jede einzelne Stadt zu erobern und zu regieren.
Prinzip
Die Leute sind in 8 Klassen unterteilt :
Warlocks : Fighter (magic)
Crusaders : Fighter (melee)
Amazons : Fighter (range)
Corsairs : Utility (steal, guard, transport)
Bishops : Utility (convert, exorcize)
Necromancers : Utility (resurrect)
Architects : Utility (build)
Peons : Resource (income, recruits)
Wenn das Spiel beginnt, regierst du über eine Stadt. In jeder Stadt leben 100 Menschen . Sie müssen sie auf diese 8 Kategorien aufteilen.
Dann beginnt das eigentliche Spiel, das rundenbasiert ist. Eine Runde besteht aus 12 Phasen , von denen 7 interaktiv sind (Bots nach einem Befehl fragen). Die nächste Phase beginnt, wenn die vorherige Phase von jeder Stadt ausgeführt wurde (Phase 1: Stadt 1, Stadt 2, Stadt 3 ...; Phase 2: Stadt 1, Stadt 2, Stadt 3 ...):
1. Raise Taxes - AUTOMATED
2. Steal Money - INTERACTIVE
3. Recruit Troops - INTERACTIVE
4. Pay Wages - AUTOMATED
5. Try Revolt - AUTOMATED
6. Convert Soldiers - INTERACTIVE
7. Attack Town - INTERACTIVE
8. Raise Corpses - INTERACTIVE
9. Move Army or Tribute - INTERACTIVE
10. Defend against Threats - AUTOMATED
11. Construct Buildings - INTERACTIVE
12. Make Children - AUTOMATED
Die Steuerung stellt Ihnen die Eingabe über Befehlsargumente zur Verfügung, Ihr Programm muss sie über stdout ausgeben.
Syntax
Ausgabe (Vorbereitung)
Bevor das Spiel startet, ruft der Controller Sie auf, ohne Argumente einzureichen. Das bedeutet, dass Sie Ihre 100 Personen in die 8 Kategorien einteilen müssen.
Sie müssen Folgendes ausgeben:
Warlocks Crusaders Amazons Corsairs Bishops Necromancers Architects Peons
Zum Beispiel: 15 10 12 10 7 5 1 40
.
Jede Stadt beginnt auch mit 500 Gold- und 5 Leichen.
Eingabe
Jedes Mal, wenn Ihr Programm aufgerufen wird, erhält es Argumente in folgendem Format:Round;Phase;YourPlayerId;YourTownId;PlayerId_TownId_Gold_Corpses_Warlocks_Crusaders_Amazons_Corsairs_Bishops_Necromances_Architects_Peons_Temples_Barracks_Estates_Palaces;PlayerId_TownId_Gold_Corpses_Warlocks_Crusaders_Amazons_Corsairs_Bishops_Necromances_Architects_Peons_Temples_Barracks_Estates_Palaces;...
Beispiel Eingabe
1;2;1;1;0_0_600_5_15_10_12_10_7_5_1_40_0_0_0_0;1_1_700_5_15_10_12_10_7_5_1_40_0_1_0_2;...
Hier sehen Sie, es ist die 1. Runde, 2. Phase, Sie sind Spieler 1 in Stadt 1. Sie haben 700 Gold, 5 Leichen, 15 Hexenmeister, 10 Kreuzfahrer, 12 Amazonen, 10 Korsare, 7 Bischöfe, 5 Nekromanten, 1 Architekt, 40 Peons, 0 Tempel, 1 Kaserne, 0 Anwesen und 2 Paläste.
Ausgabe
Siehe Gameplay.
Gameplay
Alle Phasen
Befehl W
= WAIT
Ungültiger Befehl = WAIT
Phase 1: Steuern erhöhen
Das Einkommen richtet sich nach Ihrer Bevölkerung und Ihren fertiggestellten Gebäuden:
+5 gold * Peons
+2 gold * (Warlocks + Bishops + Necromancers) * TEMPLES
+2 gold * (Crusaders + Amazons) * BARRACKS
+2 gold * (Corsairs + Peons) * ESTATES
+10 gold * PALACES
Phase 2: Geld stehlen
Während dieser Phase können Sie Geld von einer Stadt stehlen, indem Sie Korsaren schicken. Jeder Corsair kann bis zu 10 Gold stehlen (dh 12 Corsairs können bis zu 120 Gold stehlen). Wenn die Zielstadt nicht genug Gold hat, stehlen Ihre Korsaren alles, bis zur maximalen Schuldenhöhe von 200 Gold . Wenn Sie versuchen, mehr Corsairs zu senden, als Sie besitzen, verwendet das Programm alle verfügbaren Corsairs.
Befehlssyntax :S DestinationId Corsairs
Phase 3: Rekrutieren von Truppen
Hier können Sie Ihre Peons trainieren, indem Sie etwas Gold ausgeben. Sie können so viele Einheiten rekrutieren, wie Sie möchten, solange Sie über genügend Peons und Gold verfügen. Wenn Sie versuchen, mehr zu rekrutieren, als Sie tatsächlich können, rekrutiert das Spiel nach dem Zufallsprinzip, bis alles ausgegeben wurde. Das Programm berücksichtigt Ihre maximalen Quoten (wenn Sie versuchen, 10 Kreuzfahrer und 5 Amazonen mit nur 8 Schülern zu rekrutieren, werden beispielsweise 6 Kreuzfahrer und 2 Amazonen rekrutiert und nicht 8 Amazonen oder 8 Hexenmeister).
Warlock : 10 gold
Crusader : 10 gold
Amazon : 10 gold
Corsair : 12 gold
Bishop : 20 gold
Necromancer : 20 gold
Architect : 15 gold
Befehlssyntax :R Warlocks Crusaders Amazons Corsairs Bishops Necromancers Architects
Phase 4: Löhne zahlen
Die Gehälter werden nach Ihrer Bevölkerungszahl berechnet:
-1 gold * (Warlock + Crusaders + Amazons)
-2 gold * (Corsairs + Bishops + Necromancers + Architects)
Phase 5: Versuchen Sie Revolt
Wenn Ihr Kontostand negativ ist, verlieren Sie die Kontrolle über Ihre Stadt an die Outlaws . Nach einem Aufstand wird das Gold der Stadt auf den Startwert zurückgesetzt: 500 Gold . Die Bevölkerung wird auf dem aktuellen Niveau gehalten.
Phase 6: Soldaten bekehren
Jeder Ihrer Bischöfe kann 1 feindlichen Soldaten (Hexenmeister, Kreuzritter oder Amazon) aus einer ausgewählten Stadt gegen eine Gebühr von 50 Gold pro Einheit umwandeln. Die umgebauten Einheiten schließen sich den in Ihrer Stadt stationierten Streitkräften an. Wie bei der Rekrutierung wird das Programm unter Einhaltung der Quoten nach dem Zufallsprinzip konvertiert, wenn Sie nicht genügend Gold oder Bischöfe zur Verfügung haben.
Befehlssyntax :C DestinationId Warlocks Crusaders Amazons
Phase 7: Stadt angreifen
Sie können eine Armee von Hexenmeistern, Kreuzfahrern und Amazonen schicken, um eine Stadt zu erobern. Wenn Sie versuchen, mehr zu senden, als Sie haben, sendet das Programm alle.
Die Soldaten erhalten einen Kampfbonus von 1,5 nach folgendem Muster: Mage > Range > Melee > Mage
(dh ein Hexenmeister, der gegen einen Amazon kämpft, erhält 1,5 Kraft). Nur die Einheiten, die darüber hinausgehen, erhalten diesen Bonus (dh ein Hexenmeister, der gegen einen Hexenmeister und einen Amazonen kämpft, erhält diesen Bonus nicht). Der Bonus wird sowohl der Offensive als auch der Defensive zugerechnet.
Die Verluste werden zufällig auf die Einheiten des Siegers verteilt, je nach der geringeren Gesamtstärke (dh Angriffsstärke: 12 vs. Verteidigungsstärke: 14, Verteidigung gewinnt und verliert 12 Einheiten). Der Verlierer verliert alle seine Einheiten. Jede tote Einheit wird zu den Leichen der angegriffenen Stadt hinzugerechnet. Wenn die Offensive gewinnt, wird die Stadt erobert und gehört nun dem Angreifer. Er behält auch das Gold, die Leichen und die Peons, die in dieser Stadt waren. Korsare, Bischöfe, Totenbeschwörer und Architekten fliehen vor möglicher Unterdrückung.
Die Verteidigung bekommt nichts.
Befehlssyntax :A DestinationId Warlocks Crusaders Amazons
Phase 8: Leichen erheben
Jeder deiner Nekromanten kann bis zu 5 Peons wiederbeleben, indem er Leichen verbraucht und Gold ausgibt. Jeder auferstandene Peon kostet 1 Leiche und 20 Gold. Wenn Sie versuchen, mehr als möglich wiederzubeleben, gibt das Programm alles aus, was Sie haben.
Befehlssyntax :R Corpses
Phase 9: Armee oder Tribut bewegen
Sie können Einheiten in eine andere Stadt senden. Wenn Sie versuchen, mehr zu senden, als Sie haben, sendet das Programm alle.
Befehlssyntax :M DestinationId Warlocks Crusaders Amazons Corsairs Bishops Necromancers Architects
Oder Sie können Gold senden, indem Sie die Schiffe von Corsairs chartern. Jeder Korsar kann bis zu 200 Goldstücke transportieren . Wenn Sie versuchen, mehr zu senden, als Sie haben, sendet das Programm das, was Sie haben.
Befehlssyntax :T DestinationId Gold
Phase 10: Gegen Bedrohungen verteidigen
Mehrere Bedrohungen, die deiner Stadt schaden könnten:
- Zombies: Die Toten sind nicht immer so tot, wie sie aussehen. 10% (mit Fußboden) der Leichen in Ihrer Stadt werden erwachen und Gehirne essen. Jeder Zombie frisst 1 Peon und wandert dann ins Nichts (Leichen beider Zombies und gegessener Peons werden verzehrt).
- Dämonen: Eure Peons müssen Predigten hören, sonst rufen sie Dunkle Geister an. Jeder Ihrer Bischöfe deckt den Bedarf von bis zu 50 Peons. 10% Ihrer Ketzer (Peons im Übermaß) bringen Dämonen hervor. Dämonen töten jeweils 1 Peon und kehren in die Hölle zurück.
- Banditen: Outlaws wohnen in der Nachbarschaft. Die Gesamtbevölkerung der Outlaws wird gerecht zwischen den Städten aufgeteilt und zum Diebstahl von Reichtum geschickt. Ihre einzige Verteidigung sind Ihre Corsair-Patrouillen. Jeder Corsair kann bis zu 5 Outlaws stoppen. Jeder Verbrecher, der nicht gestoppt wurde, stiehlt deiner Stadt 10 Gold (die maximale Stadtschuld beträgt 200 Gold).
Zu Beginn des Spiels wird mindestens 1 Stadt der Outlaws (100 Einwohner) generiert, danach 1 weitere für jeweils 5 Spieler (dh 1-4 Spieler: 1 Outlaws, 5-9 Spieler: 2 Outlaws ...). Geächtete können mit erkannt werdenid = -1
Phase 11: Gebäude bauen
In dieser Phase schreitet der Bau der Gebäude in Ihrer Stadt entsprechend der Anzahl der Architekten voran. Jeder Architekt erhöht die Fertigstellung eines einzelnen Gebäudes um 8%. Wenn ein Gebäude 100% erreicht, ist es fertiggestellt und kann in der nächsten Phase "Steuern" Einnahmen generieren. Die Konstruktionswarteschlange wird automatisch verwaltet (Wer zuerst kommt, mahlt zuerst).
Sie können dann auch mit dem Bau anderer Gebäude beginnen (BuildingId = Letter in Klammern):
TEMPLE (T) : 200 Gold
BARRACKS (B) : 200 Gold
ESTATE (E) : 200 Gold
PALACE (P) : 500 Gold
Sie können mit dem Bau beliebig vieler Gebäude beginnen. Wenn Sie nicht über genügend Gold verfügen, werden Gebäude ignoriert. Der Bau Ihrer neuen Gebäude beginnt erst in der nächsten Runde.
Befehlssyntax :B BuildingId BuildingId BuildingId ...
Phase 12: Kinder machen
Alle fünf Runden (Runde 5, 10, 15 ...) werden neue Peons geboren und sind bereit zu kämpfen. Jedes Peonenpaar macht 1 Peon (dh 23 Peons erzeugen 11 neue Peons).
Regeln
- Bots sollten nicht geschrieben werden, um bestimmte andere Bots zu schlagen oder zu unterstützen.
- Das Schreiben in Dateien ist erlaubt. Bitte schreibe an "yoursubmissionname.txt", der Ordner wird vor Spielbeginn geleert. Andere externe Ressourcen sind nicht zulässig.
- Ihr Beitrag hat 1 Sekunde Zeit, um zu antworten (pro Stadt).
- Stellen Sie Befehle zum Kompilieren und Ausführen Ihrer Übermittlungen bereit.
Gewinnen
Gewinner ist der mit den meisten Städten nach 100 Runden. Wenn ein Spieler alle Städte erobert, stoppt das Spiel und er gewinnt. Wenn mehrere Spieler die gleiche Anzahl von Städten haben, zählt die Gesamtbevölkerung, dann die Menge an Gold.
Regler
Sie finden den Controller auf Github. Es enthält auch 2 Beispielbots, die in Java geschrieben wurden. Öffnen Sie es in Eclipse, platzieren Sie die kompilierten Bots im Stammordner und fügen Sie dem Steuerungsprogramm eine Klasse hinzu (genau wie die Samplebots).
Kämpfe
Die Kampfformel sieht ungefähr so aus:
Für jede Soldatenklasse (Hexenmeister, Kreuzritter, Amazon):
- Berechnen Sie das Gleichgewicht zwischen Angriff und Verteidigung (dh wer hat mehr von jeder Klasse und wie viele mehr?)
- Sehen Sie für die überschüssigen Soldaten (dh Wert des positiven Gleichgewichts), wie viele "schwache Ziele" (siehe Phase 7-Diagramm) es gibt.
- Multiplizieren Sie die Kampfstärke der berechtigten Soldaten (dh "schwache Ziele" im Vergleich zu "überzähligen Soldaten") mit dem Bonus und addieren Sie den Rest mit einer Kampfstärke von 1.
Sie können hier einen Simulator ausprobieren: http://ideone.com/ArJosE (ändern Sie einfach die Werte der Soldaten, Sie erhalten Boni und Gesamtstärken)
Hier einige Testfälle:
Attack Defense A. Bonus D. Bonus A. Str D. Str Winner
20/10/0 12/12/12 8/0/0 0/2/10 34.0 42.0 Defense
40/0/5 12/12/12 12/0/0 0/12/0 51.0 42.0 Attack
0/60/8 10/30/2 0/10/6 8/0/0 76.0 46.0 Attack
20/20/40 90/5/5 0/15/5 40/0/0 90.0 120.0 Defense
Endgültige Ergebnisse
Durchschnitt von 10 Spielen. Syntax :Player(Towns, Population, Gold)
1. Opportunist(6.4, 4165, 2895626)
2. Politician(6.4, 1048, 42542)
3. Outlaw(2.8, 1575, 349073)
4. YoungEarl(0.4, 3424, 941624)
5. Aegis(0, 0, 0)
. Butter(0, 0, 0)
. Commander(0, 0, 0)
. Lannister(0, 0, 0)
. Machiaveli(0, 0, 0)
. Monarch(0, 0, 0)
. Serenity(0, 0, 0)
. Sehtimianer(0, 0, 0)
. Sleeper(0, 0, 0)
. Zealots(0, 0, 0)
Ergebnisse von 10 Spielen: http://pastebin.com/GdufEYjm
Komplette Protokolle von 2 Spielen: http://pastebin.com/GQDZ0JdY & http://pastebin.com/m3UBTDuC
Gut gespielt, der Kampf zwischen Politikern und Oppotunisten war sehr eng.
The total Outlaws population is divided equitably between towns and sent to steal wealth.
Wie viele Banditen gibt es insgesamt?