Sie sind ein ausländischer Händler und hoffen, einen Gewinn zu erzielen. Es gibt 5 Güter, mit denen Menschen handeln möchten: A
Prikosen, B
Ruder, C
Anaries, D
Affodilien und E
Perücken. Ab dem Winter müssen Sie entscheiden, was produziert werden soll. Im Herbst reisen Sie dann und verbringen Ihren Handelstag mit Gewinn.
Gameplay
Sie starten das Spiel mit 10 von jedem Produkt im Speicher. Jedes Jahr verbrauchen Sie 2 von jedem Produkt.
Zu Beginn des Spiels erhalten Sie eine Liste mit 5 Produkten sowie die Menge, die Sie pro Jahr produzieren können (z. B 5-A,6-B,3-C,12-D,4-E
. :) . Sie geben dann die Buchstaben A bis E zurück, um zu entscheiden, was produziert werden soll.
In der Herbstzeit bringen Sie dann Ihre Produkte (einschließlich der gelagerten) auf den Markt. Sie haben 50 Runden, um zu handeln.
Sie müssen sich entscheiden, ob Sie den Markt P
kaufen, erobern S
oder erobern möchten L
. Die Käufer werden dann zufällig mit den Verkäufern gepaart. Wenn eine Gruppe Extra hat, werden die zufälligen Extras in dieser Runde verpasst. Wenn ein Händler übersprungen wird, erhält er S
ansonsten T
. Der Verkäufer muss entscheiden, was er verkaufen möchte 3-A
und welchen Betrag (z. B. ) und was er dann akzeptieren würde (z. B. 5-B,2-D,1-E
) (Die Werte sind beliebige von nicht allen ). Dem Käufer wird dann mitgeteilt, welches Produkt der Verkäufer verkauft, welche Produkte der Verkäufer dafür nimmt, und er kann ein Produkt auswählen, für das er handeln möchte (z. B. D
oder X
für nichts).
Nachdem alle Trades vorbei sind oder nachdem Sie den Markt verlassen haben, verbrauchen Sie 2 von jedem Produkt und das Jahr beginnt von vorne. Wenn Sie weniger als 2 von 1 Produkt haben, werden Sie sterben (und bestanden Q
).
Ihre Punktzahl wird die Anzahl der Jahre sein, die Sie zuletzt gespielt haben, und nach 50 Spielen wird Ihre Punktzahl für Ihre Gesamtpunktzahl gemittelt.
Optionale Züge
Sie können jederzeit zurückkehren G
, um Ihre Waren abzufragen
Sie können jederzeit zurückkehren N
, um die Anzahl der neuen Produkte in Ihrem Inventar abzufragen (die im letzten Jahr von einem beliebigen Spieler hergestellt wurden und neue Produkte werden vor alten Produkten gehandelt).
Sie können jederzeit T
für die aktuelle Turn-Phrase zurückkehren: P
roduce, M
arket oder T
rading
Während eines Handels können Sie I
nach einer Kennung fragen, die für den Spieler eindeutig ist, mit dem Sie handeln.
Während eines Handels können Sie zurückkehren M
, um die Anzahl der handelnden Personen abzufragen
Wie man es codiert:
Sie können jede Standardsprache verwenden und müssen einen command.txt
Befehl zum Ausführen Ihres Programms angeben.
Der allgemeine Ablauf Ihres Programms sollte sein:
Get productivity
While alive:
Output product you want to produce
While in trading:
Output whether you want to purchase or sell
Get whether or not you were skipped. If not skipped:
If purchasing:
print product you offer, and products you will accept
Else:
Get product offered, products being accepted, and choose the product you will give
Ich habe ein Tester Programm hier . Erstellen Sie dazu einen Ordner im Bots-Ordner mit dem Namen Ihres Bots. Fügen Sie ein command.txt
, Ihr Programm und alles andere hinzu, was Ihr Programm benötigt. Ich werde Einsendungen hinzufügen, sobald sie eingehen. Wenn Sie nicht die erforderlichen Sprachen installieren möchten, um einige oder alle auszuführen, müssen Sie nur die Datei command.txt im Ordner des Bots löschen.
Innenleben
Für jedes eingereichte Programm gibt es 5 Bots. Die ID ist für Bots desselben Typs unterschiedlich.
Ich werde die Menge nennen, die eine Person ein bestimmtes Produkt produzieren kann, die Produktivität. Jedes Produkt erhält eine Basisproduktivität, wobei sich die gesamte Basisproduktivität auf 30 summiert. Es wird sichergestellt, dass eine der Bewertungen höchstens 3 und alle mindestens 2 beträgt.
Dann weicht die Produktivität jedes Spielers von der Basisproduktivität ab (Ein Wert ändert sich um +2, ein weiterer um +1, dann um +0, -1 und der verbleibende Wert ändert sich um -2).
Die Grundproduktivität ändert sich von Spiel zu Spiel.
Scores:
seer: 10.128 years
level_headed_trader: 8.196 years
introvert: 6.856 years
random_ando: 5.408 years
hoarder_trader: 4.12 years
ratio_trader: 3.532 years
scared_trader: 3.056 years
quelle
(10 players + 4 my bots)*5
Händler. Das Spiel ist so eingerichtet, dass es unmöglich ist, dass ein Spiel für immer weitergeht. Irgendwann wird jeder sterben.q
, ob Sie übersprungen wurden, und wenn Sie kaufen, das Angebot des Verkäufers und die akzeptierten Produkte. Ich hoffe, die Eingaben sind offensichtlich.Antworten:
Seher
Dieses Programm sagt die Zukunft voraus und er wählt die Geschäfte aus, die seine erwartete Lebensdauer verlängern.
Dies ist nicht vollständig abgeschlossen, da er nur weiß, wie man Dinge kauft, aber nicht verkauft. Erwarten Sie also ein Update in der Zukunft. Unabhängig davon glaube ich, dass er so wie er ist wettbewerbsfähig sein wird.
Ich führe dieses Programm so aus:
quelle
$| = 1
am Anfang hinzufügen . Tun Sie dies bitte für Ihre nächste Revision. Auch dein Bot hat es nicht so gut gemacht. Um die Ergebnisse anzusehen: pastebin.com/yaDprHPqBesonnener Trader
Dieser Bot versucht, seine Mengen so gleich wie möglich zu machen
command.txt
leveller.py
quelle
Erschrockener Händler
Dieser Trader vermeidet niedrige Zahlen
command.txt
ängstlich
quelle
Hoarder Trader
Dieser Händler versucht so viele Produkte wie möglich zu bekommen.
command.txt
hoarder.py
quelle
Verhältnis Trader
Dieser Bot bietet Produkte an, die dem Verhältnis seiner Produktivität entsprechen
command.txt
ratio.py
quelle
Familienbauern - Java
Die fünf Landwirte der Familie geben ihr Bestes, um alle Produktionsoptionen abzudecken, und wer auch immer in einer Kategorie das Beste daraus machen kann, arbeitet in dieser Kategorie. Nach den ersten Einsätzen streiken die Familienmitglieder jedoch alle für sich; sie kollidieren nicht nach den anfänglichen Aufgaben. Ich kann es schaffen, dass sie sich gegenseitig beim Handeln helfen.
FamilyFarmers.java
command.txt
Es kann mit kompiliert werden
Es sollte auch eine weitere leere Datei, family_billboard.txt, im Ordner bots / family_farmer vorhanden sein.
quelle
Introvertiert - Java
Dieser Bot ist so introvertiert, dass er lieber stirbt als mit irgendjemandem im Handel zu sprechen, und verlässt sofort den Markt, wenn er da ist. Es will jedoch nicht sterben, also versucht es, seine Vorräte so lange wie möglich aufrechtzuerhalten.
Introvert.java
command.txt
Kompilieren mit
Hinweis: Ich habe dies in der Mittagspause gemacht und mein Arbeitscomputer verfügt weder über das JDK noch über Python, sodass ich es überhaupt nicht testen konnte. Wenn es nicht funktioniert, lassen Sie es mich wissen und ich werde versuchen, es zu beheben.
quelle
q
Nachricht zu akzeptieren ). Ihr geänderter Code ist auf Github (mit dem Hauptprojekt)Zufälliger Ando
Jeder KOTH sollte einen zufälligen Bot haben. Es ist hoffentlich so codiert, dass keine ungültigen Geschäfte getätigt werden (wie der Versuch, mehr zu verkaufen, als auf Lager ist).
command.txt sollte sein:
quelle
bad argument #1 to 'randomseed' (number expected, got no value)
Zeile 3