Questions tagged «card-games»

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

4
帮我在作弊作弊
作弊是一种纸牌游戏,您想摆脱它。转弯大致如下所示: 确定您该回合必须打的卡等级。在大多数变体中,这比上一回合高一等级。 面朝下播放1-4张牌。这些不必匹配有效等级。如果他们不这样做,就被视为作弊。此时,任何玩家都可以挑战您。 如果没有人挑战您,则继续玩下一位玩家。 如果有人挑战您并且您没有作弊,那么他们必须拿走所有已玩过的纸牌。 如果有人挑战您并且您作弊,则您必须拿走所有已玩过的纸牌。 该策略主要是虚张声势和纸牌计数的组合。不过我数学不好,所以我要欺骗作弊者并带一个机器人。 输入值 输入将采用您想要的任何顺序或格式: 玩家的手。如果我知道他们必须有卡(例如,我看过他们捡起它们),则这些卡将以升序排列。任何未知内容将在之后列为?。例如,如果他们有6张牌,并且我知道2张为1,一张为4张,则该手的有效表示为114???。?总是会在已知卡之后列出。 141???并且11???4都是无效输入,您的代码不需要处理它们。 我绝对不知道这些卡不是他们手的一部分(我有它们,我看到有人捡起它们,等等)。该列表将按升序排列。该列表可能为空。 玩家声称玩的纸牌。如果他们声称玩3 7,则可能输入777。卡将始终处于同一等级。 所打牌的数量将始终为1-4,等级始终为0-9。等级在他们手中不会出现超过四次,而不会出现在手中。 这是一个有效输入示例: 33577?? 01555688 55 这是一个无效输入示例: 35377?? # Out of order 7779 # Five 7's in total 23 # Two separate ranks played 输出量 如果我们一定要挑战的话,这是一个真实的价值。如果我们不想挑战,则为假值。 如果我们知道他们被骗了,我们就会一直挑战。我们知道,如果他们打出不可能的牌,他们就会作弊: 12 3 # They don't have any 3's or ?'s …

4
狮子座的扑克脸
扑克脸 介绍 Leo喜欢玩扑克,但是他在Tech Inc.的工作要求他学习如何打法。不反对作为计算机科学家的Leo。他决定花更多的时间来学习扑克,并用它编写一个扑克机器人来帮助他玩得更好。但是现在,狮子座遇到了一个问题:为了了解如何更好地玩游戏,狮子座需要观察由多个“人物”组成的多个游戏,但是“人物”需要不同的游戏风格来提高游戏的质量和真实性。 挑战 Leo回忆说,实际上有一个致力于编程挑战的网站,正在寻求您的帮助!您的工作是编写一个程序,玩“ Pokerface”(五张扑克)的修改版。该程序将以您希望的任何格式将其输入为5张牌,然后程序将输出: 如果玩家希望交换纸牌,则完全(区分大小写)为“ true”,“ 1”或“ t”,否则为任何其他非空输出。 如果为true,则显示玩家希望交换的卡片索引列表和/或卡片名称。 0到3之间的一个数字,指定玩家需要多少张额外的纸牌。 打印出玩家希望使用的手。 (请参见下面的格式) 扑克规则 由于pokerface是基于文本的冒险游戏,因此必须以一致的方式提供卡片。卡用两个字符代码表示,第一个字符是西服,第二个字符是卡的名称。 牌: 2-9 = 2-9 10 = T 杰克= J 皇后= Q 国王= K ace = A 西装: 黑桃= S 球杆= C 心= H 钻石= D 所以黑桃的王牌是SA,红心的10是HT,钻石的第4是D4,依此类推。 一轮Pokerface包含四个步骤: 重新洗牌,向每位玩家发五张牌。 每个玩家都有机会交换任意数量的卡。 每个玩家都有机会再获得最多三张牌。 每个玩家都必须展现自己的最佳手牌。 最佳牌手获胜,并获得该玩家的积分。如果出现平局,两位选手都将获得积分。 在一个游戏中,进行了十轮比赛,得分最高的玩家获胜并获得一个“胜利点”。如果出现平局,则两个玩家都将赢得一个胜利点。 …

1
解决手风琴游戏
我最近碰到过手风琴纸牌游戏,几乎所有布局都可以解决,但是难以置信。你可以在这里玩。 规则 52张脸部卡以随机顺序正面朝上放置。 每回合,您用一张新卡替换一张卡,其中两张卡: 分享西服或号码,然后 的距离为1(相邻)或3(之间为两张卡)。 仅剩1张卡时赢得比赛。您可以假定每个输入都是可解的。更换的卡必须始终在更换的卡之前。 例 例如,请考虑以下布局: 2H,2S,1S,2D (H: Hearts, S: Spades, D: Diamonds) 这里有3种可能的动作: 将其替换为2H相邻的2S,这样我们最终得到2S,1S,2D 将其替换为2S相邻的1S,这样我们最终得到2H,1S,2D 更换2H用2D(以3的距离),所以我们结了2D,2S,1S 在这3个动作中,只有最后一个有获胜的可能(您先替换2D <- 2S,然后获胜2S <- 1S)。 输入输出 您的工作是编写手风琴求解器。您会收到一张纸牌列表,并且需要返回一个动作列表来解决游戏。 您以逗号分隔的字符串形式传递卡片列表,其中,每张卡片均以代表其数值的整数传递,然后以代表其西装的字符传递。 您必须以逗号分隔的字符串形式返回替换列表,其中每个替换均采用以下格式Card <- Card(遵循上述卡格式)。每对中的第一张卡是要更换的卡。 测试用例: 5H,1C,12S,9C,9H,2C,12C,11H,10C,13S,3D,8H,1H,12H,4S,1D,7H,1S,13D,13C,7D,12D,6H,10H,4H,8S,3H,5D,2D,11C,10S,7S,4C,2H,3C,11S,13H,3S,6C,6S,4D,11D,8D,8C,6D,5C,7C,5S,9D,10D,2S,9S 5H,9C,11H,7S,7D,12D,6H,10S,3H,4D,12C,2S,3C,5C,7H,6S,1H,8S,2H,11S,4C,10D,12H,9H,2D,4H,6C,13H,11C,2C,10H,8C,1S,11D,3S,12S,7C,5D,13S,8D,4S,6D,13C,3D,8H,13D,1D,9D,9S,1C,5S,10C 7H,11C,8C,7S,10D,13H,4S,10C,4D,2C,4H,13D,3C,2H,12C,6C,9H,4C,12H,11H,9S,5H,8S,13S,8H,6D,2S,5D,11D,10S,1H,2D,5C,1C,1S,5S,3H,6S,7C,11S,9C,6H,8D,12S,1D,13C,9D,12D,3D,7D,10H,3S 尽管这场比赛是一场代码竞赛,但我对省时的解决方案特别感兴趣,并有可能通过赏金来奖励巧妙的解决方案。即便如此,花费天文数字的解决方案仍然可以接受(我建议您在较小的纸牌上进行测试,例如16张卡,4套西装的纸牌)。

3
分析超支洗牌
Rod正在主持两个玩家George和Tim之间的纸牌游戏。目前,蒂姆正在洗牌。Rod怀疑Tim可能在作弊,因此他需要您的帮助来检查改组是否公平。 蒂姆(Tim)正在进行过度的洗牌:他从牌组的底部切出一堆纸牌,然后从牌堆的顶部切至卡牌的顶部,切开各个部分,然后重复该过程几次。 Rod眼神敏锐,可以确切地看到Tim每次切出多少张牌,但是他无法计算和跟踪Tim洗牌的速度。这就是您要进入的地方:Rod希望您编写一个程序或函数来获取详细的改组信息,并确定改组是公平的,微弱的还是技巧性的。 如果改组后,少于25对相邻纸牌保持相邻(以相同顺序),则改组是公平的,游戏可以继续进行。 如果至少有25对(但不是全部)对相邻纸牌保持相邻,则混洗很弱,Rod会在Tim的头上猛击,并要求他再混洗一些。 如果最后所有牌都保持在同一位置,那么蒂姆显然在作弊,罗德将用一条大鳟鱼击打他。 这是代码高尔夫球,所以最短的代码获胜。 输入: 在几行中,您将获得一系列介于0和52之间的数字(均为排他性数字),各行之间用空格隔开,其中每行代表一轮洗牌,其开始和结束时都是将所有牌堆在一起。 在每一行中,第一个数字是Tim从牌组底部切下的纸牌数,随后的每个数字是他从他的手掉到牌组顶部的纸牌数。如果一行中最后一个数字之后还剩下任何纸牌,则应假定Tim将其放在牌组的顶部。 输入保证有效。至少有一行数字,每行至少包含两个数字。每行上的第一个数字不少于同一行上所有其他数字的总和。尾随换行符是可选的,您可以假定输入有一个或没有输入。 输出: 如果随机播放正常,则程序应打印/返回“正常”;如果随机播放较弱,则打印/返回“弱”;如果Tim保持所有卡的顺序相同,则打印/返回“特技”。尾随换行符是可选的。 例: 假设套牌有52张牌,但是出于演示目的,我将使用10张牌的小套牌。 输入: 5 3 1 4 2 2 初始甲板,从顶部观察:0 1 2 3 4 5 6 7 8 9 5➜ 0 1 2 3 4(5 6 7 8 9手) 3➜ 5 6 7 0 1 2 3 …

6
桥牌得分
使合同桥梁非常有趣的一件事是其高度复杂的“人工”元游戏。这种计分系统只是其中的一小部分。 桥牌是一个花招的纸牌游戏。每个玩家有13张手牌,游戏开始于竞标。竞标决定了其余游戏的进行方式,因此这是至关重要的部分。为了确保您和您的伴侣的出价不会太高(或太低),我们开发了这种人工评分系统来告诉您您的手牌有多好。 计分 这是一个示例手: S:KQT5 H:J72 D:965 C:AK8 S,H,D,C代表西服(锹,心形,菱形和棍棒),其余为这些西服中的牌。因此,此手有一张黑桃皇后(Q),一张黑王(K),十张黑桃(T),五张黑桃,红心杰克,七张红心,等等。 计分系统的工作方式如下: 您每获得一张王牌(A),您将获得4点;每位国王(K),您将获得3点;每位皇后(Q),您获得2点;每位杰克(J),您获得1点。没有其他卡可以得分。 西装第四张之后的每张卡都会给你1分。因此,如果您有六颗心,您将获得2分。 一套只有2张卡片的西装可以给你1分(这是一双)。仅有1张卡片的西服给您2分(这是单身人士)。如果您在某套西装中没有卡,则得到3分(这是无效的)。(通常,只有在您与伴侣商定了诉讼之后,才计入这些费用,但为了使挑战变得更加有趣,我将它们包括在内。) 因此,上述手有13点。 挑战 给定上面显示的格式的桥手,计算该手有多少点。西服将始终按照黑桃,心,钻石和球棒的顺序列出,并且牌将始终按A,K,Q,J,T,9-2的顺序排序。 样本输入和输出 S:KQT5 H:J72 D:965 C:AK8 \-> 13 S:AKQT6 H:54 D:J83 C:732 \-> 12 S: H:KQT8754 D:A86 C:432 \-> 15 S:9876 H:843 D:652 C:432 \-> 0 S:AKQT5 H:AQJ6 D:Q3 C:AK \-> 28 这是代码高尔夫球,因此以字节为单位的最短代码获胜。

5
显示ASCII的纸屑分数
纸牌游戏是一个有趣的游戏,因为您需要一个特定的棋盘来为您的游戏打分。写字板看起来像这样: 注意第一列在上升时在左边,然后在下降时在右边,然后在上升时回到左边。 这是纸牌上绘制不良的ASCII艺术作品的样子: * * * ----------- ------- / * \ |*|*|*| /* * *\ |*|*|*| / * * * \ |*|*|*| | * * | |*|*|*| |* * * * * *| |*|*|*| ------- ------- ------- |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| |*|*|*| …

8
二十一点胸围计算器
二十一点(也称为二十一点)是您自己与发牌人之间的比较纸牌游戏,其中每个玩家依次与发牌人竞争,但玩家不互相对抗。 玩法如下,发牌人为您发牌。然后,发牌人自己将一张卡片面朝下。然后,发牌人再发给您一张卡。最后,发牌人面朝上给自己发卡。 挑战 您面临的挑战是编写一个程序(或函数),该程序在运行(或调用)时输出(或返回)发牌者给您的下一张纸牌会让您破产的概率,这意味着您之后手中的纸牌累计得分庄家给您另外一张超过21的卡。 输入值 正在播放的三张可见牌。它们是您手中的两张卡,并且是您在经销商手中可以看到的一张卡。您可以使用任何适合您的应用程序的格式。 一副牌中有52张牌(下面每张卡中的4张)。卡的价值如下: Symbol(Case Insensitive) Name Value 2 Two 2 3 Three 3 4 Four 4 5 Five 5 6 Six 6 7 Seven 7 8 Eight 8 9 Nine 9 T Ten 10 J Jack 10 Q Queen 10 K King 10 A or 1 …

13
得分布里斯科拉
介绍 Briscola是意大利最受欢迎的纸牌游戏之一。这是一个招人喜欢的纸牌游戏,例如Br​​idge。Briscola以其怪异的点系统而闻名。在此挑战中,给定两张牌,您将输出第一张得分高于,低于或等于Briscola积分系统中第二张得分的积分。 挑战 布里斯科拉(Briscola)与一副意大利扑克牌一起玩。一副纸牌中有40张卡片,四种套装中的每套1-10张:杯子,剑,棍棒和硬币。我们将忽略应对这一挑战的方法。卡2-7是数字卡,卡8、9和10是面卡。卡的排名(从最高到最低)是: +------------------------+-------------+ | Cards, by Rank | Point Value | +------------------------+-------------+ | Ace (1) | 11 | | Three (3) | 10 | | King (10) | 4 | | Knight (9) | 3 | | Jack (8) | 2 | | Numeric Cards (2, 4-7) | …

2
计算创新八卦的图标
创新是一种纸牌游戏,玩家在从史前时代到现代时代的各个年龄段中进行战斗,以期比对手更快地获得成就。 创新中的每张卡都是唯一的,并为玩家提供了许多图标。如果我们将每张卡都视为2x3网格,那么左右两侧四个插槽中的三个插槽将始终被图标占用(黑色六边形中的符号不​​计算在内)。 该游戏有6种图标(城堡,树冠,树叶,灯泡,工厂和时钟),我们将使用chars任意代表它们012345。使用#代表黑色六边形,我们可以使用4个字符来表示每个卡上的图标。例如,上面的卡片是 0.. #.. 3.. 1.. -> 03#0 #331 355# 144# 3#0 331 55# 44# 现在,在“创新”中,游戏区域中的纸牌被分组为一堆*,以四种方式之一展开。对于每个示例,我们将使用上面的纸牌,假设最左边的纸牌03#0位于堆的顶部。 无花哨:只有最上面的卡片可见 0.. 3#0 向左张开:顶部的卡片完全可见,下面所有卡片的右三分之一 0..|.|.|.| 3#0|1|#|#| 向右张开:顶部的卡片完全可见,而下面所有卡片的左三分之一 1|3|#|0.. 4|5|3|3#0 向上张开:顶部的卡片完全可见,下面所有卡片的下半部分也完全可见。 0.. 3#0 --- 331 --- 55# --- 44# 挑战 输入将是由空格分隔的单个字符串,该字符串由两部分组成: 展开方向,是中的一个!<>^,分别表示不展开,向左展开,向右展开或向上展开。 非空卡片列表,每个卡片长4个字符,由chars组成012345#。最左边的卡片在纸堆的顶部,每张卡片正好包含一张#。 答案可能是函数,完整程序或等效的。您可以选择展开方向是第一个还是最后一个,即选择以下两种格式之一: > 03#0 #331 355# 144# 03#0 #331 355# 144# > …

7
简单的Pazaak(旧共和国骑士团的《星球大战》纸牌游戏)
Pazaak是来自《星球大战》世界的纸牌游戏。它与BlackJack相似,两名玩家互相争夺,试图在不超过20名的情况下达到20名。每个玩家都有自己的四张牌的“副牌”,可以用来修改得分。 排行榜 截至2015年6月17日格林尼治标准时间16:40 编辑:Neptor被取消作弊资格。分数将尽快修复。 NEPTR:〜424,000 辛辛那提小子(Cincinnati Kid):〜422,000 内斯特:〜408,000 奥斯丁力量:〜405,000 巴斯蒂拉:〜248,000 愚蠢的谨慎玩家:〜107,000 傻大胆的玩家:〜87,000 模拟帕扎克杯季后赛 将尽快更新。 第一回合-内斯特vs巴斯蒂拉&奥斯汀·鲍尔斯vs辛辛那提小子 第二轮-内斯特vs奥斯汀·鲍尔斯&辛辛那提小子vs巴斯蒂拉 机械学 游戏是依次进行的。从主(房屋)副牌中拿出一张牌。娱乐场甲板可容纳40张牌:1到10的四份副本。发牌后,他们可以选择结束自己的回合并在下一回合接收新牌,保持其当前值,或者从侧甲板和站在新的价值上。玩家一决定他们想做什么之后,玩家二重复该过程。 一旦两个玩家都走了,手就被评估了。如果一个玩家被炸开了(超过20个),则另一名玩家将获胜,前提是他们也没有被炸开。如果一位玩家选择站立,而另一位玩家的手牌价值更高,则另一位玩家将获胜。如果两个玩家都选择站立,则手牌价值较高的玩家将获胜。如果出现平局,则任何玩家都不会赢。 如果不满足获胜条件,比赛将重复进行。如果玩家选择结束回合,则他们将收到一张新卡并且可以做出新选择。如果他们选择站起来,或者从侧甲板打出了一张纸牌,他们将不会获得新的纸牌,也无法选择新的动作。 这样继续游戏,直到一名玩家赢得比赛。游戏以五组中的三组中的最佳状态进行。 为什么选择“简单” Pazaak? 在《星球大战》世界中,Pazaak参与赌博。虽然包含这样的系统会为游戏增加更多的动态性,但是对于首次参加KoTH比赛来说,这有点复杂。 “真实” Pazaak侧甲板也由玩家自己提供,可以包括许多不同的牌选择,例如负牌,正负牌,翻牌,双牌和决胜局牌。这些也将使游戏变得更有趣,但是将需要一个赌博界面,并且将需要更多的竞争对手。在这个简单的Pazaak游戏中,每个玩家都拥有相同的侧甲板:从1到5的两个副本,从中随机选择四个。 根据游戏的成功程度,我可能会努力开发一个高级版本,在该版本中可以进行赌博和自定义侧甲板。 玩家们 该游戏的玩家将是您设计的机器人。每个漫游器都需要扩展Player类,导入Mechanics包并驻留在player包中,如下所示: package Players; import java.util.Collection; import Mechanics.*; public class DemoPlayer extends Player { public DemoPlayer() { name = "Your Name Here"; } …

8
Skat计分器
您的任务是编写一个小程序,该程序计算Skat手的点数。Skat牌组有7到10张牌,分别是Jack,Queen,King和Ace(称为Unter,Ober,König和Daus)。我们使用的是德国西装,里面有橡子,树叶,心形和铃铛,而不是球杆,黑桃,心形和钻石。点数由卡上的数字确定: 7、8和9是0分 下限是2分 奥伯是3分 柯尼希(König)是4分 10是10分 道斯是11分。 输入输出 输入格式由两个符号组成,第一个代表值,第二个代表西装: 7、8和9代表他们自我 0(零)代表10 Unter,Ober,König和Daus以其首字母(U,O和D)命名 橡子,树叶,心和腹部(A,L,H和B)相同 输入是单行纸牌,由单个空格分隔。您可以从任何地方获取输入,命令行参数也可以。输出是手的值,可以打印出来或作为退出代码返回。如果任何卡在手中出现两次,则程序的输出必须显示错误。(因此7A 0L 7A必须返回一个错误而不是10)。如果这是程序输出结果的默认方式,则退出代码为255而不显示错误也是可以的。 例子 7A 8A 9A UA OA KA 0A DA 7L 8L 9L UL OL KL 0L DL 7H 8H 9H UH OH KH 0H DH 7B 8B 9B UB OB KB 0B DB给出120 7A …

2
这是Tichu的有效戏吗?
Tichu是一种纸牌游戏,其中玩家从包含52张标准纸牌的甲板上轮流玩几组纸牌,外加4张额外的纸牌: 的龙,它比任何其他卡更大的价值 的凤,其可以作为通配符作用 的狗,它通过转向你的合作伙伴 值1 的麻将(以及持有该值的人先打) 第一个玩家(据说具有“领先”)可以选择玩以下类型的卡组合之一: 一单个(例如6) 一对(JJ) 一个三重(555) 一个完整的家(QQQ33) -三和一对 一个直的(56789) - 5或更多个连续的卡 一拖拉机(223344) -对任何连续序列 然后,仅允许随后的玩家玩一组相同类型但严格更高的纸牌。例如,QQ可以在上播放JJ,但QQKK不能播放(它是拖拉机,而不是一对)。满屋是按三元组排序的(例如77722> 44499),直线和拖拉机的长度必须相同(456789不能在上方播放23456)。ace高。 有一个例外:同一张卡中的任何四张都是炸弹,并且可以在除高级炸弹之外的任何东西上玩。1个 巨龙可以自己在任何单人之上或带头(但无处可)玩。凤凰号除了可以用作通配符外,还可以在除龙以外的任何单个单张上播放。2狗只能自己带头玩,并立即结束回合。3 您面临的挑战是确定给定的Tichu剧本是否有效。 您可以接受任何形式的整数或字符串列表的两种播放方式-在任何一种情况下,您都可以选择纸牌到整数/字符的任何映射。如果有以前的播放,它将始终有效,如果没有,即玩家处于领先地位,则第一个输入将为空数组/字符串(与其他输入的类型匹配)。不保证以任何特定顺序提供卡。 您的输出必须从一组恰好两个不同的值中进行选择,其中一个值指示播放是合法的,而另一个值则指示不是合法的。 无需测试卡片组中是否确实存在这组卡(例如77766,88877由于只有四个7 ,因此不可能进行测试)-永远不会给出这种情况。 在以下测试案例中,234567890JQKA代表2到ace,分别RPD1代表龙,凤凰,狗和麻将。空字符串在此处显示为-。这些戏剧是合法的: 6 J JJ QQ 555 KKK 44499 77722 23456 56789 223344 QQKKAA 49494 72727 A R A P P R 66 7P P6 …

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" 这是我第一次尝试在此站点上进行挑战,请提出一些改进建议,但要谨慎:)

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 …

3
Euchre机器人(纸牌游戏)
这个挑战的想法很简单:创建一个机器人来玩纸牌游戏Euchre。 对于那些还不了解它们的人,我在这里向Euchre列出了规则,因为它们与这项挑战有关。 我建议使用python或类似的东西,但唯一真正的限制是它必须与控制器代码兼容 输入: 根据游戏或回合的当前阶段,您的euchre机器人将获得不同种类的输入。一般而言,您将在第一行进入游戏阶段,然后是逗号和团队所拥有的积分数量,然后在接下来的几行获得相关数据。 按时间顺序,您的漫游器将按以下顺序获取输入: Ordering Trump: js,ah,qc,ts,jc // the cards in your hand 2 // number of points your team has 0 // number of tricks your team has taken ordering // the phase of the game th // the turned up card p,p // each previous player’s …

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.