Questions tagged «board-game»

应对涉及棋盘游戏的挑战。

3
莱昂哈德(Leonhard)喜欢迷宫
背景 我的儿子Leonhard(4岁)喜欢迷宫。我不知道他从哪里知道迷宫,但他画了迷宫并且很清楚它们是如何工作的: 最近,他开始用绘画创作游戏。这些是他的规则: 黑色正方形表示起点。 钩子表示迷宫的出口(在那儿您会被拉出)。 你可以收集冠冕。 您可以收集金块(圆形的东西)。 您可以前进和后退,但不止于此。 箭头可能会指引您前往出口。(如果他画迷宫供我解决,它们常常会误导人)。 带注释的版本: 蓝色:起点 橙色:冠 黄色:有金块的区域 绿色:挂钩(退出) 粉色:箭头(主要是误导性的) 任务 也许您知道,在4岁时,孩子们开始讲猪肉,有时他不遵守自己的规则,尤其是当他发现自己再也无法到达迷宫的尽头时。 那就是您的角色:既然我一直在为孩子们寻找游戏,那么您会将他的想法变成不可能作弊的游戏。 好吧,我们还需要一些其他的定义: 运动场是一个n* m大小相等的正方形矩形。 一个正方形可以有0到4面墙,每面一面。 一冠价值50分。 一个金块值得20分。 在已经走过的广场上行走会减去1分。 标记正方形以标识玩家在其上行走的频率(0、1或2次) 玩家可以沿着4个方向行走,除非有墙。 输入设备可以是任何东西。请考虑键盘支持。 迷宫必须是可解决的。即,必须有可能从起点到达钩子,并且必须有可能收集所有贵重物品(即使那不会导致最高的得分)。 如果玩家卡住,游戏将结束。 玩家不得因掉下棋而丧命。您可以随心所欲地在完整的迷宫周围放置一堵墙或包裹边缘。 程序将单词(0-65535)自变量作为输入。这是随机数生成器的种子。再次使用相同的种子调用程序会导致相同的迷宫。 奖金: 计算可以收集的最高分。考虑到由于-1分,最好不要收集所有物品。 显示最佳解决方案(以最快的方式获得最高分) 规则 这是一次人气竞赛,因为我希望能够阅读和理解代码并可能适应我儿子的新想法。对不起,打高尔夫球的人,也许您想使用更适合打高尔夫球的规则创建此问题的副本,例如,定义了所有角色的控制台版本。 5月3日最受欢迎的游戏将成为公认的答案。而且,为什么不将其发布在应用商店中?

15
确定字符串的拼字游戏得分和有效性
您的任务是确定给定的字符串长度是否合适,并可以用Scrabble磁贴表示,如果是,则输出每个字母的分数之和。 如果您不知道如何玩Scrabble :,则有100个磁贴,上面印有字母A–Z,以及两个可代表任何字母的通配符。每个字母都有一定数量的点,每个图块(但不一定是单词)只能使用一次。演奏单词时,将所使用的每个图块的点值相加,即为分数。由于可用的字母数量有限,因此一个单词只能将某个字母的次数与该字母具有图块+任何未使用的通配符的次数相同。拼字游戏板的大小为15×15,因此该单词的长度必须在2到15个字符之间。 有关英文版本中每个字母的数量和分数的列表,请参见下面或http://boardgames.about.com/od/scrabble/a/tile_distribute.htm(存档)。 字母数量积分字母数量积分 ------------------- ------------------- A 9 1 O 8 1 B 2 3 P 2 3 C 2 3 Q 1 10 D 4 2 R 6 1 E 12 1 S 4 1 F 2 4 T 6 1 G 3 2 U 4 1 H …

5
山丘之王:速度线索AI
速度线索 Cluedo / Clue是一款经典的棋盘游戏,具有引人入胜的演绎游戏元素。Speed Clue是3-6位玩家的变体,仅使用纸牌来强调此组件。结果是标准Cluedo和Speed Clue之间的唯一区别是,仍在游戏中的每个玩家都可以在转弯时提出自己喜欢的任何建议,而不必等着掷骰子和其他玩家的建议等待到达特定的房间。如果您以前从未玩过Cluedo,或者想确定两个版本之间的明显区别,可以在此处找到完整的Speed Clue规则集。 目标 在2014年5月15日格林威治标准时间00:00之前编写并提交AI程序来玩Speed Clue。在那之后,我将使用所有合法条目进行比赛。AI在比赛中赢得最多比赛的参赛者将赢得挑战。 AI规格 只要AI 通过TCP / IP连接严格使用应用程序协议来与服务器玩游戏,就可以使用几乎任何语言编写您的AI,无论使用哪种技术。有关所有限制的详细说明,请参见此处。 怎么玩 首先分叉竞赛GitHub存储库。在entries使用您的StackExchange用户名命名的目录下添加目录 ,并在该文件夹中开发代码。当您准备提交条目时,请提出您的修订请求,然后按照以下说明进行操作在此站点上宣布您的条目。 我已经在core目录中提供了一些代码和JAR,以帮助您入门。请参阅我的网站以获取有关材料的粗略指南。此外,其他参与者除了输入内容外,还提交了辅助代码,以帮助您启动和运行。花一些时间浏览这些条目,并且不要忘记在提交之前将您的条目与其他条目进行测试! 结果 Place | User | AI | Result ------+--------------+--------------------+------------------------------------------------------- 1 | gamecoder | SpockAI | 55.75% 2 | Peter Taylor | InferencePlayer | 33.06% 3 | jwg | CluePaddle | 20.19% …

14
我可以安顿下来吗?
在“卡坦殖民者”棋盘游戏中,有五种资源类型:砖块,原木,矿石,小麦和绵羊。建立定居点需要花费砖块,原木,小麦和绵羊。但是,您也可以交换四个相同的资源来获取不同类型的资源。例如,如果您手中有四个矿石,则可以将所有矿石换成一只羊。 您的工作是确定我是否可以建立解决方案。 你的任务 输入将是字母的顺序B,L,O,W,和S,采取任何合理的格式。这些字母对应于上面给出的五种资源类型。考虑到进行四种交易的可能性,您应该输出我是否拥有建立和解所需的资源。 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 笔记 您不必输出我需要执行的交易或可以建立的结算数量。简单的“是”或“否”即可。 您可能不假定输入是按任何特定顺序进行的。特别是,您可能不会假定相同类型的资源被分组在一起,因此OBLSO,有效输入也不是。 这是决策问题,因此,只要选择的两个值是不同且一致的,就可以使用要表示“是”和“否”的任何值。 我们在这里关心的唯一规则是上面列出的规则。与其他玩家交易或在港口交易等更为复杂的卡坦定居者规则在这里无关紧要。 输入的字符(B,L,O,W,S)可以与其他的值取代,只要它是你所选择的特定的语言更容易,所以只要有五个不同的输入。如果您使用其他输入值,请在答案中指定它们。 例子 BLWS -> Yes OOOOWLB -> Yes (trade four O for a S) OOW -> No BBBO -> No (empty input) -> No BBBBLW -> No BBBBBLW -> Yes (trade four B for a S) OOOOOOOOOOOOOOOO -> Yes (sixteen …

5
得分围棋
进行围棋比赛得分并非易事。过去,关于如何设计规则以涵盖可能发生的所有奇特拐角案例的争论一直存在。幸运的是,在此任务中,您不必做复杂的工作,如生死攸关或检测出关。在此任务中,您必须实现一个根据Tromp-Taylor规则在没有Komi的情况下为游戏评分的程序。 计分程序非常简单: 如果P色的相邻点(从P到C点)之间存在(垂直或水平)相邻点的路径,则称为P点(未着色的C点)到达C 点。 ,再加上仅达到她的颜色的空白点数。 例如,考虑以下电路板。X,O并-表示黑色,白色和无色交叉点: - - - X - O - - - - - - X - O - - - - - - X - O - - - - - - X O - - O - X X X O - O O - …

24
ogl-edocf挑战
输入项 一个非空的字符串,由范围内的ASCII字符组成。[ 32..126 ][32..126][32..126] 输出量 通过对输入字符串进行连续旋转来获得输出。 对于[a-zA-Z]输入字符串中的每个字母(),从左到右: 如果字母是大写字母,请将其前面的所有字符向左旋转一个位置 如果字母是小写字母,请将其前面的所有字符向右旋转一个位置 例 输入:“ Cb-Ad” 第一个字母是“ C ”。我们应该向左旋转,但是这个“ C ” 之前没有字符。因此,没有任何旋转。 下一个字母是“ b ”。我们向右旋转“ C ”。因为它是单个字符,所以它保持不变。 字符“ - ”不会触发任何旋转,因为它不是字母。 下一个字母是“ A ”。我们轮流“ CB- ”到左边,这给“ 公元前广告” 第四个也是最后一个字母是“ d ”。我们向右旋转“ b-CA ”,即为“ Ab-C d” 因此,预期输出为“ Ab-Cd ”。 规则 您可以将输入作为字符串或字符数组进行输入-根据您的语言,输入内容可能相同也可能不同。 您也可以输出字符数组而不是字符串。 这是ogl-edocf 代码高尔夫 测试用例 "cbad" -> …
22 code-golf  string  code-golf  string  code-golf  string  parsing  brainfuck  code-challenge  python  hello-world  error-message  code-golf  string  code-golf  number  integer  counting  subsequence  code-golf  string  cipher  code-golf  array-manipulation  arithmetic  integer  matrix  code-golf  math  sequence  code-golf  restricted-source  pi  popularity-contest  cops-and-robbers  polyglot  popularity-contest  cops-and-robbers  polyglot  code-golf  file-system  king-of-the-hill  code-golf  number  sequence  integer  rational-numbers  string  code-challenge  source-layout  code-golf  ascii-art  king-of-the-hill  code-golf  array-manipulation  sorting  code-golf  string  code-golf  restricted-source  source-layout  tips  math  code-challenge  permutations  logic-gates  code-golf  number  random  integer  code-golf  math  code-golf  math  number  decision-problem  king-of-the-hill  python  board-game  code-challenge  brainfuck  busy-beaver  code-golf  number  cops-and-robbers  polyglot  obfuscation  answer-chaining  code-golf  number  integer  conversion  code-golf  string  parsing  code-golf  ascii-art  number  king-of-the-hill  javascript  code-golf  source-layout  radiation-hardening  code-golf  array-manipulation  matrix  code-golf  string  graph-theory  code-golf  array-manipulation  decision-problem  code-golf  string  ascii-art  code-golf  string  code-golf  array-manipulation 

11
骑士在N步能走到哪里?
这是APL CodeGolf 秋季比赛的第 3洞。我是该问题的原始作者,因此可以在此处重新发布。 鉴于: 转数(如果没有运动为0,请说明,否则我们将其称为1), 在8 x 8棋盘上的一个或多个起始位置(以任何形式,例如0或1索引坐标或64个连续的数字/字符或A1-H8 –状态)的列表, 返回(以任何顺序)在给定匝数后,骑士可以位于的唯一位置列表(与输入格式相同)。 每个骑士必须每转一个步,但您不必担心多个骑士占据同一广场。 骑士只能相对于其当前位置移动到标记为X的位置,标记为♞: 示例(1索引坐标) 1从[[1,1]]: [[2,3],[3,2]] 2来自[[1,1]]: [[1,1],[1,3],[1,5],[2,4],[3,1],[3,5],[4,2],[4,4],[5,1],[5,3]] 1从[[1,1],[5,7]]: [[2,3],[3,2],[3,6],[3,8],[4,5],[6,5],[7,6],[7,8]] 2来自[[1,1],[5,7]]: [[1,1],[1,3],[1,5],[1,7],[2,4],[2,6],[2,8],[3,1],[3,3],[3,5],[3,7],[4,2],[4,4],[4,6],[4,8],[5,1],[5,3],[5,5],[5,7],[6,4],[6,6],[6,8],[7,3],[7,7],[8,4],[8,6],[8,8]] 0来自[[3,4]]: [[3,4]]

16
还有一个程序,我出去了!
给定一个正整数嵌套级n和字符串s的打印的ASCII字符(到~,输出一个。方案,其中,以相同的语言运行时,输出一个程序,其输出程序输出该串s。 总计 n应该生成程序,所有程序都应以与您的答案相同的语言运行。 注意:您可以输出程序或函数-默认情况下,您可以将任何内容作为提交提交。 您可以s使用转义字符输入,以您的语言编写的程序或函数通常会如何输入字符串。 例 例如,给定n=1和s="recursion",Python 2程序可能输出: print "recursion" 运行此命令将输出: recursion 给定n=2和s =“ PPCG”,Python 2程序可能输出: print "print \"PPCG\" " 运行此输出: print "PPCG" 运行此输出: PPCG 相关(+标题灵感):还有一个LUL,我出门了 也相关(在沙箱中-现在已删除,但仍然可以以足够的信誉查看):源代码递归 测试用例 确保您的代码适用于以下测试用例(每行一个): n s 2 PPCG 4 Robert'); DROP TABLE Students;-- 17 Deep 2 Spaces In Here 3 "Don't forget quotes!" 5 'Backt`cks …
21 code-golf  recursion  code-golf  kolmogorov-complexity  board-game  code-golf  number-theory  polynomials  code-golf  code-golf  array-manipulation  polyglot  alphabet  answer-chaining  code-golf  sequence  math  atomic-code-golf  abstract-algebra  proof-golf  code-golf  internet  code-golf  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  ascii-art  number  integer  code-golf  decision-problem  binary-matrix  code-golf  number  sequence  number-theory  code-golf  math  decision-problem  matrix  abstract-algebra  code-golf  string  keyboard  code-golf  fractal  code-golf  math  sequence  combinatorics  hello-world  vim  code-golf  sequence  code-golf  graphical-output  image-processing  code-golf  decision-problem  matrix  linear-algebra  code-golf  ascii-art  code-golf  math  code-golf  ascii-art  graphical-output  code-golf  string  code-golf  string  substitution  code-golf  string  ascii-art  code-golf  arithmetic  code-golf  number  array-manipulation  decision-problem  code-golf  kolmogorov-complexity  code-generation  fractal  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  code-golf  string  array-manipulation  code-golf  music  code-golf  array-manipulation  code-golf  internet  stack-exchange-api  math  fastest-algorithm  code-golf  binary  bitwise  code-golf  date  code-golf  string  code-golf  sequence  integer  code-golf  arithmetic  number-theory  code-golf  string  random 

4
九个男人的莫里斯伯爵米尔斯
介绍 九个人的莫里斯(Mills)(也称为米尔斯)是一款由两名玩家组成的棋盘游戏,在以下棋盘上进行播放(图片摘自链接的Wikipedia页): 每个玩家有9个人,黑白相间。具体规则对于此挑战并不重要,但如果您有兴趣,请查看Wikipedia页面。 挑战 给定一个网格作为输入,它表示在一定boardstate,输出的总研磨计数m用0<=m<=8。 当三个相同颜色的人在相连点的直排中时,他们就形成了磨坊。 b2到f2不是因为磨的人具有不同的颜色。另外d2,d5由于必须连接三个点,因此也不会形成磨机。 上图中的木板包含两个磨房。一个从f2到f6一个从e3到e5。 输入项 该板表示为具有24个点的2D网格,如上面的示例图像所示,这些点已连接。该示例a-g在列中使用字母,1-7在行中使用数字,但是您可以选择任何合理的输入格式,只要它将24个唯一坐标映射到以下状态之一即可: 空的 黑色拍摄 采取白色 具体的表达方式取决于您,而颜色并不限于“ b”或“ w”。 除此之外,您的输入内容可能不包含任何其他信息。 附加条款 您不必通过任何值来映射点。如果要将输入作为2D数组,也可以。但是请记住,并不是所有的点都被使用,并且您必须考虑它们之间的连接。 输入可能为空,在这种情况下,您必须输出零(空板->无磨)。 由于每个玩家有9个人,因此输入的总得分不会超过18。 您可以在输入中省去空点,因此只取取输入点。 可以以任何方式订购输入。您不能依赖特定的顺序。 您可以假设输入将始终有效。这意味着每种颜色的人不会超过9个人,并且每个点都是唯一的。 规则 明确您在解决方案中使用的输入格式。强烈建议提供示例程序运行。 允许功能或完整程序。 输入/输出的默认规则。 有标准漏洞。 这是代码高尔夫球,因此最低字节数获胜。Tiebreaker是较早提交的内容。 测试用例 这里的输入格式是一个元组列表,其中的坐标如上例中所示为第一个元素,点的状态为第二个元素。白色标记的点标记为“ w”,黑色标记的点标记为“ b”。所有其他点均被忽略,并且为空。 [(“ a4”,“ w”),(“ b2”,“ b”),(“ b4”,“ b”),(“ c4”,“ b”),(“ d1”,“ w”) ,(“ d2”,“ w”),(“ e3”,“ w”),(“ …

5
中文棋盘格
中国跳棋的游戏是在棋盘上进行的,棋盘上的空间为六角星状: 图片来自维基百科 我们可以创建此板的ASCII美术表示形式,.用于空白点和GYORPB六个彩色起始位置的字母: G G G G G G G G G G B B B B . . . . . Y Y Y Y B B B . . . . . . Y Y Y B B . . . . . . . Y Y B …

22
建立一个棋盘
对于此挑战,您将在棋盘游戏开始时打印每块的坐标和颜色。 在棋盘上为每个正方形(索引为0-7)输入x和y(用逗号分隔),然后在板的顶部(靠近y = 0)输入“ r”或“ b”(红色或黑色) )为红色,底部为黑色。件之间需要换行符,并且不需要空格。 这是代码高尔夫,因此答案以字节计分,而字节越少越好。 尾随换行符是允许的,但不是必须的,并且顺序必须与下面的顺序完全相同。 所需的输出: 0,0r 0,2r 0,4r 0,6r 1,1r 1,3r 1,5r 1,7r 2,0r 2,2r 2,4r 2,6r 5,1b 5,3b 5,5b 5,7b 6,0b 6,2b 6,4b 6,6b 7,1b 7,3b 7,5b 7,7b

12
连接n时间!
https://en.wikipedia.org/wiki/Connect_Four 有人记得2人游戏连接4个吗?对于那些不喜欢的人来说,那是一块6x7的板,它垂直于表面。连接4的目标是连接4!如果连接是水平的,对角的或垂直的,则将其计算在内。您可以通过以下方式将棋子放置在板上:在棋子的顶部插入棋子,使其落在该棋子的底部。我们的规则更改了连接4中的3件事。 变更#1获胜定义为得分最高的玩家。您可以通过像规则中那样连接4来获得积分-稍后再介绍。 变更#2您每轮有3个玩家。 变更#3电路板尺寸为9x9。 得分: 分数基于您连续获得的分数。如果您有一个连续的4组,您将获得1分。如果您在连续5组中获得5分,则在3行中获得6分,依此类推。 例子: 注意o和x分别用#和代替~,以获得更好的对比 空棋盘示例:(所有示例均为2人标准尺寸棋盘) a b c d e f g 6 | | | | | | | | 5 | | | | | | | | 4 | | | | | | | | 3 | | | | | …

2
玩Connect 4!
编写一个程序玩Connect 4游戏。您将获得棋盘的状态作为输入,并且必须决定将棋子放置在哪一列中,以连续获取4个(水平,垂直或对角线)或阻止对手进行相同的操作。 棋盘是一个6x7的阵列,其中每个单元格可以为空(''),包含您的棋子('X')或对手的棋子('O')。示例板: O XX X XOX OO XOO OXO OXXOXXO XOXOXOX 您可能希望在第3列(第0-6列,从左开始编号)中对角线获胜。所以你输出: 3 您的代码必须输出列号,并且必须满足以下条件: 您不能在已经有6个乐段的列中演奏。 如果至少有一个获胜的举动,则必须打其中之一。 如果您可以阻止对手继续前进,则必须这样做。 请注意,最佳比赛不是必需的,仅当您获得即时胜利或阻止对手的即时胜利。如果您的对手有不止一种获胜方式,则无需阻止他们。 在标准输入上为您提供了木板,并且必须在标准输出上打印要在其中播放的列号。保证该板的格式正确(无孔,至少可以移动),并且任一方都没有赢球。 最短的代码胜出。 例子1 X O X O OOO X XXX O 您必须打0列或4列才能获胜。 例子2 X X X O O XOX XO XXO XOX XXO XXO 您必须打第3列才能阻止对手的即时获胜。 例子3 X XO OX O XO …

1
打印对不起板
我只是在玩棋盘游戏,对不起!与一些人一起,我意识到我可以从中解决一些有趣的挑战。这很简单。 您的任务仅仅是输出对不起的电路板的ascii艺术版本,将片段放置在我告诉您的位置。 眼镜 首先,这是实际抱歉的图片!董事会参考: 空板看起来像: # > - - o # # # # > - - - o # # # # S v o # H # # # # # | | # | | # S o | # # ^ H # # # # …

11
最大化平方差
考虑从1到的整数值的置换N。例如此示例N = 4: [1, 3, 4, 2] 我们将认为此列表是循环的,因此1和2被视为相邻列表。我们可以为这样的列表计算的一个量是相邻值的总平方差: (1-3)² + (3-4)² + (4-2)² + (2-1)² = 10 给定正整数,您的任务是找到一个最大化此数量的排列N。在N = 4上面的例子中不是最佳的(实际上,这是最小的)。18通过以下排列(以及其他几个排列),我们可以实现的总平方差: [1, 4, 2, 3] 您的算法必须在(的N)多项式时间内运行。特别是,您不能简单地计算所有排列的总平方差。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行自变量或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 输出可以采用任何方便,明确,平坦的列表或字符串格式。您可以选择从与返回值的列表0,以N-1代替1向N。 适用标准代码高尔夫球规则。 测试数据 这个问题有一个很好的分析解决方案。例如,所有有效的解决方案N = 10均等效于以下列表(直至循环移位和反转): [7, 5, 6, 4, 8, 2, 10, 1, 9, 3] 我不想透露过多的信息(尽管足以找出模式),因此无需给出更多示例,您可以检查您的结果是否具有给定的总平方差N: N Total squared difference 1 0 2 …
19 code-golf  array-manipulation  permutations  restricted-complexity  code-golf  geometry  grid  code-golf  string  sorting  code-golf  simulation  code-golf  string  code-golf  arithmetic  code-golf  sorting  code-golf  string  code-golf  sorting  code-golf  interpreter  code-golf  number  kolmogorov-complexity  natural-language  conversion  code-golf  random  internet  code-golf  board-game  code-golf  number  sequence  code-golf  math  number  code-challenge  image-processing  classification  test-battery  code-golf  ascii-art  code-golf  tips  code-golf  arithmetic  code-golf  tips  code-golf  tips  javascript  code-golf  array-manipulation  code-golf  ascii-art  code-golf  string  binary  code-golf  arithmetic  linear-algebra  matrix  code-golf  sequence  code-golf  math  number  arithmetic  code-golf  primes  code-golf  math  code-golf  array-manipulation  counting  code-golf  arithmetic  code-golf  quine  code-generation  polyglot  code-golf  math  kolmogorov-complexity  trigonometry  code-golf  string  encryption 

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.