Höhlenmensch verrückt. Andere Höhlenmenschen nehmen Stock, aber Stock war für mich. Höhlenmensch Kampf !
Beschreibung
Höhlenmenschen brauchen scharfe Stöcke, um andere Höhlenmenschen zu erstechen. Andere Höhlenmenschen versuchen ebenfalls mit spitzen Stöcken zu stechen. Caveman kann Schläger schärfen, mit Schlägern stechen oder knifflige Schläger blockieren.
Wenn ein Höhlenmensch einen anderen Höhlenmenschen mit einem spitzen Stock stößt, rennt ein anderer Höhlenmensch weg und ich habe gewonnen. Aber wenn andere Höhlenmenschen klug blocken, wenn ich stoße, passiert nichts, außer dass mein Stock stumpf wird und ich wieder scharf machen muss.
Höhlenmensch faul. Auch Höhlenmensch dumm. Caveman weiß nicht, was zu tun ist, also braucht Caveman ein ausgefallenes Techno-Computerprogramm, um Caveman zu sagen, was zu tun ist.
Eingang
Die Eingabe Ihres Programms ist eine Historie der Ereignisse, bei denen S
für Schärfen (dh der Höhlenmensch hat seinen Stock geschärft), P
für Stoßen und B
für Blockieren steht. Die Eingabe ist eine Historie beider Seiten (Sie und der Gegner), sodass Ihre und die Bewegungen des Gegners durch ein Komma ( ,
) getrennt werden.
Beispiel Eingabe:
SPB,SBB
Dies bedeutet, dass der Spieler seinen Stock geschärft, dann gestoßen und dann geblockt hat und der Gegner geschärft, dann geblockt und dann wieder geblockt hat.
Sie erhalten in Runde 1 keine Eingabe.
Ausgabe
Die Ausgabe ist der Eingabe sehr ähnlich (weil der Höhlenmensch nicht sehr schlau ist). Ihr Programm sollte S
zum Schärfen, P
zum Anstoßen und B
zum Blockieren ausgegeben werden . Nur das erste Zeichen der Ausgabe wird berücksichtigt, und jede andere Eingabe wird als B
(Block-) Befehl behandelt.
S
: schärfenBeim Schärfen erhöht sich die Schärfe des Höhlenmeisters um 1 und der Stock erhält 1 zusätzlichen Stoß. Jeder Stoß verringert die Schärfe des Stocks um 1, und wenn die Schärfe des Stocks 0 ist, ist es zu langweilig, um damit zu stoßen. Die Schärfe beginnt bei 0. Wenn die Schärfe 5 erreicht, ist der Stab ein Schwert! (Siehe unten.)
Wenn der Gegner während des Schärfens drückt (und die Schärfe> 0 ist), gewinnt der Gegner!
P
: steckenBeim Stoßen sinkt die Schärfe des Höhlenmeisters um 1 und Sie stoßen Ihren Gegner an! Wenn Ihr Gegner schärft, gewinnen Sie! Wenn der Gegner stößt, trifft Ihr Schläger den Schläger Ihres Gegners und beide werden stumpfer (um 1 "Schärfeeinheit"). Wenn der Gegner blockt, passiert nichts, außer dass Ihr Schläger stumpfer wird.
Wenn Sie stoßen, wenn die Schärfe Ihres Schlägers 5 oder mehr beträgt, wird Ihr Schläger zum Schwert und Sie gewinnen immer ! (Es sei denn, dein Gegner hat auch ein Schwert und hat ebenfalls gewählt
P
. In diesem Fall werden beide stumpfer und können zu Stöcken zurückkehren, wenn ihre Schärfe unter 5 fällt.)Sie können nicht mit einer Schärfe von 0 stoßen. Wenn Sie dies tun, passiert nichts.
B
: BlockWenn Sie blocken, passiert nichts, wenn Ihr Gegner stößt. Wenn dein Gegner nicht stößt, macht der Block nichts.
Das Blockieren schützt nicht vor einem Schwert, auch wenn Sie eines haben!
Regeln und Einschränkungen
Zusätzliche Regeln sind:
- Ihr Programm kann Dateien in einem eigenen Ordner lesen und schreiben (kein Diebstahl!), Wenn Sie Daten speichern möchten, aber auf nichts außerhalb zugreifen können (und Höhlenmenschen haben keine Internetverbindung in der Wildnis).
- Wichtiger Hinweis zu Dateien : Wenn Sie Dateien speichern, denken Sie daran, diese im Verzeichnis zu speichern
players/YourBotsName/somefile.foo
! Das aktuelle Arbeitsverzeichnis für Ihr Programm wird nicht das Ihres Programms sein!
- Wichtiger Hinweis zu Dateien : Wenn Sie Dateien speichern, denken Sie daran, diese im Verzeichnis zu speichern
- Höhlenmenschen sind fair: Ein Programm kann keinen Code haben, der für ein anderes Programm spezifisch ist, und Programme können sich nicht gegenseitig helfen. (Möglicherweise haben Sie mehrere Programme, die jedoch in keiner Weise miteinander interagieren können.)
- Der Höhlenrichter ist nicht geduldig. Wenn die Höhlenmenschen mehr als 100 Runden brauchen, um einen Gewinner zu ermitteln, langweilt sich der Richter und beide Höhlenmenschen verlieren.
Wenn Ihr Programm gegen eine Regel verstößt oder nicht der Spezifikation entspricht, wird das Programm disqualifiziert, entfernt playerlist.txt
und alle Duelle werden von Anfang an neu gestartet . Wenn Ihr Programm disqualifiziert wird, kommentiert der Caveman-Leiter (ich!) Den Beitrag Ihres Programms und erklärt, warum. Wenn Sie keine Regeln brechen, wird Ihr Programm zur Bestenliste hinzugefügt. (Wenn sich Ihr Programm nicht in der Bestenliste befindet, gibt es keinen erklärenden Kommentar zu Ihrem Beitrag und Sie haben Ihr Programm vor der unten angegebenen "Zuletzt aktualisiert" -Zeit gepostet. Sagen Sie es dem Höhlenmenschenführer! Vielleicht hat er es vergessen.)
Bitte fügen Sie Ihrem Beitrag Folgendes bei:
- Ein Name.
- Ein Shell - Befehl ausführt Ihr Programm (ex.
java MyBot.java
,ruby MyBot.rb
,python3 MyBot.py
, Etc.).- Hinweis: Die Eingabe wird als Befehlszeilenargument angehängt.
- Die Höhlenmenschen verwenden Ubuntu 14.04, stellen Sie also sicher, dass Ihr Code (frei) darauf funktioniert.
- Eine Versionsnummer, wenn Ihr Code in verschiedenen Versionen der von Ihnen gewählten Sprache unterschiedlich funktioniert.
- Dein Code (offensichtlich).
- So kompilieren Sie den Code, falls erforderlich.
Controller Code / Testing, Beispiel Bot
Der Caveman-Anführer schrieb den Kontrollcode in C ++ und stellte ihn auf ein Github-Repo . Dort können Sie Ihr Programm ausführen und testen.
Ein sehr, sehr einfaches Programm (1 Zeile!) Finden Sie auch in den folgenden Antworten .
Wertung und Bestenliste
Die Wertung ist einfach. Welcher Höhlenmensch gewinnt, bekommt einen Punkt. Der Höhlenmensch mit den meisten Punkten nach 3 Duellen gegen jeden anderen Höhlenmenschen wird der neue Höhlenmenschenführer!
150 Watson
147 SpeculativeSylwester
146 Gruntt
141 BashMagnon
126 ChargerMan
125 PrisonRules
124 ViceLeader
122 MultiMarkov
122 CaveDoctor
120 RegExMan
120 Hodor
117 FancyTechnoAlgorithm
116 Semipatient
113 Watcher
108 BobCaves
105 MinimaxMan
104 Oracle
102 MaybeMarkov
97 Nash
95 Sicillian
95 Feint
95 Basilisk
94 SharpMan
93 Darwin
91 Nigel
91 JavaMan
88 Entertainer
88 CarefulBot
85 CaveMonkey
84 SSBBP
82 SirPokealot
79 MasterPoker
77 Unpredictable
76 IllogicalCaveman
75 SharpenBlockPoke
75 HuddleWolfWithStick
72 WoodenShield
68 PokeBackBot
68 PatientBlacksmith
66 PatientWolf
58 MonteCarloMan
58 BlindFury
56 BinaryCaveman
55 PokeBot
55 CavekidBlocks
53 Swordmaster
53 Blocker
52 NakedEarlyNerd
52 ModestCaveman
50 LatePokeBot
40 Trickster
39 SwordLover
38 ForeignCaveman
36 Swordsmith *
28 Touche
27 WantASword
27 FoolMeOnce
24 PeriodicalCavemanCicada
11 Aichmophobic
(Diese Rangliste wurde automatisch magisch generiert)
Spieler, die mit einem gekennzeichnet sind, *
haben irgendwann einen Fehler oder eine Ausnahme geworfen. Diese Spieler haben auch einen Kommentar zu ihren Beiträgen.
Spieler , die nicht mehr in den Tests aus irgendeinem Grunde aufgenommen werden (diese Spieler einen Kommentar über ihre Beiträge haben das Problem zu erklären): Monkey
, Elephant
, FacileFibonacci
, StudiousSylwester
.
Letzte Aktualisierung: 3. August 00:15 (UTC).