Questions tagged «card-games»

对于涉及纸牌游戏的挑战。这包括玩游戏,实施游戏以及与个人机制和游戏分析有关的挑战(例如,计算某些事件的概率)。

8
打高尔夫球
小时候,我经常玩纸牌游戏“ 高尔夫 ”。您应该选择接受的挑战是计算高尔夫球手的得分。由于此纸牌游戏1有9000多种版本,我们将遵循我记得玩的规则。 游戏规则) 您以6张牌结束一轮比赛,并且希望获得尽可能少的积分。 不使用小丑。 A和2分别得-1和-2分。 杰克和国王都得0分。 3到10张卡片的面值是值得的。但是,当您将它们配对时,它们将被取消。例如,一个5代表5分,但是两个5代表零。三个5代表5分(因为前2个配对,但第3个不是。),四个5代表0(因为共2个配对)。 皇后区值15分。皇后不能取消,例如2个皇后价值30分。 规则(挑战) 输入将是一个整数数组,或6个单独的整数。您更喜欢哪一个。1代表一张ace,2-10代表2-10,Jack,Queen和King代表11、12和13。输出是根据上述规则的一手牌得分。您可以放心地假设所有输入均有效,例如,没有数字出现超过4次,并且所有数字都在范围内[1, 13]。输入和输出可以采用任何合理的格式。 测试IO: [11, 10, 3, 1, 2, 2] --> 8 [4, 5, 5, 3, 8, 7] --> 22 [2, 2, 2, 2, 1, 1] --> -10 (The lowest score possible) [12, 12, 12, 12, 10, 9] --> 79 …

27
一个月中有几天?
给定一个月的文本表示形式(不区分大小写的全名或3个字符的缩写),请返回该月的天数。 例如,december,DEC,和dec都应该返回31。 2月可以有28天或29天。 假设输入的是正确格式之一的月份。

3
实施简化字距调整
介绍 字距调整是指调整文本字母之间的间距。例如,考虑Top用以下三个字形写的单词: ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... 我们可以用点填充字形之间的间隙并完成它,但是间隙看起来太宽了。相反,我们将字形滑动到左侧,以便它们几乎可以接触: #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... 看起来好多了!请注意,的条形图T在的左边框上方o。在此挑战中,您的任务是为此类矩形字形实现一个简单的字距调整程序。 字距调整过程 考虑具有.和#形状相同的两个矩形2D字符数组。在简单的字距调整过程中,我们首先将数组并排放置,中间放置一列.s。然后,我们将#右阵列中的每一个向左移动一步,直到#左右阵列中的s正交或对角相邻。字距调整的结果是引入相邻s 之前的步骤#。您的任务是实施此过程。 让我们举个例子: Inputs: ..### #.... #.... ..##. ...#. ...## ..### ....# Process: …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  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 

15
半回文之谜
回文是一个本身相反的词。 现在有些单词看起来像回文,但看起来却不然。例如,考虑单词 sheesh, sheesh不是回文,因为它的反向是hseehs不同的,但是如果我们认为sh是单个字母,那么它的反向是sheesh。我们将这种词称为半回文。 具体来说,如果我们可以将单词拆分成一定数量的块,则该单词为半回文,这样当块的顺序颠倒时,便形成了原始单词。(因为sheesh这些块是sh e e sh),我们也将不要求任何块包含两个单词的字母(否则每个单词都是半回文)。例如rear,不是半回文,因为它r ea r具有一个块(ea),其中包含来自原始单词两边的字母。我们认为奇数长度的单词的中心字符不在单词的两侧,因此对于奇数长度的单词,中心字符必须始终位于其自己的块中。 您的任务是获取正整数列表,并确定它们是否为半回文。您的代码应输出两个一致的不相等值,如果输入是半回文,则应输出一个,否则将输出另一个。但是,代码的字节序列本身必须是半回文。 答案将以字节计分,而字节数越少越好。 测试用例 [] -> True [1] -> True [2,1,2] -> True [3,4,2,2,3,4] -> True [3,5,1,3,5] -> True [1,2,3,1] -> False [1,2,3,3,4,1] -> False [11,44,1,1] -> False [1,3,2,4,1,2,3] -> False 程序生成更多的测试用例。 borrible指出,这些与广义Smarandache回文相似。因此,如果您想做进一步的阅读,那是一个开始的地方。

10
最短的唯一标识子字符串
给定一个字符串列表,请用其非空子字符串之一替换每个字符串,该子字符串不是列表中任何其他字符串的子字符串,并且应尽可能短。 例 给定list ["hello","hallo","hola"],"hello"应替换为,"e"因为该子字符串未包含在其中"hallo","hola"并且它尽可能短。"hallo"可通过任一取代"ha"或"al"并"hola"通过任何"ho","ol"或"la"。 规则 您可以假定字符串将为非空,并且仅包含大小写相同的字母字符。 您可以假定列表中的每个字符串都存在这样的子字符串,即列表中的任何字符串都不是其他任何字符串的子字符串。 输入和输出可以采用任何合理的格式。 这是code-golf,因此请尝试使用您选择的语言使用尽可能少的字节。 测试用例 在大多数情况下,仅给出一种可能的输出。 ["ppcg"] -> ["p"] (or ["c"] or ["g"]) ["hello","hallo","hola"] -> ["e","ha","ho"] ["abc","bca","bac"] -> ["ab","ca","ba"] ["abc","abd","dbc"] -> ["abc","bd","db"] ["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"] ["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"] 相关:最短识别子字符串 -类似的想法,但涉及更多规则和繁琐的格式。
23 code-golf  string  code-golf  string  code-golf  array-manipulation  code-golf  quine  code-golf  array-manipulation  integer  matrix  classification  code-golf  quine  code-golf  string  matrix  conversion  code-golf  string  number  code-golf  string  code-golf  number  sequence  integer  code-golf  decision-problem  matrix  code-golf  string  code-golf  math  code-golf  math  array-manipulation  combinatorics  code-golf  random  code-golf  code-golf  alphabet  code-golf  python  c  code-golf  base-conversion  code-golf  string  counting  code-challenge  code-generation  fastest-code  code-golf  kolmogorov-complexity  matrix  code-golf  string  code-golf  array-manipulation  decision-problem  random  sudoku  code-golf  chess  code-golf  card-games  encode  code-golf  decision-problem  code-golf  code-golf  math  array-manipulation  matrix 

15
几何挑战
每个人都喜欢几何。那么,为什么我们不尝试编写高尔夫球代码呢?这项挑战涉及输入字母和数字并根据其形状。 输入 输入将采用的形式(shapeIdentifier)(size)(inverter)。 但是shapeIdentifier,大小和逆变器是什么? 形状标识符是您将使用*s 制作的形状类型的标识符。以下是形状标识符: s -正方形 t - 三角形 大小将介于之间1-20,它是图形的大小。 逆变器确定形状是否上下颠倒,用a +或a 表示-。请注意: s3-==(等于),s3+因为正方形是对称的。但是,t5-!=(不相等)t5+。 在输出中可以使用尾随空白,但不能使用前置空白。 输出实例 Input: s3+ Output: *** *** *** Input: t5+ Output: * *** ***** Input: t3- Output: *** * 特别说明 三角形输入将始终为奇数,因此三角形*的顶部始终以1结尾。 三角形的大小(如果是)是底部的大小,如果是 +,则是顶部的大小-。
23 code-golf  string  ascii-art  geometry  code-golf  ascii-art  subsequence  fewest-operations  test-battery  code-golf  array-manipulation  bitwise  code-golf  interactive  code-golf  music  code-golf  string  kolmogorov-complexity  code-golf  string  decision-problem  simulation  code-golf  string  classification  code-golf  sequence  base-conversion  palindrome  code-golf  kolmogorov-complexity  code-golf  date  astronomy  code-golf  sequence  base-conversion  code-golf  geometry  combinatorics  code-golf  string  code-golf  math  array-manipulation  code-challenge  math  code-golf  card-games  code-challenge  array-manipulation  sorting  code-golf  code-golf  math  abstract-algebra  polynomials  code-golf  palindrome  factoring 

12
得分之心
《红心大战》是一款供4位玩家玩的花样纸牌游戏。每把戏都是由打出领先套装最高牌的玩家所采取的。在每局结束时,玩家都会根据所持的罚卡获得罚分;任务是根据Microsoft Hearts规则确定分数。 输入项 输入的是4个列表(或定界字符串,数组等),显示4个玩家中每一个所拿的罚卡。罚卡是 2♥, 3♥, 4♥, 5♥, 6♥, 7♥, 8♥, 9♥, 10♥, J♥, Q♥, K♥, A♥, Q♠ 我们将表示为 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1, 0 分别。 输出量 输出是4个玩家(列表,字符串,数组等)产生的4个罚分。得分如下: 每个心脏(♥由整数表示1,以13含)招1点 黑桃皇后(以Q♠代表0)得13分 例外:如果一名玩家拿走了所有罚点卡(称为射月球),则他获得0分,而所有其他玩家得到26分。 测试用例 [2, 8, 7, 1], [3, 4], [], [9, 5, 6, …

2
你会施法吗?
在《魔法:聚会》中,法师(称为“鹏洛客”)通过施展法术相互抗争。法术消耗魔法。存在五种法术力颜色:白色,蓝色,黑色,红色和绿色,分别表示为{W},{U},{B},{R}和{G}。 咒语的费用稍微复杂一些。成本可以是以下各项的任意组合: 一种或多种颜色 一个或多个无色,表示为{X},其中X是一个正整数 一个或多个杂种,表示为{Y / Z},其中Y和Z是一种颜色(由五个字母之一表示)或无色,由一个正整数表示 尝试施放咒语时,以下规则适用: 成本中的一种颜色必须由一种颜色的法术力来满足 无色成本{X}可以由任何颜色的X魔法值来满足 可以通过满足Y或Z来满足混合成本{Y / Z} 请注意,大括号不嵌套 Y和Z不混合 编写一个程序或函数,给定一个法术力和一个成本池,当且仅当该池中的法术力可以满足该成本,否则打印或返回true(或某个真实值),否则返回false(或某个虚假值)。 魔力池是以下格式的非空字符串: Color1,Color2,Color3,...,Colorn-1,Colorn 费用是以下格式的非空字符串: Cost1,Cost2,Cost3,...,Costn-1,Costn 例子 格式Pool Cost -> ExpectedOutput(在“池”和“成本”之间有一个空格): {R},{R},{G},{B},{R} {4},{R} -> True {G},{G},{G},{G},{W},{W},{W} {2/W},{2/U},{2/B},{2/R},{2/G} -> False {G},{G},{R} {R/G},{G/B},{B/R} -> True {R},{R},{R},{G} {1},{G},{2/G}-> True {R} {R},{R},{R},{R},{R} -> False {W},{R},{R} {2/W},{W/B} -> True {U},{U} {1} …

10
该列表中有多少个二十一点序列?
您的任务是查找在12张卡的有序列表中可以找到多少个不同的21点序列。 二十一点序列被定义为连续的卡序列,其点的总和正好为21。点的计数根据下表进行: Symbol | Name | Points Symbol | Name | Points -------+-------+-------- -------+-------+-------- 2 | Two | 2 9 | Nine | 9 3 | Three | 3 T | Ten | 10 4 | Four | 4 J | Jack | 10 5 | Five | 5 Q …

9
纸牌游戏中的手形
一副纸牌是S西服和R等级的直角乘积。许多(尽管不是全部)纸牌游戏使用S=4和R∊{6,8,13}。一副H牌从甲板上发出。它的分布(也称为“手形”)是一个数组,用于描述您从每套西服中获得多少张牌,而忽略西服的顺序(因此,就像是多套)。鉴于分布D满足len(D)=S,1≤sum(D)=H≤S×R,0≤D[i]≤R,D[i]≥D[i+1],发现它发生的概率。 输入:一个整数R和一个数组D。 输出:小数点后至少5位数字的概率;尾随零可以被跳过;科学记数法还可以。 禁止漏洞。最短的胜利。 测试: R D probability 13 4 4 3 2 -> 0.2155117564516334148528314355068773 13 5 3 3 2 -> 0.1551684646451760586940386335649517 13 9 3 1 0 -> 0.0001004716813294328274372174524508 13 13 0 0 0 -> 0.0000000000062990780897964308603403 8 3 2 2 1 -> 0.4007096203759162602321667950144035 8 4 2 1 1 -> 0.1431105787056843786543452839337155 …

9
识别一半的扑克牌
赌场使用以下纸牌。(*是卡服的一个D,S,C或H。) _________ _________ _________ _________ _________ | | | | | | | | | | | | | | | * | | * * | | * * | | | | * | | | | | | | | * | | | | * | …

14
它是洗牌吗?
昨天我问这个约洗牌洗牌的问题。似乎昨天的问题有点太难了,所以这个问题是相关但容易得多的任务。 今天,您被要求确定排列是否实际上是浅滩混洗。我们对浅滩混洗的定义是根据我们上一个问题改编的: 洗牌的第一部分是鸿沟。在分隔分区中,一副纸牌一分为二。这两个小节必须是连续的,互斥的和详尽的。在现实世界中,要使您的分区尽可能地接近,但是在此挑战中,这不是要考虑的问题,所有退化的分区(一个分区为空)都是同等考虑的。 分区后,将卡拼接在一起,以使卡在它们所属的分区内保持其相对顺序。例如,如果卡片A在卡组中的卡片B之前,并且卡片A和B在同一分区中,则在最终结果中,卡片A必须在卡片B之前,即使它们之间的卡片数量增加了。如果A和B在不同的分区中,则它们在最终结果中可以采用任何顺序,而不管它们的开始顺序如何。 然后,可以将每个浅滩混洗视为原始纸牌的排列。例如排列 1,2,3 -> 1,3,2 是浅滩洗牌。如果你像这样分割甲板 1, 2 | 3 我们看到其中的每张卡1,3,2与其分区中的每张其他卡具有相同的相对顺序。 2仍在1。 另一方面,以下排列不是浅滩混洗。 1,2,3 -> 3,2,1 我们可以看到这一点,因为对于所有两个(非平凡的)分区 1, 2 | 3 1 | 2, 3 有一对卡不保持其相对顺序。在第一个分区1,并2改变他们的排序,而在第二个分区2,并3改变它们的顺序。 任务 通过任何合理的方法给定排列,确定它是否代表有效的浅滩混洗。您应该输出两个不同的常数值,一个用于“是,这是浅滩混洗”,另一个用于“不,这不是浅滩混洗”。 这是代码高尔夫球,因此答案将以字节计分,而字节数越少越好。 测试用例 1,3,2 -> True 3,2,1 -> False 3,1,2,4 -> True 2,3,4,1 -> True 4,3,2,1 -> False 1,2,3,4,5 -> …

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 

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, …

9
谁赢得黑桃把戏
编写代码以确定谁在黑桃游戏中赢得四张牌。最少的字节数获胜。 输入是一个字符串,其中列出了依次播放的四张牌,例如TH QC JH 2H(红心十张,俱乐部皇后,红心杰克,两张红心)。卡片由两个字符组成:的西装CDHS和的值23456789TJQKA。您可以确保输入有效,并且卡片是不同的。 您应该为该技巧的赢家输出1、2、3或4。在此示例中TH QC JH 2H,红心大佬将赢得胜利,因此您应输出3。 您的输入和输出必须完全与描述的相同,除了结尾的换行符是可选的。 这是黑桃赢得比赛的规则。获奖卡片是四张卡片中最高的一张,但有一些警告。黑桃是王牌,因此任何黑桃都比任何非黑桃都重要。第一张打出的牌是主打牌,只有该套牌或黑桃的牌才有资格赢球。比较相同花色的卡的值,并按升序给出23456789TJQKA。 测试用例: TH QC JH 2H 3 KC 5S QS 9C 3 QD 2D TD 5D 1 9S 5D AD QS 4 3D 4C 3H JH 1 9S 4S TS JS 4 5H 9H 2C AD 2 5S 4C 3H …

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.