Questions tagged «king-of-the-hill»

丘陵之王表示一种游戏,在此游戏中,提交内容以某种形式的游戏进行交互并相互竞争。在没有交互的情况下使程序相互竞争的竞赛应该使用[code-challenge]。

30
这个数字是-2的整数次幂吗?
有很多聪明的方法来确定数字是否为2的幂。这不再是一个有趣的问题,因此让我们确定给定的整数是否为-2的整数次幂。例如: -2 => yes: (-2)¹ -1 => no 0 => no 1 => yes: (-2)⁰ 2 => no 3 => no 4 => yes: (-2)² 规则 您可以编写程序或函数,并使用接收输入和提供输出的任何标准方法。 您的输入是一个整数,如果该整数是-2的整数次幂,则输出必须是一个真实值,否则,则必须是一个虚假值。不允许其他输出(例如警告消息)。 通常的整数溢出规则适用:您的解决方案必须能够在语言的假设(或实际)版本中使用任意大整数,默认情况下,所有整数都是无界的,但是如果您的程序由于实现而在实践中失败不支持大整数,这不会使解决方案无效。 您可以使用任何编程语言,但是请注意,默认情况下,这些漏洞是禁止的。 获奖条件 这是一场代码高尔夫球比赛:字节数最少(在您选择的编码中)的答案是获胜者。

26
制作平方字
挑战 您的任务是创建一个程序,该程序接受任何给定的字符串输入,并以平方格式输出输入。空字符串应返回一个空字符串。 例子 给定输入: golf 您的程序应输出: golf o l l o flog 输入: 123 输出: 123 2 2 321 输入: a 输出: a 输入: Hello, world! 输出(注意,和之间的空格-间隙不只是换行符): Hello, world! e d l l l r o o , w w , o o r l l l d e !dlrow …

4
让我们玩Meta井字游戏吧!
让我们玩Meta井字游戏! 这是Meta tic-tac-toe 的山峰赛。井字游戏的规则如下: 井字游戏的所有常规规则均适用。 安排了九个板以组成一个主板。像这样: 0|1|2 || 0|1|2 || 0|1|2 ----- || ----- || ----- 3|4|5 || 3|4|5 || 3|4|5 ----- || ----- || ----- 6|7|8 || 6|7|8 || 6|7|8 ======================== 0|1|2 || 0|1|2 || 0|1|2 ----- || ----- || ----- 3|4|5 || 3|4|5 || 3|4|5 ----- || ----- …

4
Splix.io-大地之王
您是一个有进取心的人,希望增加其控制下的土地。这很简单-离开您当前的土地,然后循环回到您的土地,该循环中的所有东西现在都归您所有。但是有一个问题!如果其他点以某种方式找到您的循环并穿过该循环,则您将死亡。 如果尚未尝试过,请转到Splix.io并尝试游戏。使用箭头键控制您的移动。 GIF 图片来源:http://splix.io/ 细节 所有玩家都从200x200板上的随机位置开始。(我保留更改此内容的权利:)。您将有一定数量的动作来积累尽可能多的积分。得分如下: 您杀死的玩家人数乘以300 一轮结束时您拥有的土地数量 这就提出了别人可以偷走你的土地的观点。如果他们开始了与您的某些土地相交的循环,那么他们可以要求它。如果您在回合中死亡,则该回合的所有分都将丢失。 每个回合都有一个随机选择的玩家组(最多5个唯一的玩家)(可能会发生变化)。每个玩家都参加相同数量的回合。您的机器人的最终得分取决于其平均每游戏得分。每个游戏包括2000回合(可能随时更改)。所有漫游器都同时移动。 死亡案件 头屁股 两名球员在彼此对撞时死亡。即使两个玩家都在自己的空间边缘,这仍然是正确的。 但是,当只有一名玩家在他的土地上时,另一名玩家死亡。 线交叉 在这种情况下,只有紫色玩家死亡。 你不能越过自己的界限。 退出董事会 如果玩家试图退出棋盘,他将死亡并失去所有积分。 捕获区域 玩家在有足迹并再次进入自己的土地时将占领区域。 红色填充在两条红线之间。玩家不填写的唯一情况是其他玩家进入循环。需要明确的是,这仅在其他玩家本人处于循环中时才适用,而不仅仅是他所拥有的土地。玩家可以从另一个人手中夺取土地。如果玩家无法填写其足迹周围的区域,则足迹将直接转换为正常土地。如果另一个玩家落地循环中的玩家死亡,则该循环中的区域将被填充。每次玩家死亡时,都会重新检查棋盘上可以填充的区域。 控制器详细信息 控制器在这里。它与原始游戏非常相似,但由于技术原因,已进行了一些小的改动以使其更适合KotH。它是使用@NathanMerrill的KotHComm库构建的,并且在@NathanMerrill的大力帮助下也是如此。如果您在聊天室的控制器中发现任何错误,请告诉我。为了与KotHComm保持一致,我在整个控制器中都使用了Eclipse集合,但是只能使用Java集合库来编写机器人。 一切都打包在github版本页面上的uberjar中。要使用它,请下载它并将其附加到您的项目中,以便可以将其用于自动完成(IntelliJ的说明,Eclipse)。要测试您的提交,请使用运行jar java -jar SplixKoTH-all.jar -d path\to\submissions\folder。确保path\to\submissions\folder有一个名为的子文档java,并将所有文件放在此处。不要在您的机器人中使用程序包名称(尽管KotHComm可能会使用它,但这只是麻烦一点)。要查看所有选项,请使用--help。要加载所有机器人,请使用--question-id 126815。 写一个机器人 要开始编写机器人,必须先扩展SplixPlayer。 Direction makeMove(ReadOnlyGame game, ReadOnlyBoard board) 在这里,您可以决定要让机器人执行哪一步。不得返回null。 HiddenPlayer getThisHidden() 获取的HiddenPlayer版本this。对于将您的机器人与主板进行比较很有用。 enum Direction 价值观 East (x = 1; y …

30
蛋糕切割比赛
这是我的17岁生日,您被邀请参加我的聚会! 和往常一样,聚会上会有蛋糕。 一个蛋糕 而且您需要尽可能多的东西。 因为这是一场公平的聚会,所以我们每个人都会说我们要多少蛋糕,而说最少蛋糕的人会得到。然后其他所有人都可以重复该过程,直到蛋糕消失了。 挑战 通过命令行参数给定形式的输入total-degrees degrees-left total-people people-left,输出到标准输出integer-bid-in-degrees。 如果您的出价最低,那么您将获得该蛋糕的金额,并可以进行一轮回合。 如果您的出价不是最低的,您的机器人就可以对剩余的蛋糕进行出价。 在最低出价相同的情况下,将随机选择被撤职的人。 在回合结束时,一旦所有蛋糕都消失了,或者没有人可以竞标,蛋糕最多的人将获胜! 如果在回合结束时两个人有相同大小的最大筹码,则从抽奖条目中随机选择获胜者。 游戏玩法 将进行17轮比赛,总体获胜者将是总体上获胜最多的作品。 在平局的情况下,将进行回合,直到有明确的获胜者为止。 每天,我都会更新当前分数,以便人们可以升级其条目。 投稿 您应该将条目写为 机器人名称,语言 Insert Code Here 说明/随机的东西在这里 如果您的条目未采用这种格式设置,则控制器将无法运行您的条目。如果我发现您输入的内容已发生这种情况,我会在评论中通知您,和/或将答案编辑为正确的格式。 您的条目和文件存储 您的漫游器可能会将文件存储在./data/目录中,而不能在其他地方存储文件。 不需要,但请将您的文件存储为 botname* 如果botname不是您的条目名称,则不能以这种格式写文件。 这意味着您可以覆盖发现的其他未以这种格式显示的文件。您不应该故意这样做,请运动。 您的漫游器不得假定其所需的文件存在,但可以假定./data/存在。 这是因为我偶尔会擦拭./data目录,因此在回合实际开始时会执行此操作。(但不在他们之间) 您的漫游器可能根本不会删除文件 您的漫游器仅允许读取目录中的./data/文件 这意味着您可以查看其他条目文件 结果: 米克赢得了比赛!做得好@ Cabbie407 现在,获取一些随机统计信息: 每个机器人进入的位置列表:(对出现在此列表中的任何机器人都做得很好,您至少进入了前5名!) 米克,米克,精神病,精神病,米克,精神病,精神病,米克,米克,米克,俏皮,米克,Givemethecake,Givemethecake,Givemethecake,Givemethecake,Meek,Eidetic Eidetic,Eidetic,Meek,AlCakeSurfer,Eidetic,AlCakeSurfer,Meek,MyFairPlusAThird,Eidetic,Eidetic,Eidetic,Eidetic,MyFairPlusAThird,MyFairPlusAThird,Meek,MyFairPlusAThird,AlCakeSurfer Reallythecake,AlCakeSurfer,AlCakeSurfer,Meek,AlCakeSurfer,Meek,AlCakeSurfer,AlCakeSurfer,Reallythecake,AlCakeSurfer,Meek,MyFairPlusAThird,Eidetic,Eidetic,Eidetic,Eidetic,Reallythecake AlCakeSurfer,Reallythecake,MyFairPlusAThird,MyFairPlusAThird,MyFairPlusAThird,MyFairPlusAThird,MyFairPlusAThird,Eidetic,AlCakeSurfer,MyFairPlusAThird,MyFairPlusAThird,Relinquisher,RelinquishersPlus,帐单,账单, 法案,MyFairPlusAThird,法案,法案,法案,法案,Relinquisher,法案,MyFairPlusAThird,Relinquisher,法案,Reallythecake,法案,ALittleOffTheTop,ALittleOffTheTop,法案,法案 可以在此处找到运行时彗星的完整日志文件。抱歉,格式更改尚需时日。 我将不再运行竞赛,如果您想发布更多条目,欢迎这样做,可以在我的github仓库中找到该竞赛的控制器。

20
战略投票,游戏
单赢者选举最常见的投票系统之一是复数投票法。简而言之,得票最多的候选人获胜。但是,从数学上讲,多元投票是不合理的,并且容易造成选民被驱使投票赞成“两个邪恶中的较小者”,而不是他们真正喜欢的候选人。 在这个游戏中,您将编写利用多个投票系统的程序。它将在选举中为三名候选人之一投票。每个候选人都为自己带来一定的回报,而您的目标是使您的预期回报最大化。 收益是“均匀地”随机分布的,随每次选举而变化,并增加到100。候选人A可以拥有40收益,候选人B可以拥有27收益,候选人C可以拥有33收益。每个玩家都有一组不同的收益。 轮到您投票时,您将获得不完整的信息。下面列出的是您将可以使用的信息。由于您不知道其他玩家的个人收益是多少,因此根据当前的投票结果预测他们如何投票将是您的挑战。 到目前为止的部分选举结果 尚未投票的参与者(不包括您自己)的数量 您为每位候选人的个人收益 每个候选人的团体总收益 在给每个玩家投票的机会之后,投票最多的候选人将按照多次投票获胜。然后,每个玩家都会收到与该候选人的收益相对应的积分数。如果票数相等,则分配的分数将是并列候选人的平均值。 比赛结构 首次实例化时,将告知参赛者在锦标赛中举行的选举次数。我将尝试进行大量的选举。然后,每次选举将一一进行。 参加者洗牌后,每个人都有投票权。他们只能获得上面列出的有限信息,并返回一个数字表示他们的投票。每次选举结束后,将为每个漫游器提供最终的民意调查结果,并从该选举中增加其得分。 在举行了许多次选举之后,得奖者将是总分最高的人。控制器还通过将每个参赛者的得分与为随机投票机器人预测的得分分布进行比较来计算每个参赛者的“标准化”得分。 提交内容 提交将采用Java 8类的形式。 每个参赛者必须实现以下接口: public interface Player { public String getName(); public int getVote(int [] voteCounts, int votersRemaining, int [] payoffs, int[] totalPayoffs); public void receiveResults(int[] voteCounts, double result); } 您的构造函数应采用一个int作为参数,该参数将代表将举行的选举次数。 该getName()方法返回要在排行榜上使用的名称。这样您就可以拥有格式精美的名称,只是不要发疯。 该getVote(...)方法返回0,1或2以表示将获得投票的候选人。 该receiveResults(...)方法主要是为了实现使用历史数据的更复杂策略的存在。 您几乎可以创建任何其他想要记录和处理提供给您的信息的方法/实例变量。 比赛周期,扩大 每个参赛者都以实例化new …

20
最终武士摊牌
注意:这个特大号的最山上的挑战已经完成。这意味着,已将C5H8NNaO4的绿色对号标记为“观察员”的条目,该标志不会被移至任何新答案。 您可能仍会提交新的参赛作品,但是由于我不再积极检查新的参赛作品,因此新比赛的运行​​可能会有所延迟。 介绍 在此挑战中,您正在玩​​名为“终极武士对决终极版特别版2.0 X Alpha Omega Turbo”(或简称为终极武士对决)的街机游戏。你的对手?除了Programming Puzzles&Code Golf的其他成员,别无其他! 正如您可能会从PPCG街机游戏中期望的那样,您不会直接玩Ultimate Samurai Showdown,而是编写了一个可以为您玩游戏的程序。该程序将与其他用户一对一决斗提交的程序作斗争。最熟练的程序将被冠以PPCG的终极武士,并获得传奇的绿色标记。 游戏说明 本节描述了游戏背后的机制。 胜利条件 一场比赛由两个互相对峙的武士组成。每个武士每场比赛都会获得20 点生命和1 点荣誉。如果他的对手死了并且他还活着,那么武士就会获胜。武士可以通过两种方法死亡: 如果武士的生命值降低到0,他会死。 如果武士将自己的荣誉降低到 0 以下,他将因在对决中不诚实的举止而被诸神击倒。 被神击倒比将生命值降低到0更高,因此在一个武士的生命值为0,而另一个武士的荣誉为-1的情况下,拥有0生命值的武士将获胜。在两个武士都获得-1荣誉的情况下,他们俩都被众神击倒,比赛平局。 一场比赛由最多500 圈。如果所有500转都过去了,而且比赛尚未确定(两个武士都没有死),众神会变得无聊,击倒两个武士,从而导致平局。 动作 在每个回合中,武士必须完全执行以下操作之一: W 武士应等待,不采取任何行动。这使他看起来很酷,但无助于击败对手。这也是默认操作。 B 武士应以光荣的方式向对手鞠躬。这使众神满意,因此武士将获得1点荣誉。荣誉是你的武士的成功是至关重要的,因为荣誉基本上是“资源”为这场比赛-除了所有的移动B,并W能减少荣誉。另外,如果武士获得7点或以上的荣誉,他将被允许使用众神之剑。其含义如下所述。 但是,如果对手决定用剑击打,向对手鞠躬会使您保持打开状态,因此在选择鞠躬时要当心。 G 武士应进入防御位置,并防止剑击。此举将成功地阻止所有的剑击,即使是用众神之剑制造的剑击。 但是,众神对防御过度的武士不以为然,因此,如果此武士在前一回合中的行动也保持警惕,则此举将消耗1点荣誉。否则它不会消耗荣誉。 I 武士将试图从剑鞘中快速抽出剑来打击对手。如果武士获得7点或以上的荣誉,他将使用众神之剑而不是普通的剑。此举消耗1点荣誉。 快速平局是一种快速打击,可以击败较慢的开销攻击,但是会招架招架失败。如果打击成功连接,将对众神之剑造成1点伤害或2点伤害。 P 武士将尝试阻止任何来袭,然后发动自己的攻击。如果武士获得7点或以上的荣誉,他将使用众神之剑而不是普通的剑。此举消耗1点荣誉。 招架是对付快速打击的良好策略,但缓慢的高架攻击将使其无法承受。如果打击成功连接,将对众神之剑造成1点伤害或2点伤害。 O 武士将尝试以较慢的开销攻击来打击他的对手。如果武士拥有7点或以上的荣誉,他将使用众神之剑而不是普通的剑。此举消耗1点荣誉。 高架罢工可以压制招架,但会因快速罢工而损失。如果打击成功连接,将对众神之剑造成1点伤害或2点伤害。 众神之剑 荣誉达到7级或以上的武士可以使用众神之剑。如果他的荣誉降低到7以下,使用万神之剑的能力将被取消。的神的剑造成2损伤而不是1。 在众神之剑不允许罢工击败剑击,它通常不会失败。例如,众神之剑的招架仍然将输给普通的空中打击,众神之剑的快速抽牌不会压倒普通的快速抽牌。确实,所谓的众神之剑实际上并没有那么强大-也许这是众神扮演的宇宙笑话... 互动表 下面的堆栈摘录包含一个表,该表显式列出了两个武士可以采取的不同动作组合的所有可能结果。要查看它,请单击“显示代码片段”,然后单击“运行代码片段”。 …

22
基本ASCII提示
替代标题:在墙上统计您的监狱判决 给定一个数字n,输出记录分为传统的每组5个和每行50个。 例子 1个 | | | | 4 |||| |||| |||| |||| 5 |||/ ||/| |/|| /||| 6 |||/ | ||/| | |/|| | /||| | 50 |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| |/|| |/|| …
36 code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

23
嘈杂的囚徒困境
在此挑战中,您将扮演吵杂的囚徒困境。 在囚徒困境是博弈论中一个场景,其中有两名球员,每两种选择:合作或者缺陷。如果每个球员都缺阵,他们会为自己做得比他们合作时更好。 反复犯人的困境是相同的游戏,只是您反复与同一个对手比赛,并且您知道对手过去玩过什么。您的目标始终是为自己积累最高分,而不管对手的表现如何。 嘈杂的囚徒困境使沟通变得有些混乱。您对对手过去玩过的游戏的了解会带来一些干扰。您还将了解过去的举动。面对同一个对手的回合中,噪声率是恒定的,但是不同回合之间的噪声率却不同。 挑战 在这个挑战中,您将编写一个Python 3程序来解决嘈杂的被囚徒的困境。 您的程序将收到三个输入: 您自己的动作,无需应用随机翻转。 对手的动作,并应用随机翻转。 状态变量,每轮以一个空列表开头,可以根据需要进行修改。如果您不想使用它,则可以忽略它。 您的程序应输出'c'以配合或'd'缺陷。 例如,这是一个程序,如果对手过去至少60%的时间在应用了随机翻转之后并且在前10次翻转中进行了合作,则该程序可以进行合作: def threshold(my_plays, their_flipped_plays, state): if len(their_flipped_plays) < 10: return 'c' opp_c_freq = their_flipped_plays.count('c')/len(their_flipped_plays) if opp_c_freq > 0.6: return 'c' else: return 'd' 如果您不了解Python,请使用伪代码编写提交内容,然后某个人(我或该站点的另一个成员)可以制作相应的Python程序。 游戏玩法 比赛亚军可以在这里找到:noisy-game。运行noisy-game.py以运行锦标赛。我将使用新提交的内容更新该存储库。示例程序可以在中找到basic.py。 程序的总体得分是其在100多个游戏中得分的总和。 游戏由每个玩家与每个玩家(包括其自身)的循环赛对决组成。一场对决包括100发回合。一回合包含300个动作,每个动作涉及输出'c'或'd'。 您的提交将与每个提交(包括您自己的提交)进行对战。每场比赛将进行100场比赛。在每个回合中,翻转概率将从中均匀地随机选择[0, 0.5]。 每回合将包含300步。在每次移动时,两个程序都将收到他们尝试过的所有先前播放的声音,以及在应用了翻转之后另一个程序已经做出的所有先前播放的声音,以及一个状态变量,该变量是可变的列表,程序可以根据需要对其进行修改。程序将输出其动作。 动作得分如下:如果一个程序播放a 'c',则相反的程序将获得2分。如果某个程序播放'd',则该程序将获得1分。 然后,以等于翻转概率的概率独立地翻转每个动作,并存储以显示给对手。 在完成所有回合之后,我们求和每个对战中每个球员获得的积分。然后,我们使用以下评分系统来计算每个玩家的游戏得分。在所有比赛完成后执行此评分。 计分 我们将使用进化评分。每个程序以相等的权重开始。然后,使用游戏中的总点数,权重更新如下,进行100次迭代: 每个程序的新权重与之前权重和平均总分的乘积成正比,再乘以其对手的权重。 …

22
打雪仗KoTH!
结果(UTC 2017年5月22日21:40:37) Master赢了18轮,输了2轮,并绑了0轮, Save One赢了15轮,输了3轮,并绑了2轮, Machine Gun赢了14轮,输了3轮,并绑了3轮, Monte Bot赢了14轮,输了3轮,并绑了3轮, Amb Bot赢了12 轮局,输掉8局,并绑0局, Coward赢了11局,输了3局,绑了6局, Pain in the Nash赢了11局,输了9局,绑局0局, Nece Bot赢了10局,输了7局,并绑了3局, Naming Things is Hard赢了10局,输了7局,并列3局, The Procrastinator赢得了10局,输了8局,并列了2局, Yggdrasil赢得了10局,输了10局,并列了0局, Simple Bot赢得了9局,输了4局,并列了7局, Table Bot赢得了9局,并输了6局。局,并列5局 Prioritized Random Bot获胜8局,输掉7局,并列5局 Upper Hand Bot赢了7轮,输了13轮,并绑0轮, Aggressor赢了6轮,输了10轮,并绑了4轮, Insane赢了5轮,输了15轮,并绑0轮, The Ugly Duckling赢了4轮,输了16轮,并绑了0轮, Know Bot赢了3局,输掉14局,并并列3局, Paranoid Bot赢得了0局,输了19局,并列了1局, Panic Bot赢得了0局,输了19局,并列了1局 不幸的是,我无法测试The Crazy X-Code …

9
蛇化字符串
修饰后的字符串如下所示: T AnE eOf ifi ing h s x l A k e r isI amp Sna dSt 你的任务 取一个字符串s和一个size n,然后输出连串的字符串。输入ThisIsAnExampleOfaSnakifiedString和3将产生上面的示例。 技术指标 s 只会在代码点33和126之间(含端点)包含ASCII字符(不包含空格或换行符)。 s 长度在1到100个字符之间。 n是一个整数,代表每个输出字符串段的大小。组成“蛇”中曲线的每一行字符(上/下或左/右)都是n字符长。有关示例,请参见测试用例。 n 介于3到10之间(含3和10)。 输出字符串始终开始指向下方。 每行上都可以使用尾随空格。 在输出末尾也可以尾随换行符。 不允许前导空格。 code-golf表示以字节为单位的最短代码获胜。 测试用例 a 3 a ---------- Hello,World! 3 H Wor e , l llo d! ---------- ProgrammingPuzzlesAndCodeGolf …
35 code-golf  string  ascii-art  code-golf  code-golf  string  balanced-string  decision-problem  code-golf  string  geometry  grid  code-golf  tips  lisp  code-golf  quine  tips  king-of-the-hill  code-challenge  math  code-golf  string  palindrome  math  fastest-code  code-golf  string  counting  code-golf  code-golf  internet  code-golf  quine  source-layout  hello-world  code-golf  math  number  sequence  arithmetic  code-golf  ascii-art  grid  code-golf  number  grid  code-golf  string  crossword  code-golf  code-golf  ascii-art  grid  counting  code-golf  code-golf  math  sequence  arithmetic  number-theory  code-golf  code-golf  graphical-output  geometry  random  code-golf  ascii-art  grid  counting  code-golf  string  ascii-art  code-challenge  test-battery  code-golf  string  code-golf  ascii-art  kolmogorov-complexity  code-golf  interpreter  code-golf  math  sequence  code-golf  math  primes  set-partitions  code-golf 

24
Stack Exchange证券交易所〜修订[关闭]
背景 你们都是一家信誉稍差的股票公司的交易员。你们都是一群只关注一只特定股票的交易员的一部分。 每个交易员每个小时都有机会买入X股或卖出X股。每回合有50小时,每场比赛有3个回合。在所有回合结束时,具有最高平均价值的商人将赢得前往牙买加的旅行! 游戏玩法 有3轮,每轮50圈。 每个交易者以$ 5000和20到30股之间的随机数开始这一轮交易。股票的价格从10到150之间的随机数开始。 每个交易者每回合可以购买其负担得起的任何数量的股票或出售其当前持有的任何数量的股票,每种股票的价格为当前每股价格。 每股价格对所购买的每股价格增加1到5之间的一个随机数,对每股所销售的股票降低2到6之间的一个随机值。最低价格为1美元。 重要的是要注意,所有交易者都同时处理他们的交易,这意味着任何交易者买卖股票都不会影响价格,直到下一回合。 在三回合结束时具有最高平均值的玩家获胜。价值是通过计算一轮结束时剩余的金额并加上交易者拥有的股票数量*收盘价来确定的。 争论 您的程序将在每个回合开始时重新运行,并接收当前的市场价格,交易者的当前金额以及该交易者拥有的股票数量。 例如: 120 5000 0 输出量 您的交易者程序必须输出与要执行的操作相对应的字母,并跟随其数量。 例如: B10 //Buy 10 shares 要么 S3 //Sell 3 shares 交易者还可以选择不做任何改变。这可以通过输出W或不是'B> amnt <'或'S> amnt <'的任何其他命令来完成 意见书 您的程序将位于“ players /> /您的程序名称<”目录中: +-- players | +-- BotNameFolder | +-- BotProgram 请提供您的代码以及命令行参数,以从“ players”目录中运行该代码。例如,Test1交易者可以与java -cp …

19
1P5:囚徒困境
此任务是“第一次定期Premier Programming难题推送”的一部分,旨在演示新的“挑战之王” 提案。 任务是编写一个程序,比其他参赛者更好地发挥被囚徒的困境。 看,温妮。我们认识您的室友-他叫什么名字?是的,Nippo-Irish-Ukranian黑帮老大McWongski忙得不可开交,您知道这是什么。 Vinnie,我们在这里努力要好。给你一个机会。 如果您告诉我们他的计划,我们将为您分配好工作。 如果你不... 游戏规则 比赛由一次完整的循环赛(所有配对)组成,两名选手同时参加(包括自我比赛)。 每对之间进行100轮比赛 在每个回合中,要求每个玩家在与对方玩家合作或背叛他们之间进行选择,而无需知道对方的意图,但要记住与对手对战的结果。 基于组合选择,每一轮都将获得积分。如果双方都合作,他们将分别获得2分。相互背叛产生1分。在混合情况下,背叛者获得4分,而合作者则受到1分的惩罚。 我将在发帖后的10天内进行一次“正式”比赛,我将开始处理所有提交的作品,并用于选择“接受的”获胜者。我有一个Mac OS 10.5盒子,所以POSIX解决方案应该可以工作,但是有Linuxisms不能。同样,我不支持win32 API。我愿意尽一切努力安装东西,但是有一个限制。我的系统的限制绝不代表可接受的响应的限制,只是代表那些将包含在“正式”匹配中的响应。 程序员界面 条目应采用可以从命令行运行的程序的形式。决定必须在标准输出上显示程序的(唯一!)输出。与该对手进行的前几轮比赛的历史将作为命令行参数显示。 输出可以是“C”(对于蛤向上)或“t”(对于告诉所有)。 历史记录是单个字符串,代表以前的回合,而最早的回合则最早出现在字符串中。字符是 “ K”(表示保持信念,意味着相互合作) “ R”(因为老鼠b @ st @ rd把我卖了!) “ S”(傻瓜!意味着您从背叛中受益) “ E”(因为每个人都在寻找相互背叛的第一名) 支架 作者将提供四名选手 天使-永远合作 魔鬼-总是会说话 TitForTat-在第一轮进行合作,然后总是像在上一轮那样 随机-50/50 我将在其中添加所有可以运行的条目。 总分将是所有对手的总分(包括一次自我比赛,并使用平均分)。 参赛者 (截至2011年5月2日7:00) 秘密握手 | 反T42T导弹 | 不信任(变数) | 防握手 …

15
城镇游戏
介绍 游戏发生在不同城镇的小世界中。城镇的统治者彼此憎恨,并希望统治世界。人民分为战士和低年龄两组。但是,低龄者可以抚养战士。您是其中三个城镇的统治者。 游戏玩法 游戏开始时,您将统治三个城镇。每个城镇有100人。您必须将它们分为骑士和低龄者。 然后,基于回合的实际游戏开始。转弯看起来像这样:"Produce" knights=> execute command of first town=> execute command of next town(对所有城镇重复)=> try a rebellion。 每回合,将为属于您的每个城镇调用您的程序。您可以攻击城镇,支持城镇或只是等待。这些动作将顺序执行,而不是同时执行。 每隔三回合,每2个低出生者就会得到一个骑士(23个低出生者=> 11个骑士)。低出生者的数量保持不变。 城镇内的骑士的防御加成为1.2。如果您受到攻击,则您的骑士将乘以该数字(例如78 knights,93 knights在攻击中您将拥有)。攻击后,多余的骑士将被移除(如果82 knights生存,您将仍然拥有78 knights)。 在进攻中,每个骑士在杀死敌人之前都会杀死敌人。例如:30 knights攻击100 knights(没有防御加成)=> 70个骑士可以生存。 您可以通过杀死城镇中的所有骑士来占领城镇。现在所有低出生者都属于您,您尚在世的骑士都驻扎在小镇上。在下一轮中,除了所有其他城镇之外,您还可以统治该城镇。 占领一个城镇后,它不会获得2个完整回合的防御加成(因为城门被打破了)。第三轮,将修复大门。 为了防止低矮人叛乱,您需要的骑士至少是低矮人的一半(一个镇上的23个低矮人在同一镇上需要至少12个骑士)。否则,低矮的士兵将杀死所有骑士,城镇将变成“中立”(无领导者,由PlayerId指示-1)。 中立城镇将“生产”骑士,但不会攻击也不支持任何其他城镇。 句法 控制器通过命令参数为您提供输入,您的程序必须通过stdout输出。 输出(准备) 在游戏开始之前,控制器将调用您的提交而没有参数。这意味着您必须将100个人(每个镇)分配给骑士和低龄者。KnightCount KnightCount KnightCount例如,您需要输出95 80 95。 输入 Round;YourPlayerId;YourTownId;PlayerId_TownId_knights_lowborns;PlayerId_TownId_knights_lowborns;... 在第一轮中,将类似 1;2;2;0_0_100_0;1_1_50_50;2_2_80_20。在这里,您看到这是第一轮比赛,您是城镇2的玩家2。您有80个骑士和20个低胎。 在游戏的后期,它可能类似于20;2;1;0_0_100_0;2_1_30_50;2_2_40_20。您仍然是玩家2(永远不变),但是您占领了城镇1(您现在正在控制)。 输出 A …

29
美元钞票拍卖
这是美元博弈游戏理论上的KOTH挑战。其中,一美元被卖给出价最高的人。出价以5美分递增,失败者也支付出价。他们的想法是,为了减少损失,两家公司都将竞标战争升级到远远超过一美元的价值。 希望您的机器人比这更聪明。 您将通过扩展net.ramenchef.dollarauction.DollarBidder课程来创建一个玩这种游戏的机器人。nextBid给定另一个机器人的先前出价,您必须实现返回机器人的下一出价的方法。如有必要,您还可以使用该newAuction方法为对手的机器人等级进行每次拍卖重置。 public abstract class DollarBidder { /** * Used by the runner to keep track of scores. */ long score = 0; /** * (Optional) Prepare for the next auction. * * @param opponent The class of the opponent's bot. */ public void newAuction(Class<? extends DollarBidder> opponent) {} …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.