Questions tagged «king-of-the-hill»

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

2
玩Yahtzee游戏
在Yahtzee游戏中,玩家轮流滚动5个6面骰子,每回合最多3次,有可能在掷骰子之间节省骰子,然后选择他们希望用于掷骰子的类别。这将继续进行,直到没有其他类别(在13圈之后发生)。然后,计算出玩家的分数,得分最高的玩家获胜。 类别如下(“骰子总和”是指将指定骰子上的点数相加): 上段 王牌:骰子总和显示1点 二进制补码:骰子的总和示出2点 Threes:骰子总和显示3点 Fours:骰子总和显示4点 法夫:骰子总和显示5点 Sixes:骰子总和显示6点 下段 三种:3个相同价值的骰子,总和是所有骰子的总和 同一样四个:4个相同值的骰子,总和是所有骰子的总和 客满:3个骰子带一个值,另外2个带另一个值,得分为25 小直:4个连续骰子,得分为30 大直:5个连续骰子,得分为40 Yahtzee:所有5个相同价值的骰子,得分为50 机会:骰子的任何组合,分数是所有骰子的总和 关于类别选择,有一些规则: 如果玩家选择与自己的掷骰不符的类别,则该类别的得分为0。 如果玩家在上半部分至少获得63分,他们将获得35点奖励积分。 如果玩家掷出Yahtzee,但Yahtzee类别已经被占用(另一个Yahtzee-错过0则不计入),他们将获得100分的奖励。此奖金是在第一个Yahtzee之后颁发的。 此外,玩家还必须选择填写类别。他们必须选择与他们的掷骰相对应的上半部分类别(例如,在Sixes类别中必须放置5 6的掷骰)。如果已经使用了对应的上节类别,则Yahtzee可以用于下节类别(在这种情况下,选择“满屋”,“小平直”或“大平直”将奖励正常数量的积分,而不是0分)。如果采用了所有下半部分类别,则Yahtzee可以应用于得分为0的未使用的上半部分类别。 挑战 在此挑战中,竞争对手将参加Yahtzee的1000场比赛。每场比赛结束时,得分最高的参赛作品将获得1分。所有游戏结束后,得分最高的作品将获胜。如果出现平局,将仅使用并列提交项来玩其他游戏,直到并列打破。 控制者 完整的控制器代码可在此GitHub存储库中找到。以下是玩家将与之互动的公共接口: public interface ScorecardInterface { // returns an array of unused categories Category[] getFreeCategories(); // returns the current total score int getScore(); // returns …

24
囚徒困境v.3-Petri困境
一位疯狂的科学家刚刚创造出一种新细菌!他决定将其命名为Noblus Gentlemanus,观察其行为后。但是,他的细菌已经用完了食物,并宣战了,因为它们能够收获其他细菌的尸体以获取足够的食物来复制自身。该细菌有许多不同的亚种,在玩他们最喜欢的囚徒困境时有不同的策略。每个不同亚种都有5种细菌。在《囚徒困境》中,两个玩家中的每一个都同时选择缺憾或合作。如果一个玩家选择合作,而另一个选择默认,则默认者获得2分,而合作者则损失3分。如果双方选择合作,双方将获得1分。如果两个玩家都选择默认值,则两个玩家都将失去1分。 作为贵族绅士,这种细菌决定通过玩200轮漫长的囚徒困境游戏来打赢这场战争。每个决斗的失败者都会自杀,从而使胜利者得以自我克隆。如果打成平手,两种细菌都将保持存活,但两者均无法克隆。此外,一场比赛中的所有细菌都会将其点数的10%携带到下一场比赛中。克隆携带克隆它的细菌的各个点。同样,每轮细菌有十分之一的机会突变为另一种亚种,获得0分(如果我收到对此随机性的投诉,可以将其删除)。在细菌打出的决斗数量等于细菌的亚种数量乘以十之后,疯狂的科学家不小心掉落了细菌所在的培养皿,所有细菌都获得了新的食物来源,结束了决斗。这与普通的迭代囚徒困境竞赛不同,因为它涉及带有结转分数的1v1决斗,而不是简单地尝试总体上获得最高分数。这在给定策略的有效性方面有很大的不同。 每个细菌将在回合开始时以以下格式输入:(回合编号,当前点,敌人点,您之前的举动[以字符串形式,以字符“ c”表示合作,以字符“ d”表示缺陷) ],敌人先前的举动[格式相同])。 这里将输入四个样本策略。我实际上认为Defector可能会获胜,尽管它非常简单。 针锋相对 def titfortatfunc(counter, mypoints, enpoints, mylist, enlist): if counter==0 or enlist[counter-1] == "c": return "c" else: return "d" 随机选择 from random import choice def randompickfunc(counter, mypoints, enpoints, mylist, enlist): if counter == 199: return "d" else: return choice(["d", "c"]) 合作者 def cooperatorfunc(counter, …

3
查找字符串中的模式
在这种挑战下,您的任务是找到具有给定结构的子字符串。 输入项 您的输入应为两个非空的字母数字字符串,一个模式 p和一个text t。这个想法是,的每个字符都p代表一个连续的非空子字符串,t该子字符串彼此相邻出现,并p表示它们的串联。相同的字符对应于相同的子字符串。例如,模式aa代表任何非空正方形(通过将较短的字符串与其自身连接而获得的字符串)。因此,模式aa可以匹配子字符串byebye,并且每次a匹配bye。 输出量 如果文本t包含p匹配的子字符串,则您的输出应为该子字符串,并:在与的字符相对应的字符串之间插入冒号p。例如,如果我们有t = byebyenow和p = aa,那么bye:bye它是可接受的输出。匹配子字符串可能有多个选择,但是您只能输出其中之一。 如果t不包含匹配的子字符串,则您的输出将是悲伤的表情:(。 规则和说明 的不同字符p可以对应相同的子字符串,因此p = aba可以匹配字符串AAA。请注意,这些字符必须对应于非空字符串;特别是,如果p长于t,则输出必须为:(。 您可以编写完整的程序或函数,还可以更改两个输入的顺序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 以格式给出pattern text -> output。注意,可能存在其他可接受的输出。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

9
不对称KOTH:抓住猫(捕手的线)
不对称的KOTH:捉住猫 更新: 由于Controller.java没有捕获到异常(仅错误),因此更新了主要文件(包括新的次要任务)。现在,它确实可以捕获错误和异常并打印它们。 这个挑战包括两个线程,这是捕手线程,猫线程可以在这里找到。 控制器可在此处下载。 这是不对称的KOTH:每个提交物都是猫还是捕手。每对猫和捕手之间都有游戏。猫和捕手的排名各不相同。 捕手 六角形网格上有一只猫。您的任务是尽快捕获它。每转一圈,您都可以在一个网格单元上放置一个水桶,以防止猫能够去那里。但是猫不是(也许)那么笨,每当您放置一个桶时,猫就会移动到另一个网格。由于网格是六角形的,因此猫可以向6个不同的方向移动。您的目标是用水桶包围猫,速度越快越好。 猫 您知道捕手想通过在您周围放水桶来接住您。当然,您会尝试逃避,但是由于您是一只懒惰的猫(就像猫一样),您当时确实迈出了一步。这意味着您不能待在同一个地方,而是必须移至周围的六个景点之一。每当您看到捕手放了一个新的水桶时,您就会转到另一个牢房。当然,您会尽力逃避。 格网 网格是六边形的,但是由于我们没有六边形的数据结构,因此我们采用一个11 x 11二维二维数组,并模仿该六边形的“行为”,即猫只能在6个方向上移动: 拓扑是环形的,这意味着如果您踩到阵列“外部”的单元格,您将被转移到阵列另一侧的相应单元格。 游戏 猫从网格中的给定位置开始。捕手可以先走,然后猫及其捕手交替走动,直到猫被抓到为止。步骤数是该游戏的分数。猫试图获得尽可能高的分数,捕手试图获得尽可能低的分数。您参与的所有游戏的平均总和就是您提交的分数。有两个单独的等级,一个用于猫,一个用于捕手。 控制者 给定的控制器是用Java编写的。作为捕手或猫,您每个人都必须完成一个Java类(已经有一些原始示例)并将其放在players包中(并更新Controller类中的猫/捕手列表),但是您也可以编写该类中的其他功能。控制器附带了简单的cat / catcher类的每两个工作示例。 该字段是一个11 x 11二维int数组,用于存储单元格当前状态的值。如果一个单元格为空,则它具有值0;如果有一只猫,则它具有值-1;如果有一个存储桶,则有一个值1。 您可以使用一些给定的功能:isValidMove()/ isValidPosition()用于检查您的移动(类别)/位置(类别)是否有效。 每次轮到您时,takeTurn()都会调用您的函数。参数包含当前网格的副本,并具有类似于read(i,j)读取处的单元格的方法(i,j),以及isValidMove()/ isValidPosition()检查答案是否正确的方法。这也可以管理环形拓扑的环绕,这意味着即使网格只有11 x 11,您仍然可以访问单元格(-5,13)。 该方法应返回一个int包含两个元素的数组,这些元素代表可能的移动。对于猫来说,{-1,1},{0,1},{-1,0},{1,0},{0,-1},{1,-1}它们代表了猫想去的位置的相对位置,而捕手则返回了他们想要放水桶的位置的绝对坐标{i,j}。 如果您的方法产生无效举动,则您的提交将被取消资格。如果在您的目的地已经是一个铲斗或不允许该举动/目的地已被占用(作为猫),或者如果已经有一个铲斗/猫(作为捕手),则该举动被视为无效。您可以使用给定的功能事先检查一下。 您的提交应该工作得相当快。如果您的方法每个步骤花费的时间超过200毫秒,则也将被取消比赛资格。(最好少得多...) 程序可以在步骤之间存储信息。 意见书 您可以根据需要进行任意数量的提交。 请不要显着改变您已经提交的提交。 请每个提交一个新的答案。 每个提交最好都具有唯一的名称。 提交内容应包括您班级的代码以及可以告诉我们您提交内容如何工作的描述。 您可以在<!-- language: lang-java -->源代码前写一行,以自动突出显示语法。 计分 所有猫都将与所有捕手竞争相同的次数。我将尝试经常更新当前分数,当活动减少时将确定获胜者。 这项古老的Flash游戏启发了这一挑战 感谢@PhiNotPi进行测试并提供一些建设性的反馈。 当前分数(每对100场比赛) Name …

4
如何从DDOS的互联网恢复
互联网失败。DDoS攻击现在非常普遍。由您决定控制和修复互联网。 每个漫游器将控制此网络中的20个节点。每个节点都是活动的或安全的,具有所有者,并且具有从2开始的强度。每个活动节点都连接到所有其他活动节点。 每转一圈,您将收到所有活动节点及其强度的列表。对于您拥有的每个活动节点,您可以: 指定一个活动节点,您要将其全部力量转移到该节点,或 保存并增强其强度 然后会发生以下情况,以便: 选择保存其强度的节点将使其强度增加1。 所有选择转移其强度的节点都将同时将其全部强度转移至新节点。 如果一个节点从敌方节点转移了力量,则会发生攻击。如果敌方拥有者集体转移的力量大于原始拥有者(和所有其他攻击者),则该敌人将成为新拥有者。然后,该节点的强度变为攻击者的强度。如果实力并列,那么将随机选择所有者。 所有没有任何强度的节点都将被视为安全节点,并向所有者分配1分。 在100个回合中进行100场比赛后,所有游戏中拥有最安全节点的所有者将获胜。编辑:我将其从2000更改为100转,因为最后1900转没用 IO 您将通过以下方式(通过命令行args)传递活动节点列表: F20 F4 E7 E2 E20 F2 F指定该节点为友好节点,并E指定该节点为敌人。 对于每个友好节点,您都应通过以下方式返回操作(通过STDOUT): 0,0 1,3 5,0 上面的意思是您想增加第一个节点的强度,使用第二个节点攻击第四个节点,最后一个节点将把它的强度传递给第一个节点(如果没有人攻击它,它将成为一个安全节点)。 返回后,您的程序应退出。 计分板 累计3240分 优雅得了2370分 dumbot获得2262分 random_bot获得1603分 smarter_random_bot获得1319分 stable_bot获得1097分 控制器可以在这里找到:https : //github.com/nathanmerrill/NetAttack

2
Snakepit的食物短缺
Snakepit的食物短缺 蛇窝是35年以来的第一次,粮食已经耗尽。现在,居住的蛇必须互相搏斗,以度过这种粮食短缺的状况。食物链的顶端只能有一条蛇! 排行榜 还没来 2月24日的最新更新 链接到最近比赛的可视化 描述 如果您想争取剩下的所有苹果/樱桃/其他东西,则必须以程序的形式提供一条蛇,该蛇可以接受给定的输入并返回下一步。 唯一的转折是您并不孤单。另一条蛇也会尝试获得稀有食物!但是蛇形洞内部很暗,所以您只能看到自己和苹果。撞到对手会导致您死亡,就像咬自己或撞墙一样。此外,由于这些天苹果很少见,如果对手的进食量足以达到7岁,您就会饿死。 蛇形坑是一个二维地图,宽度和高度为15,而最外面的砖块则筑起了不可逾越的墙: 0 1 2 . . . c d e 0 # # # # # # # # # 1 # # 2 # x # . # # . # # . # # c # # d # …

4
小山上的复活节彩蛋狩猎
寻找复活节彩蛋活动 机器人在兔子找到鸡蛋之前先找到鸡蛋。机器人高兴。 总览 这是纪念复活节和追捕复活节彩蛋的传统之王挑战! 您的机器人在每个方向上都有两个空间的视野,包括对角线,在您周围创建了一个5x5的正方形,您可以看到。它正在寻找鸡蛋,发现鸡蛋最多的人将获胜! 董事会 棋盘将由os(代表复活节彩蛋),#s(代表墙壁),*s(代表其他玩家)和s(代表空白)组成。 这将是一个具有边长的正方形(number of entries) * 3。 它将被墙壁包围。 墙的内部将是各种随机放置的,的直线墙#,其随机长度在2到10之间(含2和10)。会有(number of entries) * 3他们。 然后将鸡蛋随机放置。会有(number of entries) * 4它们,并且它们只会在空白()正方形上生成。 为了使电路板生成过程正常运行,必须至少有7个整体。 这是一个JSFiddle,它将生成一个随机的板供您测试。这是一个带有的示例(number of entries) = 7: ##################### # o ## # # o ## # #o ###### ## ###### # ## ## o # # ## ## …

10
升序矩阵
“升序矩阵”是整数(包括0)的无限矩阵,其中任何元素是最小的可用元素,之前尚未在相应的行和列上使用: | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

2
赢得虚拟击剑比赛(针对您的堆叠交换器)
警告:这是一个相当复杂的问题,在“山上之王”的战斗风格中,它具有更多的随机性,因此最好的代码可能不会总赢。请阅读所有规则,因为它很复杂! FLAVOR TEXT Bill和Steve决定进行一次“友好的”决斗,但是又如此富有和聪明,决定让他们最好的程序员尝试自己的代码,以相互竞争。你说的是程序员。 OBJECTIVE 在击剑中,您的目标是在击中对手时获得最高的命中率,而自己击中的机会最少 MOVES 您的代码将具有以下“动作”选择 攻击 帕里 座 伦哥 和 头 胸 脚 SCORING POINTS 进攻击败 招架,持续1分刺痛阻挡,争取1分 进攻, 击球1分,阻挡搏击,进攻1分, 刺伤联系进攻,刺弓手无法阻挡或招架下一轮,进攻球员无法进攻或弓箭下一轮 阻挡平局招架,招架球员无法阻挡或招架下一轮,而阻塞球员无法进攻或弓箭下一轮 HEIGHT OF ACTION 您还将为自己的行动选择一个“身高”,因此,只有当两个玩家的身高都与进攻高度相匹配时,以上结果才会发生。如果身高不匹配,则两个玩家可能不再选择与之前的绑架回合相同的动作(不限制身高),直到得分,或者所有4个动作都已填满(一旦打破平局,所有动作)再次可用) CODE REQUIREMENTS 对于每个回合,它都应提示对手的上一回合的移动(第1回合除外),将其与自己的回合进行比较,确定上一回合的结果,然后输出下一回合的数字,得分及其选择/位置在那回合 例如: 输入:LC(大胸) 输出:上一轮:PM vs LC-PM得分!目前比分是2-1,下一轮动作是AH(进攻头) WINNER 游戏结束50局后,或获得3分后结束 AGAINST OTHER PLAYERS 只要第一个答案能够正常工作/发挥作用,它就会立即获得保证的胜利。将根据发布顺序对每个答案与先前的获胜者进行评估,如果获胜,将被宣布为新的获胜者。我要求在赢得或等待竞争时,不要更改代码。一旦被击败,您可能不再会使用相同的语言来争夺冠军头衔,但是您可能会提交不同的语言答案(必须大不相同,不得使用相同基本材料的变体)。 我将尝试进行每项挑战,并将结果发表在冠军和挑战者的评论中,并宣布新的冠军-因为我可能无法使用所有语言,尤其是一些比较晦涩的语言为确保您的答案得到解决,您将提供任何可能的帮助。谢谢!

7
振荡平等
我们的对象在两个整数点之间[l, r]以每时间单位一个单位的速度从lon 开始振荡t=0。您可以假设l < r。例如,如果一个对象在上振荡[3, 6],则我们有: t=0 -> 3 t=1 -> 4 t=2 -> 5 t=3 -> 6 t=4 -> 5 t=6 -> 4 t=7 -> 3 t=8 -> 4 等等,但是物体不断振荡,所以我们还有t=0.5 -> 3.5和t=3.7 -> 5.3。 由于两个物体之间振荡[l1, r1],[l2, r2],确定是否存在过一段时间t,使得这两个对象共享相同的位置。您可以采用l1, r1, l2, r2任何方便的格式,并输出任何真实/错误值。 真实的输入: [[3, 6], [3, 6]] [[3, 6], [4, 8]] …
15 code-golf  array-manipulation  decision-problem  code-golf  math  number-theory  palindrome  integer-partitions  code-golf  math  decision-problem  geometry  code-golf  string  random  code-golf  ascii-art  code-golf  kolmogorov-complexity  primes  code-golf  kolmogorov-complexity  code-golf  graphical-output  code-golf  number-theory  primes  integer  factoring  code-golf  sequence  array-manipulation  integer  code-golf  array-manipulation  matrix  code-golf  sequence  binary  code-golf  game  cellular-automata  game-of-life  binary-matrix  code-golf  string  ascii-art  code-golf  random  generation  logic  code-golf  string  code-golf  code-golf  sequence  array-manipulation  random  apl  code-golf  code-golf  sequence  primes  code-golf  math  sequence  integer  code-golf  number  arithmetic  array-manipulation  decision-problem  code-golf  ascii-art  number  code-golf  restricted-source  quine  code-golf  chess  board-game  code-golf  math  sequence  code-golf  number  sequence  kolmogorov-complexity  code-golf  number  sequence  arithmetic  code-golf  math  number  alphabet  code-golf  ascii-art  classification  statistics  apl  code-golf  array-manipulation  matrix  code-golf  string  kolmogorov-complexity  code-golf  sequence  binary  base-conversion  binary-matrix  code-golf  string  classification  code-golf  tips  python  code-golf  combinatorics  binary  subsequence  restricted-time  code-golf  number  number-theory  code-golf  math  number  complex-numbers  code-golf  string  code-golf  string  code-golf  string  random  game  king-of-the-hill  python  code-golf  number  sequence  code-golf  number  sequence  code-golf  code-golf  math  number  array-manipulation  code-golf  array-manipulation  decision-problem  code-golf  string  code-golf  sequence  integer 

2
山丘之王:银行抢劫
示例运行已添加4/11 规则澄清4/8:所有参赛作品将参加一场巨大的免费比赛,其中包括我的计算机在48小时内可以完成的所有比赛。 任何花时间在Twitch上观看直播的人都知道DeepBot的盛行,甚至可能熟悉Bank Heist的下注游戏。这场山丘之王锦标赛直接受到该游戏的启发。不过不要担心。我认为我在该版本中投入了足够多的纽带,以使事情变得有趣。 一个简单的例子 #####GAME 13: 16 players###### Round 1: gunHeCK bet 0. PassivePanga bet 69. SnitcherKing bet 1. Lurker bet 0. OC'sRandomTpyos bet 1. MonisAddiction bet 69. RaysFive01K bet 28. LimeadeSneaktar bet 1. KaylorrCriterion bet 0. HardHatUmar bet 0. HeCKuSumer bet 185. Round 2 HeCKuSumer decided to !guncheck. …

9
KOTH:怪物猎人
更新结果 介绍 为庆祝怪物猎人4终极版在新3DS上的发布(2月13日),以下是本游戏中的山丘之王。 您是新手猎人,将参加由5次连续狩猎组成的锦标赛。在这些狩猎结束时,将根据对怪物造成的伤害对猎人进行排名,当然,他们会杀死怪物还是将其杀死。此外,作为新手,您必须坚持选择的武器,直到您经验丰富为止。 词典 ATK:攻击 DEF:防御 HP :健康点 NRG:能量 GRD:后卫 SPD:速度 SHP:锐度 AGR:攻击性 POT:药水 RAT:定量 WHE:磨刀石 原理 猎人可以选择以下四种武器: | Id | ATK | GRD | SPD | ------------------------------------------------ Great Sword | GS | 7 | 2 | 2 | Dual Blade | DB | 3 | 0 | 7 …

17
保持距离!
每个玩家都有一个号码。您能离他们最远吗? 要求 编写一个名为Java,Python 2或Ruby的函数choose(),该函数接受三个参数: 整数-已完成的回合数 整数-玩家人数 字符串数组-前一轮的结果 每个字符串都是用空格分隔的整数列表,从最低到最高排序 例如,choose(2, 4, ["4 93 93 174", "1 84 234 555"])表示: 已经有两轮了(这是第三轮) 一共有四个玩家 在第一轮中,选择的数字是4,93,93,174 在第二轮中,选择的数字是1,84,234,555 您必须返回1到999(含)之间的整数。 对于每个其他玩家,您的得分是您的数字与其数字之间的距离的平方根。您在该回合中的分数是所有这些分数的总和。 将进行100轮比赛。最高总分获胜! 规则 您的代码可能不使用任何I / O,包括控制台,文件,网络等。 您不得干扰控制程序或任何其他播放器。 看起来违反上述规则的程序将被排除。 在我的计算机(带8GB RAM的Intel Core i5 2450M)上,每次调用函数应花费不到5秒的时间。 如果程序引发异常或返回无效值,则将其视为返回1。 每个用户最多可以提交一个程序。 杂 控制程序在GitHub上。 有三个内置播放器。在此答案中可以找到它们。 获奖者将于1月28日入选。 排行榜 获胜者是保管人。 值得一提的是古斯塔夫(Gustav),他是采用非固定策略的得分最高的球员。 柜子-36226 高-36115 地板抱抱-35880 一号-35791 高估-35791 …

6
囚徒困境v.2-大逃杀
在这个问题中,设计了一种游戏,玩家在囚徒困境中将一对一面对面地确定彼此对立,从而确定哪种迭代策略得分最高。 在这个问题中,我设计了一种方法,允许多个人同时互相对抗囚徒困境。在这种变化中,回报矩阵是不必要的,每两个参与者之间的每个结果都是两个功能独立决策的总和。 您的任务是构建一个AI来玩多人囚徒困境的对称,通用版本,以实现最高分。 游戏规则 在这种多人,多人囚徒困境的每一轮中,玩家A可以决定从其他玩家中拿1 B。在这种情况下,A的分数会增加1,而B 's的分数减少2。此决定允许在每个有序球员对之间进行。 这是每个玩家做出的唯一决定-彼此“背叛”还是不相互“捉襟见肘”,这与叛逃和合作分别相同。两名球员之间的有效收益矩阵P1和P2如下所示: P1/P2 P1 Take1 P1 Don't P2 Take1 -1/-1 -2/+1 P2 Don't +1/-2 0/ 0 比赛程序 游戏将包括P * 25回合,即P参与比赛的人数。所有玩家的得分都以0。每个回合将包括以下步骤: 在回合开始时,将从标准输入中以以下格式为每个程序提供上回合的历史记录: 含有3个数字一行P,D和N。 P是游戏中的玩家总数。每个玩家随机分配从一个ID号1,以P在游戏的开始。 D 是当前玩家的ID。 N 是已经打过的回合数。 N线,每条线代表一轮的结果。在的行k上N,将有一定数量n_k的有序对(a, b),用空格分隔,表示该回合中ID为a“ 1” 的玩家与ID为“ 1”的玩家b。 R从0到18446744073709551615(2 64-1)的均匀随机数,用作伪随机种子。这些数字将从预先生成的文件中读取,该文件将在锦标赛结束时发布,以便人们可以自己验证结果。 如果您的程序在上一轮产生了这样的输出,则多一行代表要读入您的程序的某种状态。在游戏开始时,此行将始终为空。评分代码或其他程序均不会修改此行。 然后,每个程序将使用其策略来产生以下标准输出: K数字列表,这是本轮将“取1”的程序的ID。空输出意味着它什么也不做。 可选地,一条代表某种状态形式的额外行可以传递到以后的回合。此确切行将在下一轮反馈给程序。 以下是3在4人游戏中ID 玩家游戏开始时的示例输入: 4 3 0 4696634734863777023 …

3
井字游戏
创建一个确定性的程序来播放N d井字棋与其他选手。 当n(宽度)和d(维数)在以下范围内时,您的程序应该可以运行: n∈[3,∞)∩ℕ ie a natural number greater than 2 d∈[2,∞)∩ℕ ie a natural number greater than 1 n = 3; d = 2(3 2即3 x 3): [][][] [][][] [][][] n = 3; d = 3 (3 3即3 x 3 x 3): [][][] [][][] [][][] [][][] [][][] [][][] [][][] …

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.