Questions tagged «game»

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

2
成为冠军
井字游戏拉丁! 这是一个真实的故事,因此名称已更改。 我的拉丁老师拉丁先生创建了自己的专有(无笑话)井字游戏变体。我们称其为tic-tac-latin。这款游戏很简单,基本上是井字游戏,四格四格。 正式规则声明 线可以是行,列或对角线。有两个符号,“ X”和“ O”,但是一个或两个都可以代替一个不同的符号。 当您的符号中有三个而另一个字符中的一个时,您得分为一。 这些安排得分: --- -O-- XXXO XOOX O -XX - 哦 - - X - --- Ø 这些不得分: ---- XXXX ---- OOOO ---- XXX- ---- OOO- 只要一个玩家获得的积分多于另一个,就会赢得比赛。仅当棋盘被填满时,游戏才是平局。 挑战 解决这个游戏。您的工作是提供一种保证双赢的方法,以最佳结果为准。 您的解决方案可以选择从第一开始或从第二开始(因此可以选择它的符号)。在用户输入动作并相应显示更改的情况下,实现交互式游戏不是强制性的。它也可以是将输入作为游戏状态并输出新棋盘或其动作描述的功能或程序。每种选择每次移动都必须在大约十秒钟内运行。 与任何顺序的比赛对战时,玩家都必须获得最佳结果。这意味着您可以假设输入位置是您在播放器中可以到达的位置。提交的内容必须是确定性的,并不一定需要提供最佳的证明,但是,如果提交的内容(被殴打)被破译,您的提交将被视为无效(您可以将其保留,但可以在标题中添加(破译))。 这是一项艰巨的任务,因此任何有效的提交都是令人印象深刻的,值得我们接受,但是我将使代码高尔夫球成为主要的获胜标准。 通过从该列表中向下选择直到选择一名获胜者来选择获胜者。 最短的解决方案实现,总能取胜 最短的实施
11 code-golf  game 

17
宠物小精灵GO Evolution费用计算器
厌倦了总是想知道要获得这些高级进化,还需要捕获多少个神奇宝贝?不再感到奇怪!现在,您将编写一个完整的程序或函数来为您计算! 挑战: 作为输入,您的程序将收到糖果成本清单,以将神奇宝贝升级到下一层。(此列表可以由您选择的任何分隔符分隔,也可以作为函数参数分隔)。然后,您的程序将返回或打印必须捕获的Pokémon的数量,包括将要进化的数量,以在给定的所有层中进化。 您如何计算?像这样: 1.将所有糖果成本12 + 50 = 62 相加:2.从总数中减去3个糖果,这是您为不断进化而保留的一个神奇宝贝的62 - 3 = 59 数量:3.将这个数字除以4(3个为捕捉数量,1个为分配给教授),始终取ceil()结果ceil(59/4) = 15 的取值:4.最后,在总数中加1,以获取必须捕获的神奇宝贝总数,即16! 范例Input -> Output: [4] -> 2 [50] -> 13 [12, 50] -> 16 [25, 100] -> 32 [19, 35, 5, 200] -> 65 获奖情况: 该应用程序已经占用了手机上的大部分空间,因此您的程序需要尽可能短。字节数最少的完整程序或功能将在两周内被接受!(任何联系均由最早提交的参赛作品解决!)
11 code-golf  game 

5
评估战略战斗
在游戏Stratego中,主要的游戏机制是当您用自己的对手攻击对手的棋子时。在这个挑战中,您的工作是模拟其中一场战斗,并说出谁能幸免。 眼镜 您将获得一对表示Stratego件的字符串作为输入。这些碎片是其中之一"S 1 2 3 4 5 6 7 8 9 10 B"(S是间谍,B是炸弹)。这对中的第一个将成为攻击者,第二个将被攻击。 以下是确定战斗结果的规则: 较高的数字胜过较低的数字:["4", "6"] -> ["6"]。 如果两者相同,则都死:["7", "7"] -> []。 间谍位于底部,甚至位于以下1:["S", "2"] -> ["2"]。 但是,如果间谍攻击10,则间谍会获胜:["S", "10"] -> ["S"]。 但是如果10攻击者是,则正常规则仍然适用["10", "S"] -> ["10"]。 如果有任何东西袭击炸弹,则炸弹获胜:["5", "B"] -> ["B"]。 但是,矿工(a 3)可以化解炸弹:["3", "B"] -> ["3"]。 炸弹永远不会成为攻击者。 监视者(a 1)可以使用常规机制进行攻击,但是他们也可以尝试“猜测”其他玩家的等级,可以用任何理智的符号表示。 如果他们猜对了,另一片死亡:["1(5)", "5"] -> …

4
得分一个游戏的负载,保卫和射击
小时候,我经常玩这个游戏。 规则 有两个玩家(我们分别称为A和B),每个玩家都用他的手作为枪支。有三种可能的动作: 举起手来向您的枪支装弹药。 每把枪空着。装载使弹药增加一倍。 指向另一个球员射击的手。 这会使弹药减少一倍。您必须至少有一个单位的弹药才能射击。 双臂交叉以保护自己免受射击。 两名玩家同时移动。如果两个玩家同时射击,子弹会互相击中,然后游戏继续进行。当一名玩家射击而另一名玩家携带弹药时,游戏结束。 射击和空枪被认为是作弊行为。如果一名玩家作弊,而另一名玩家执行法律诉讼,则该作弊者立即输掉。如果两个玩家同时作弊,游戏将继续。 作弊尝试不会减少弹药,因此永远不会是负面的。 挑战 给定玩家A和B的举动,输出赢得游戏1的玩家:玩家A,-1玩家B和0平局。您可以使用其他任何三元组的返回值,但是您需要在答案中说明使用了哪些返回值。 游戏可能会: 无需处理所有移动即可结束; 不能以给定的动作结束,因此被视为平局。 输入可以采取: 作为字符串 作为整数的数组/列表 以任何其他不预处理输入的方式 允许完整的程序或功能。由于这是代码高尔夫,因此以字节为单位的最短答案为胜! 测试用例 A: "123331123" B: "131122332" -----^ Player B shoots player A and wins. Output: -1 A: "111322213312" B: "131332221133" -------^ Player B cheats and loses. Output: 1 A: "1333211232221" …
11 code-golf  game 

3
可能的俄罗斯方块序列
编写代码以弄清楚官方的Tetris算法是否可以生成一系列Tetris。最少的字节数获胜。 官方的俄罗斯方块游戏以特殊方式生成掉落序列。IJLOSTZ以随机顺序删除这七个片段,然后删除另一个随机排列,依此类推。 JTLOISZ STJOLIZ LISJOTZ ... 此示例包含连续的片段 SZSTJOLIZLIS 请注意,它跨越了一个由7组组成的边界。 SZOTLZSOJSIT 不能是任何俄罗斯方块序列的子字符串,因此在正式的俄罗斯方块游戏中永远不会看到它。 输入:一个非空的字母字符串IJLOSTZ。 输出:一个True或Falsey值,表示输入是官方Tetris Random Generator可以生成的序列的子字符串,即七个字母的排列的串联。 测试用例: 真正: T JJ (unique breakdown: J J) JTJ (possible breakdown: JT J) LTOZIJS SZSTJOLIZLIS (possible breakdown: SZ STJOLIZ LIS) JTLOISZSTJOLIZLISJOTZ (possible breakdown: JTLOISZ STJOLIZ LISJOTZ) LIJZTSLIJZTS (unique breakdown: LIJZTS LIJZTS) 假: SZOTLZSOJSIT ZZZ ZIZJLJ …

1
蛙人冠军
游戏 我们大多数人都知道Frogger,这是80年代的街机游戏,其目标是让青蛙安全地越过繁忙的高速公路和充满危险的池塘,安全地到达家中。 一个挑战是发行几个月前制定一个青蛙的克隆。但是,为什么可以在玩 Frogger 时克隆 Frogger?:) 考虑以下简化播放网格: XXXXXXXXXXXXXXXXXXXXXXX North Safe Zone ----------------------- | | <<<< Express Lane West (Lane 1) | | > Gridlock East (Lane 2) | | << Freeflowing Traffic West (Lane 3) | | < Gridlock West (Lane 4) | | >>>> Express Lane East (Lane 5) …

2
X大于3,且X和Y之间至少相差2
我试图打败一些C ++。是否可以使这种情况更短? X > 3 & X - Y > 1 (当然,除了删除空白。) 所以,X至少4,但X >= Y + 2。 X和Y是[0,5]间隔中的整数。 我试图找到一些按位公式,但失败了。
11 code-golf  number  tips  c++  code-golf  popularity-contest  obfuscation  code-golf  c  code-golf  board-game  hexagonal-grid  code-golf  game  grid  code-golf  number  permutations  popularity-contest  math  graphical-output  number-theory  king-of-the-hill  code-challenge  compression  code-challenge  fastest-code  code-golf  math  ascii-art  animation  code-golf  popularity-contest  generation  counting  fastest-code  fastest-code  popularity-contest  image-processing  king-of-the-hill  code-golf  conversion  binary-tree  code-golf  math  number  rational-numbers  division  code-golf  restricted-source  hashing  atomic-code-golf  logic-gates  code-golf  function  code-challenge  puzzle-solver  ai-player  test-battery  popularity-contest  music  compression  code-golf  number  stack  atomic-code-golf  logic-gates  ascii-art  popularity-contest  code-golf  date  grid  code-challenge  game  code-golf  parsing  code-golf  math  geometry  sequence  popularity-contest  code-trolling  code-golf  string  restricted-source  code-golf  quine  king-of-the-hill  code-golf  math  code-golf  simulation  code-golf  ascii-art  code-challenge  sorting  optimization 

1
在“三消”游戏中找到最佳即时动作
今天的挑战是要像这样输入信息: fbcfbee ffcabbe debceec bccabbe edcfbcd daeaafc eebcbeb 并在类似“宝石迷阵”的游戏中输出可能的最佳动作,该动作将匹配三个或更多字母,如下所示(请注意大写字母B和C): fbcfbee ffcabbe deBCeec bccabbe edcfbcd daeaafc eebcbeb 完整规格: 输入将是每n行n小写字母(n可以是任何数字)。 输出将是您在三消游戏中可以采取的最佳举措,其中两个您想交换的字母都大写。 匹配项应具有以下优先级(在这些示例中,.表示无关紧要的正方形): 一排五 xxYxx ..X.. 断五行 X.. Yxx x.. x.. 要么 .X. xYx .x. .x. 四排 xYxx .X.. 三排 xYx .X. 您必须找到最高优先级的匹配并输出。 如果存在多个具有相同优先级的匹配项,则可以输出其中任何一个。 总会有至少一场比赛(如果没有比赛,或者您想做任何事情,您的程序可能会中断)。 I / O可以采用任何合理的格式(stdin / out,读写文件,函数自变量/返回值,对话框等),但不可以进行硬编码(如x="[insert input here]")。 这是代码高尔夫球,因此以字节为单位的最短代码获胜。如果您出于某种原因使用任何网络访问,则从网络下载的所有字节都将计入您的分数。
11 code-golf  game 

4
建立确定性的Go AI
这是我前几天想到的一个有趣的问题,它涉及到一些代码位与其他代码位竞争,不仅是在代码具有的属性中,而且是通过与其他代码位进行游戏。 您的任务是构建一个程序,该程序采用Go板的当前状态,并确定要采取或通过的动作。 您的程序将接受以下内容作为输入: 19行,每行19个字符,代表Go板上当前的棋子。的字符0代表一个空的正方形,1是黑色和2白色。 两个数字代表每个玩家拥有的囚犯件数(黑色,然后是白色)。 一个数字,代表要移动的人(黑色或白色)。如上所述,1是黑色,2是白色。 并输出以下内容之一: 一对坐标,a b表示移动的坐标。1 1是左上角的正方形,第一个和第二个数字分别代表向下和向右移动。 字符串pass,表示通过。 例如,该程序可能会收到以下输入: 0000000000000000000 0000000000000000000 0000000000000000000 0001000000000002000 0000000000000000000 0000000000000000000 0001210000000000000 0000100000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0002000000000001000 0000000000000000000 0000000000000000000 0000000000000000000 0 0 1 代表只玩了几步的游戏。 然后程序可能会输出6 5,这意味着“在顶部的第6点和左侧的第5点放置一块黑色的石头”。这将捕获处的白色石头7 5。董事会的状态将更改为: 0000000000000000000 0000000000000000000 0000000000000000000 0001000000000002000 0000000000000000000 0000100000000000000 0001010000000000000 0000100000000000000 0000000000000000000 0000000000000000000 0000000000000000000 0000000000000000000 …

4
重新创建经典的蛇游戏
挑战是使用尽可能少的字节来创建经典的Snake游戏。 要求如下: 游戏必须以典型的二维布局实现。蛇应该能够在地图范围内显着生长(这确实意味着,不要将地图缩小得太小,请在此处谨慎使用)。 用户可以使用您选择的键来移动蛇,但是,蛇无法重返自身(例如,如果向西移动,则不先向北或向南移动就不能向东移动)。一条蛇应该能够在所有四个方向上移动:上,下,左,右(北,南,西,东)。 蛇以长度1开始,每次吃“食物”物体时,其长度就会增加+1 食物被随机放置在蛇所没有占据的地方 如果蛇撞到自己或撞墙,则游戏结束 游戏结束后,将显示文字“分数:[分数]”,其中[分数]是游戏过程中食用的食物数量。因此,例如,如果游戏结束时蛇吃了4种“食物”(因此长度为5),则将打印“得分:4”。 除非在您的代码中明确定义了压缩算法,否则没有压缩算法。 这是我的解决方案,908字节,Python 2.7 import random as r import curses as c def g(s,w,l): while 1: p=[r.randrange(0,w),r.randrange(0,l)] for l in s: if l==p:continue return p s=[] d=[0,1] p=k=n=0 e=100 v={65:[-1,0],66:[1,0],68:[0,-1],67:[0,1]} z=c.initscr() w,l=z.getmaxyx()[0],z.getmaxyx()[1] c.noecho() z.clear() x=g(s,w,l) s.append([w/2,l/2]) z.nodelay(1) q=lambda h,i:range(h,len(i)) while k!=101: k=z.getch() if …
11 code-golf  game 

7
建立一个九级猜词游戏
基础: 您需要提供尽可能少的字符(以您选择的语言显示)的九级猜词游戏。 指标: 提供单词列表(每行一个单词,用换行符分隔)(例如 /usr/share/dict/words,可以这样做)。可以将文件名或单词列表本身通过管道传递到您的解决方案中。 提供9个级别,这些级别的单词长度递增(带有4个字符和->12个字符的单词): 级别1:来自单词表的随机单词,包含4个字符 级别2:来自单词表的随机单词,包含5个字符 …… 级别8:来自单词表的随机单词,包含11个字符 9级:来自单词表的随机单词,包含12个字符 在每个级别中,混淆从列表中随机选择的单词(当然具有特定的单词长度),并用星号(*)替换一定数量的字符。该数字的字符来代替:current_word_length / 3(向下取整)。随机替换哪些字符。 让玩家“猜”这个单词(try每个级别仅一个),给出反馈(correct或wrong)并相应地给出分数。正确时,玩家获得number_of_obfuscated_characters * 10 points。 在每个级别的末尾打印当前分数。 格式(&示例I / O): 确保遵循以下格式设置方案: 级别1#级别标头 =======# g * ek#混淆词 极客#用户输入 正确的#猜测验证 得分:10#打印得分 # 2级 ======= l *核 linux 正确 得分:20 3级 ======= 跑了** m 随机 正确 得分:40 ... 9级 ======= sem …
11 code-golf  game 

4
命名吹牛之手
背景 吹牛是一种纸牌游戏,其概念类似于扑克,但比扑克简单。吹牛由三张牌组成,从高到低排名如下: 三种-所有三张牌的等级相同。命名为“三王”等 运行冲洗,也称为直接冲洗。相同花色和连续等级的所有三张牌。该手牌由三张牌以升序命名,后跟“弹跳”字样,以区别于简单的奔跑/直行,例如“弹跳时十个插孔的女王”。请注意,王牌是高位还是低位,但不是两者都高-“王牌王牌二”不是一轮。 直奔。如上所述,但不需要搭配西装。简单地命名为例如“十个杰克女王”。 同花大顺-所有三张牌都相同,以最高级别命名,例如“ As同花顺”。 配对-两张同等级的牌,另一张同等级的牌。命名为“三元组”等 以最高等级命名的任何其他组合,例如“王牌高”。 挑战 给定三张纸牌,输出他们输出的吹牛手的名称。 卡片将以三个2个字符的字符串输入,或者以单个6个字符的字符串连接(无论您的实现方式是哪一个),其中每对中的第一个是等级(2 ... 9,T,J,Q, K,A),第二个表示西装(H,C,D,S)。 适用标准高尔夫球规则-编写程序或函数以接受此输入并输出手的名称,如上所述。 您可以假定输入将是有效的(在上述范围内,等级和花色,没有重复的卡片),并且在任何情况下都可以使用,但顺序不是特定的。 输出必须全部大写,全部小写或大写,例如标题大小写或句子大小写。数字等级应拼写清楚,例如“十”而不是10。 样本输入和输出: 2H3C2D => "pair of twos" TD8C9C => "eight-nine-ten" 4SKS9S => "king flush" 4D4H4S => "three fours" 5H3H2C => "five high" 2D3DAD => "ace-two-three on the bounce" 6D6C6H => "three sixes" 这是我第一次尝试在此站点上进行挑战,请提出一些改进建议,但要谨慎:)

5
命名扑克手-7张牌
挑战: 在这个问题中:命名您必须拿出五张牌的扑克手并识别它。这个问题很相似,有两个不同之处: 首先,输出将全部为小写。这样您就可以进行更多的高尔夫球运动,因为您不必担心flush和的大小写。straight high card one pair two pair three of a kind straight flush full house four of a kind straight flush royal flush 其次,随着德州扑克和7张牌梭哈的流行,我们在代码高尔夫这里应该能够得分7张扑克牌,对吗?当得分为7张牌时,请使用5张最好的牌,而忽略不需要的2张。 参考: 扑克手名单:http : //en.wikipedia.org/wiki/List_of_poker_hands 输入(直接从上一个线程中提取) 来自stdin或命令行参数的7 张卡片。卡片是表格上的两个字母的字符串RS,其中R是等级,S是西装。该队伍是2- 9(号卡), T(十个),J杰克(Jack),(Q皇后), K(王),A(ACE)。该套装是S,D,H,C为黑桃,方块,分别心和俱乐部。 卡示例 5H - five of hearts TS - ten of spades AD - ace …
11 code-golf  game 

11
玩Pickomino
在Pickomino游戏中,桌子中间放着几块瓷砖,每块瓷砖上都有一个不同的正整数。每回合,玩家以某种方式掷骰子并获得分数,这是一个非负整数。 现在,玩家将选择仍低于或等于其分数的最高编号的图块,从中间移除图块并将其添加到堆栈中。如果由于中间的所有数字均高于玩家的分数而无法这样做,则玩家将失去其堆栈中最上面的图块(该图块最近添加),并返回中间。如果玩家没有剩余的瓷砖,则什么也不会发生。 挑战 模拟对自己玩游戏的玩家。您会在中间找到一个磁贴列表,以及一个获得的分数列表。在评估所有回合之后,返回玩家的磁贴列表。 挑战规则 您可以假设包含图块的列表是有序的,并且两次都不包含任何整数。 您可以按任意顺序获取两个输入列表 输出必须保持切片在堆栈上的顺序,但是您可以决定列表是从上到下还是从下到上排序。 通用规则 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您使用非代码高尔夫球语言发布答案。尝试针对“任何”编程语言提出尽可能简短的答案。 标准规则适用于具有默认I / O规则的答案,因此您可以使用STDIN / STDOUT,具有正确参数的函数/方法以及返回类型的完整程序。 默认漏洞是禁止的。 如果可能的话,请添加一个带有测试代码的链接(即TIO)。 建议为您的答案添加说明。 例 (摘自第6个测试用例) Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36] Scores: [22, 22, 22, 23, 21, 24, 0, 22] 第一个分数是22,所以取中间<= 22的最高分块,也就是22本身。 Middle: …
10 code-golf  game 

1
Tatamibari求解器
背景 Tatamibari是由Nikoli设计的逻辑难题。 Tatamibari拼图游戏在带有三种不同符号的矩形网格上播放:+,-。和|。求解器必须根据以下规则将网格划分为矩形或正方形区域: 每个分区中必须只包含一个符号。 一个+符号必须包含在一个正方形。 甲|符号必须被包含在具有比宽度更大的高度的矩形。 甲-符号必须被包含在具有比高度较大的宽度的矩形。 四个片段可能永远不会共享相同的角落。(这是日本榻榻米瓷砖通常的放置方式。) 以下是一个示例难题,并提供了解决方案: 任务 解决给定的Tatamibari难题。 输入输出 输入是一个2D网格,代表给定的Tatamibari拼图。每个单元包含四个字符之一:+,-,|,和您所选择的字符来表示一个非线索细胞。在测试用例中,使用星号*。 您可以选择任何合适的输出格式,这些输出格式可以明确表示Tatamibari拼图的任何有效解决方案。这包括但不限于:(如有疑问,请在评论中提问。) 4元组的列表,其中每个元组包括矩形的顶部索引,左侧索引,宽度和高度(或任何等效表示形式) 与输入形状相同的数字网格,其中每个数字代表一个矩形 坐标集列表,每个坐标集包括矩形中单元格的所有坐标 如果难题有多个解决方案,则可以输出任意数量(一个或多个)的有效解决方案。输入保证至少有一个解决方案。 测试用例 Puzzle: |-* *+| *-* Solution: 122 134 554 ===== Puzzle: +*** **|* *+** ***- Solution: 1122 1122 3322 3344 ====== Puzzle: |*+*+ ***** ****- ***+| +**** Solution: 12233 12233 44444 55667 …

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.