Questions tagged «game»

此挑战通常基于,与游戏或游戏的某个部分相关,或与其模拟。

7
确定在宝石迷阵/第3场比赛中是否存在移动
背景 在“宝石迷阵”和类似的游戏中,玩家必须在8x8的宝石网格中交换任意两个相邻的宝石(没有对角线),以便连续匹配三个相同颜色的宝石。宝石可以水平或垂直匹配。游戏的进行一直持续到没有动作可导致连续三局为止,此时游戏结束了。 任务 目的是编写一个确定“宝石迷阵”游戏是否还没有结束的程序。换句话说,它必须检查是否有可能连续移动至少三个。连续可以有三个以上的宝石,这仍然是有效的举动。 输入值 您的程序必须通过标准输入接受Bejeweled网格的8x8表示形式。七种宝石颜色中的每一种将由1到7的数字表示。每行将包含一行,并且将输入8行,每行包括8位数字。请参阅示例。您可以假设输入将始终遵循此格式,并且永远不会连续包含三个。 输出量 然后,程序必须输出(至标准输出),yes或者no取决于是否存在至少一个有效动作,该动作将导致连续出现三个或更多宝石。您的程序不得输出yes或的单个实例以外的任何内容no。 规则 您的程序不得使用任何外部文件或资源,命令行参数或要求使用特定的文件名。源代码中字节数最少的程序将获胜。 例子 输入: 12314131 13224145 54762673 61716653 61341144 23453774 27645426 75575656 输出: yes 输入: 35261546 76421754 15743271 62135642 35617653 64565476 54427254 15635465 输出: no 有关其他测试案例,请参见下面的MT0答案。
20 code-golf  game  grid 

13
实施蛮力数独解算器
使用猜测实现最短的数独求解器。由于我收到了一些请求,因此我将其添加为希望实施蛮力数独解决方案的用户的替代问题。 数独拼图: | 1 2 3 | 4 5 6 | 7 8 9 -+----------------------- A| 3 | 1 | B| 6 | | 5 C| 5 | | 9 8 3 -+----------------------- D| 8 | 6 | 3 2 E| | 5 | F| 9 3 | 8 | …

27
为*写翻译
任务很简单。为*语言编写口译员。 这是Wiki的更大链接。 只有三个有效的*程序: * 打印“ Hello World” * 打印0到2,147,483,647之间的随机数 *+* 永远运行。 根据此问题的规范,第三种情况必须是无限循环 输入: 可以通过我们的标准I / O规则通过任何可接受的输入方法进行输入 它将永远是以上程序之一 输出: 第一种情况应打印准确Hello World,带有或不带有尾行。 对于第二种情况,如果您的语言的整数最大值小于2,147,483,647,请使用您的语言的整数最大值 根据我们的标准I / O规则,第一种情况和第二种情况可以打印到任何可接受的输出。 第三种情况不应给出任何输出。 得分: 因为这是代码高尔夫球,所以最短的答案(以字节为单位)获胜。
20 code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

19
使三角计划有效
三角性是Xcoder 先生开发的一种新的esolang ,其代码结构必须遵循非常特定的模式: 对于第nth行代码,其上必须完全2n-1有程序的字符。这将导致三角形/金字塔形,第一行仅包含一个字符,其余行以2为增量增加。 每行.的左侧和右侧都必须用s 填充,以使字符以其行为中心,并且所有行都应填充为相同的长度。如果l定义为程序中的行数,则程序中的每一行的长度必须为2 * l - 1 例如,左侧的程序有效,而右侧的程序无效: Valid | Invalid | ...A... | ABCDE ..BCD.. | FGH .EFGHI. | IJKLMN JKLMNOP | OPQRS 当布置在有效结构中时,该名称变得显而易见。 任务 您的任务是将单个行字符串作为代表Triangularity代码的输入,并将其输出转换为有效代码,如上所述。 I / O规格: 输入将仅包含范围内的字符 0x20 - 0x7e 输入的长度始终是一个平方数,因此可以很好地填充。 您必须将点用于输出填充,而不要使用其他东西。 您可以通过任何可接受的方法输入和输出。这是一个代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 input ---- output g ---- g PcSa ---- .P. …
19 code-golf  string  code-golf  combinatorics  code-golf  math  number  code-golf  matrix  code-golf  string  decision-problem  code-golf  internet  code-golf  number  number-theory  integer  expression-building  code-challenge  primes  cops-and-robbers  obfuscation  code-challenge  primes  cops-and-robbers  obfuscation  code-golf  string  balanced-string  code-golf  quine  code-generation  code-golf  matrix  code-golf  tips  c#  code-golf  ascii-art  code-golf  ascii-art  source-layout  code-golf  quine  source-layout  popularity-contest  language-design  code-golf  array-manipulation  subsequence  code-golf  matrix  math  code-challenge  game  graph-theory  atomic-code-golf  code-golf  number  integer  polynomials  equation  code-golf  array-manipulation  sorting 

5
这是输家吗?
在棋盘上有一个名为“回家”的游戏。在这个游戏中,两个玩家轮流移动一个棋子。关于如何移动作品有一些规则。转牌时,玩家必须进行以下任一动作来使n为正。 n个空格 左边n个空格 n在左上方(对角线)间隔 将棋子移到棋盘左上角的玩家将赢得比赛。 现在,我们将定义丢失正方形的概念。在此视频中(我从中得到了这个主意),将输方定义为一个方格,在该方格上,任何开始转牌的玩家将被迫采取行动,允许对手强制获胜。丢失正方形的最简单示例是(1,2)处的正方形。(1,2)处的作品可以移动到以下任意位置。 所有这些都为下一位玩家赢得胜利提供了直接途径。 同样可以得出结论,凡是具有一条通向输掉方格的单向方格的方格,都允许玩家从该方格开始,以强制获胜。这意味着,只要不离开亏损方格的任何方格也是亏损方格。 这使我们对损失平方的定义更加简洁: 丢失的正方形是一个不能从任何移动到达另一个丢失的正方形的正方形,而(0,0)是一个丢失的正方形。 任务 给定任意大小的棋盘上正方形的坐标,确定它是否为丢失的正方形。输出两个值,一个用于丢失平方,另一个用于其他平方。 这是代码高尔夫球,因此答案将以字节计分,而字节数越少越好。 测试用例 这是常规的8 x 8棋盘(标记为0)上的所有丢失方格。 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 …

8
反向插入排序
目的 根据“ 插入排序”对列表进行排序的动作,生成原始的加扰列表。原始列表将包含从0到N-1(包括)的所有数字,其中N输入的大小。 输入项 一个包含对列表进行排序的必要动作的列表。每个值代表由原始数字(加扰的数字)移位到其右位置的插槽数量,请记住,此过程是从左到右。输入列表 中(0索引)位置的值i将介于0和之间i。 您不需要处理无效的输入,在这种情况下,任何行为都是可以接受的(崩溃,无限循环等)。 输出量 混乱的名单 逐步生成动作 Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

22
建立字母金字塔
今天,我们要用字母建造一座金字塔!这是前5个字母的示例字母金字塔: 在前5个字母之间写下一个空格,先升后降。 A B C D E D C B A 对上面一行的前四个字母执行相同的操作,但是要有两个额外的前导空格: A B C D C B A A B C D E D C B A 重复相同的步骤,直到最后一行只是'A' A A B A A B C B A A B C D C B A A B C D E …

4
确定战争游戏的赢家
该卡的游戏战争是在最后的结局是完全由甲板的初始配置决定的,只要一定的规则并遵守在卡片从比赛场地拿起并移动到甲板的顺序有趣。在这次挑战中,将只有2个玩家,大大简化了事情。 游戏 每位玩家将获得26张牌。 每个玩家将顶牌正面朝上放置在卡组中。拥有较高排名卡(Ace > King > Queen > Jack > 10 > 9 > 8 > 7 > 6 > 5 > 4 > 3 > 2)的玩家赢得回合,并将其卡放置在对手卡的顶部,将其翻转,然后将其添加到其牌组的底部(因此,他们的获胜牌位于牌组的底部) ,而另一位玩家的输家牌正好在其上方)。直到玩家之一的卡用完为止。 如果这些牌的等级相同,则每个玩家将其牌组的前2张牌面朝上放置在其前一张牌的顶部(这样,位于牌组顶上的卡牌便是堆叠中的第二张牌,并且排名第二的卡片位于顶部)。然后,再次比较(每叠顶牌的排名),获胜者将其整个叠放在输家的整个叠层之上,将其上下颠倒,然后将其放在牌组的底部。如果还有其他平局,则以相同的方式玩更多的牌,直到选择获胜者或一个玩家的牌用完为止。 如果任一位玩家需要从其牌组中抽出一张牌,但其牌组为空,则他们立即输掉比赛。 挑战 给定玩家牌组中的两张纸牌列表,采用任何方便的格式,如果玩家1获胜,则输出真实值,如果玩家2获胜,则输出假值。 为方便起见,将用表示10张卡T,并且将面部卡缩写(Ace -> A, King -> K, Queen -> Q, Jack -> J),以便所有卡都长一个字符。或者,等级可以用十进制整数2-14(Jack -> 11, Queen -> 12, …

1
确定Connect 4的获胜者
系统会为您提供部分填充的Connect 4网格(7x6)。 O X O X X O X O O X O X O X X O X X X O O X O O O X X O X (输入可以一维或二维数组以及字母或数字等形式给出。) 假使,假设 X开始游戏。 还没有人赢。 玩家可能直到现在还没有打得很好,但是从现在开始,他们都将采用最佳策略。 输入网格没有故障。 您必须输出一个值来指示哪个玩家获胜(或平局) 挑战高尔夫挑战赛;所以最短的代码胜出。您的程序不必在合理的时间内实际计算输出,但是您应该能够证明在有限的时间内可以正确获得输出。

2
Koopa Shell序列
在各种《超级马里奥》游戏中,绿色和红色的 Koopa Troopa弹壳可以在平坦表面上无摩擦地滑动,并破坏挡在途中的砖块。当壳碰到砖块时,块破裂,将其变成空白空间,而Koopa壳反转方向。例如,在这里观看红色外壳。 假设“超级马里奥”级别只有一个街区高,并且每个网格单元都是砖块或空白空间,但最左边的单元包含向右移动的外壳。该关卡也是周期性的,因此,如果壳退出该关卡的右边缘或左边缘,它将在另一侧重新进入。在这种情况下,壳将继续弹起并破坏该关卡中的所有砖块,直到不再有。最后一块砖块破裂后,壳会走多远? 挑战 编写一个包含非负十进制整数的程序或函数。这个数字以二进制形式表示,没有前导零(唯一的例外是0本身),对一个块的高级布局进行编码。A 1是砖块,a 0是空白空间。 Koopa外壳插入到水准仪的最左边缘,并且最初向右移动。例如,与输入关联的级别39为 >100111 因为100111是二进制39,以及>和<右表示和左侧分别移动壳。 一旦最后一块积木(aka 1)损坏,您需要打印或返回壳体行进的总距离。 对于输出39IS 7和水平看起来像这样的变化: Level Cumulative Distance >100111 0 <000111 0 >000110 0 0>00110 1 00>0110 2 000>110 3 000<010 3 00<0010 4 0<00010 5 <000010 6 000001< 7 000000> 7 <-- output 类似地,输出为6IS 1: Level Cumulative Distance >110 …

13
谢尔宾斯基层
首先,/\您可以通过在下面添加一条线来创建类似于Sierpinski三角形的图案,从而... 任何松散的分支/或\再次分裂为两个分支:/\。 分支的任何碰撞都将\/死,其下无任何东西(只有空格)。 重复这些规则将产生 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... (ViHart的启发) 编写一个程序或函数,该程序或函数接受一个正整数N,并将此模式的前N行打印到stdout,且前导或尾随空格不超过所需数量。 例如,如果输入是1输出,则必须为 /\ 如果输入是2输出,则必须为 /\ /\/\ 如果输入是8输出,则必须为 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ 等等。 字节最少的代码获胜。

2
策划策略
我只能找到Mastermind的代码挑战,所以这是我想承担的代码挑战版本。 普通的Mastermind游戏的最佳策略MM(4,6)由Koyama和Lai于1993年发现,平均猜测数= 5625/1296〜4.34。MM(5,8)仍未解决,但估计平均猜测数约为5.5。 您的任务是创建一个MM(5,8)策略,该策略适用于5个孔和8种颜色,涵盖所有pow(8,5) = 32768可能的不同解决方案。显然,它不一定是最佳选择。您有两种选择: 发布确定性程序以生成策略。该程序必须在Windows 7,Mac OS X或Linux上可编译/运行,且没有任何其他非自由软件。 在Internet上的某个位置发布您的策略(以及您的StackExchange名称)并在此处发布URL。 在这两种情况下,请在答案的标题中注明分数(见下文)。 必须根据以下语法对策略进行编码: strategy : guessing-strategy | known-solution-strategy guessing-strategy : '{' guess ':' branches '}' known-solution-strategy : guess guess : color color color color color color : 'A'..'H' branches : '{' branch (',' branch)* '}' branch : reply ':' strategy …

3
啊!野兽在这里!
正如我们从IBM PC AT,YouTube(请参阅视频),Wikipedia(请参阅文章)和芝麻街所了解的: 字母H是字母表中最无情的字母! (即使实际上是由代码页437中的两个元素组成的,实际上,这种方式更无情。) 就像外星人一样,呃...呃... 外星人,野兽不懈地追求所有敢于靠近卵子的人。他们没有理由。如果不灭,就必须压扁它们。 对于这种情况,我们将假设您已经到了最后一生,并且您在没有卵的地形中遇到了野兽(如Wikipedia屏幕快照中所示)。您没有数字键盘,只能直接向上/向下/向左/向右移动...但是这些野兽显然有一个,可以在转弯时对角移动。 野兽在其选择中的移动选择将是使与玩家的距离最小化的选择。如果距离相等,则完成平局决胜,偏爱向左+向上胜于向右+向下,但这是明确的消歧矩阵...最低的平局决胜数: 1 3 4 2 H 5 6 8 7 野兽从不睡觉,但幸运的是,它们比玩家还慢。他们每隔一圈移动一次(通过在第二个回合开始他们的交替来让玩家领先。)如果可能的话,他们必须移动,无论这是否使他们离玩家更远。 如果将一列可移动的墙壁移动到封闭的缝隙中,则可以将其压碎。这些普通的野兽每头值2点。 输入项 一对整数,指示列大小,然后按行大小。 输入行的行数,每列大小...包含实心壁​​(#),活动壁(~),野兽(H),播放器(O)或仅一个空格。 输入将是U,D,L,R,表示玩家尝试移动...或等待等待的W。请注意,尝试推动被阻塞的可移动墙是合法的输入,只会导致不采取任何措施。 输出量 aHHHH! 如果野兽杀死了玩家...或者如果玩家赢了而没有剩下的野兽则一无所获 比分 (注意:出于调试目的和/或娱乐目的,您可能希望能够在每个步骤中输出状态;但这太长了,无法在此处发布。) 澄清说明 确保地图被实心墙包围。 谁依次移动的顺序对结果很重要。因此:玩家总是先走,然后如果您从左上到右从屏幕上扫过,则根据野兽的初始地图位置对其进行排序。(第1行的野兽移动到第2行的野兽之前,并且同一行上的两个野兽将是具有最低列号的野兽,然后移动到另一行) 对角移动的野兽可以移动到任何相邻的对角线开放空间中,而不管是否需要在墙壁之间挤压。 只要另一端有空间或野兽,玩家就可以将任何数量的可移动墙沿一条线推入。但是,尝试将一列墙壁推入没有固定在墙壁之间的野兽中时,会将野兽视为墙壁,并且不允许移动。 野兽在回合中的移动决定取决于玩家在回合开始时的位置。它对“玩家距离”的理想优化是通过“乌鸦飞翔”计算。从其正方形的中心到玩家正方形的中心测得的结果相同的任何近似值都可以。 如果由于较高优先级的野兽而无法将其作为第一顺位的行动,那么它将选择其第二个最佳选择,而不是保持原状(如果仍然可以采取行动)。 样品盒 简单粉碎 输入项 5 3 ##### #O~H# ##### R 输出量 2 偏好矩阵->死亡 输入项 5 …
19 code-golf  game  maze 

5
2048机器人挑战赛
我们一直在克隆 2048,分析 2048,但是为什么我们还没有播放呢?编写一个555字节的javascript代码段以自动播放2048,一个小时后的最佳得分将起作用(请参阅下面的得分)。 设定: 转到2048并运行: a = new GameManager(4, KeyboardInputManager, HTMLActuator, LocalStorageManager); a 是控制游戏的对象。 规则: 设置完成后,您可以从控制台运行555字节的JavaScript,以控制游戏。您可以在此处找到游戏的源代码(包括注释)。 它只能做用户可能做的事情: a.move(n) 在四个方向中的任何一个上触发按键动作。 0:向上,1:向右,2:向下,3:向左 a.restart() 重新启动游戏。游戏中间允许重新启动。 有关游戏状态的信息可以在中找到a.grid.cells。该信息是只读的 允许挂钩任何功能,不允许以任何方式更改其行为(或更改任何其他数据) 每250ms只允许移动一次 例 只是一个非常简单的示例。不带注释并输入181个字节。 //bind into new tile function and change m(ove) variable when a tile was moved b = a.addRandomTile.bind(a); m = !1; a.addRandomTile = function() …

29
确定胜出力
让我们打一些代码高尔夫! 给定井字游戏板状态(示例:) |x|x|o| |x|o|x| |o|o|x| 确定游戏是wina lose还是cat。给定状态,您的代码应输出所有这些选项。上面的游戏应该输出lose 需要明确指出的是:获胜定义为x连续3 秒(对角线,水平线,垂直线)。失败是o连续3 秒,而cat游戏却是连续3 秒。 为了使事情变得有趣,您需要确定状态的输入结构,然后必须对其进行解释。例如,xxoxoxoox如上所示是一个有效状态,其中从左到右,从上到下读取每个字符。[['x','x','o'],['x','o','x'],['o','o','x']]是以类似方式读取多维数组中的游戏。虽然0x1a9这是十六进制为110101001可能的工作作为一个适当的压缩,其中1可以针对被操纵xS和0可以被操纵o。 但这只是一些想法,我相信您可能会有很多想法。 基本原则: 您的程序必须能够接受任何可行的状态。 输入形式必须能够表示任何状态。 “获胜状态必须从董事会中确定” 假设一个完整的董事会 Win之前,lose例如在的情况下“xxxoooxxx” 最低字符数获胜
19 code-golf  game 

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.