Questions tagged «tetris»

挑战与经典街机游戏“俄罗斯方块”有关的挑战。

6
在Conway的《人生游戏》中制作俄罗斯方块的工作游戏
这是一个理论上的问题-在任何情况下都无法给出简单的答案,即使是琐碎的问题也无法解决。 在Conway的《生命游戏》中,存在诸如metapixel之类的结构,这些结构使“生命游戏”也可以模拟任何其他“生命游戏”规则系统。另外,众所周知,生命游戏是图灵完成的。 您的任务是使用Conway的生活游戏规则构建一个细胞自动机,该规则将允许您玩俄罗斯方块游戏。 您的程序将通过手动更改特定世代的自动机状态来表示中断(例如,向左或向右移动,放下,旋转或随机生成新的片段以放置到网格上),计数来接收输入特定数量的世代作为等待时间,并将结果显示在自动机上的某个位置。显示的结果必须明显类似于真实的俄罗斯方块网格。 您的程序将按以下顺序进行评分(较低的标准充当较高标准的决胜局): 边界框大小-面积最小且完全包含给定解的矩形框将获胜。 对输入的更改较小-需要手动调整的最少单元格(对于自动机中最坏的情况)会获胜。 最快的执行速度-最少的一代可以在模拟中获胜。 初始活细胞计数-较小的计数获胜。 先发布-早先发布。

9
这是哪个tetromino?
给定一个无符号的16位整数N,您的任务是确定映射在4x4矩阵内的二进制表示形式是否与tetromino形状匹配,如果匹配,则匹配哪个形状。 矩阵 N的每一位都从最高有效位开始,从左到右,从上到下映射到4x4矩阵内。 范例: N = 17600 binary representation: 0100010011000000 matrix: [ [ 0, 1, 0, 0 ], [ 0, 1, 0, 0 ], [ 1, 1, 0, 0 ], [ 0, 0, 0, 0 ] ] Tetromino形状 基本形状 有7种tetromino形状,由字母O,I,S,Z,L,J和T标识: 旋转和平移 如果在4x4矩阵中平移和/或旋转形状,则仍将其视为同一四聚胺的有效变体。例如,应该将17600、1136、2272和1604都标识为J trotrominoes: 不要包! 但是,形状不能环绕或移出矩阵的任何边界。例如,既不是 568 也不 688应当认定为Ĵ tetrominoes(更不用说任何其它形状): 澄清和规则 …

7
(重新)实施俄罗斯方块
本着重新实现经典视频游戏的精神,我想邀请社区创建他们最好的《俄罗斯方块》实现。 供参考,是俄罗斯方块官方NES版本的屏幕截图。 必备功能 必须建立一个合理的计分系统,该系统对多行清除的奖励要高于单行清除的奖励。当前分数必须始终可见。 必须以某种方式指出将要出现的下一个片段。 七个四聚体的分布应该相当均匀(即伪随机选择)。 用户必须具有在两个方向上旋转当前零件以及加速其下降的能力。 游戏结束后,应清楚地表明游戏已经结束。 源代码必须结构化且易于理解。 可选功能 经过一定数量的清除(例如增加难度级别)后,提高下降速度,并且每行清除的分数与速度成正比。 重力。您可以选择实现“经典”重力,其中块可以保持漂浮在间隙上,或者可以选择实现“溢流填充”重力,在这种情况下,已通过线间隙与原始四聚体分离的块可能会掉落。差距。 高分数与名字输入。 行后和/或获得新的高分之后的动画。 局限性 使用的任何库(jQuery,PyGame等)都应免费提供。 源代码的大小不能超过4096字节,空格和注释除外。任何外部资源(数据文件,图像等)都将添加到代码长度中,不包括生成的任何文件(例如,高分)。 我意识到这是一个相当随意的限制;我的主要目标是不鼓励复制现有的实现,并鼓励简洁和独立。 获奖标准 该挑战赛将被评选为人气竞赛,这意味着投票最多的参赛者将被选为获胜者。投票时,我鼓励用户投票他们认为充分满足上述要求的所有提交。 第一个有效解决方案将在不超过2周的时间内选出优胜者。此外,我将向获奖者颁发赏金,大致与该问题获得的投票数成正比(10 * #votes向上舍入至最接近的50)。如果两周的比赛结束后出现平局,比赛时间将延长一星期。如果仍然有平局,我保留进行最后表决的权利。 请要求任何澄清。愿最佳实施获胜!

4
给定俄罗斯方块动作列表,返回完成的行数
描述 我们考虑一个稍微简化的俄罗斯方块版本,其中的每一步包括: 顺时针旋转0到3次 将作品定位在给定的列 快速下降 目标是确定已完成的行数,并给出此类俄罗斯方块动作的列表。 遵循标准的俄罗斯方块规则,完成的行将随着片段的删除而删除。 游乐场 运动场是10列宽。没有游戏结束,并且假定无论赛场的配置如何,总是有足够的空间和时间来执行上述操作。运动场的高度在这里并不重要,但是您可以使用标准的22行作为上限。 Tetrominoes的形状 输入输出 输入值 以逗号分隔的俄罗斯方块移动列表,其中包含3个字符的编码。前两个字符描述要使用的Tetromino形状,最后一个字符描述其放置位置。 四格拼板:I,O,T,L,J,Z或S,在与上述顺序相同。 顺时针旋转数:0至3 列:0至9。x在旋转1之后,这是作品左上角(在上面的图片中标记为)所在的列 假定提供的列表中的所有移动均有效。无需检查无效条目,例如I07(水平I形状在右侧放置太远)。 1 您可以自由执行真正的旋转算法,也可以对所有不同的形状进行硬编码,只要它们x位于移动的第三个字符所指定的列中即可。 输出量 已完成的行数。 例 O00,T24将生成第一个位置,O00,T24,S02,T01,L00,Z03,O07,L06,I05并生成第二个位置。 因此,以下序列将生成一个俄罗斯方块并应返回4: O00,T24,S02,T01,L00,Z03,O07,L06,I05,I19 测试用例 1) "O00,T24,S02,T01,L00,Z03,O07,L06,I05,I19" -> 4 2) "S00,J03,L27,Z16,Z18,I10,T22,I01,I05,O01,L27,O05,S13" -> 5 3) "I01,T30,J18,L15,J37,I01,S15,L07,O03,O03,L00,Z00,T38,T01,S06,L18,L14" -> 4 4) "S14,T00,I13,I06,I05,I19,L20,J26,O07,Z14,Z10,Z12,O01,L27,L04,I03,S07,I01,T25,J23,J27,O01, I10,I10" -> 8 5) "O00,T24,L32,T16,L04,Z11,O06,L03,I18,J30,L23,Z07,I19,T05,T18,L30,I01,I01,I05,T02" -> 8 测试页 您可以使用此JSFiddle测试移动列表。
37 code-golf  tetris 

18
Jumblers vs Rebuilders:用俄罗斯方块砖编码
在传统的俄罗斯方块中,有7种不同的tetromino砖,每个砖都用与其形状相似的字母表示。 # # # # # ## # # ### ## ## # ## ## ## # ## ## I O L J T Z S 考虑对于一些正整数W和H,这些砖的排列方式可以形成一个实心的W×H矩形。例如,使用2个I,1个L,1个J,2个T和1个S,一个7×4矩形可以被制成: IIIITTT LIIIITJ LTTTSSJ LLTSSJJ 可以将相同的积木重新排列(通过移动和旋转,但不能翻转)为不同的7×4模式: IJJTLLI IJTTTLI IJSSTLI ISSTTTI 现在考虑使用矩形代码块代替第一种排列。例如,Python 3的以下7×4位将打印Tetris到stdout: p=print x='Tet' y='ris' p(x+y)# 根据第一个俄罗斯方块安排,它的7个“砖”是... x ' int y ' ='r is …

3
编程Tetris块(从字面上看)
在游戏方块,有7种类型的砖或的TETR 我 minoes,其在数学上被称为的TetR ö minoes,因为它们都与4个平方段制成: 具有名称I,J,L,O,S,T和Z,它们对应于它们的近似形状。计算90°旋转时,总共有19种独特的形状: I I I I IIII J J JJ JJJ J JJ J J J JJJ L L LL L LLL LL L L LLL L OO OO SS SS S SS S TTT T T TT T T TTT T TT T ZZ ZZ …

6
评分Tarzan的奥林匹克葡萄摇摆常规
奥运会的葡萄树摆动者在标准的树上执行常规活动。特别是,“标准树” n具有0向上穿过的顶点n-1以及将每个非零顶点连接a到其n % a下面的顶点的边。因此,例如,标准树5如下所示: 3 | 2 4 \ / 1 | 0 因为5除以3时的余数为2,所以5除以2或4时的余数为1,而5除以1时的余数为0。 今年,泰山将捍卫他的金新套路,每个始于顶点n - 1,秋千到顶点n - 2,继续顶点n - 3,等等,直到最后他卸除到顶点0。 例行程序的分数是每个挥杆(包括拆卸)的分数之和,挥杆的分数是树内起点和终点之间的距离。因此,Tarzan在标准树5上的例程得分为6: 从摇摆4到3得分3分(向下,向上,向上), 从摇摆3到2得分(下降)一分, 从摆动2到1得分1分(向下),并且 从下来1,0得分为1分(下降)。 编写一个程序或函数,给定一个正整数n,该程序或函数将计算Tarzan例程在Standard Tree上的得分n。样本输入和输出: 1 -> 0 2 -> 1 3 -> 2 4 -> 6 5 -> 6 6 -> 12 7 -> 12 8 …
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

5
俄罗斯方块!最终身高(第3天)
来自我的大学代码挑战赛的挑战 这实际上是第0天,但昨天的挑战太容易了,可能是这里另一个问题的重复。 俄罗斯方块是一款在80年代流行的视频游戏。它包括将一系列不同形状的零件放置在板上,以便它们以最紧凑的方式放置。 在这个问题中,我们将假设一系列落下的碎片,每个碎片在某个位置和某个方向都无法改变。棋子掉落时会堆积起来,并且不会消除整行(就像在原始游戏中一样)。目的是确定所有零件掉落后板的每一列的最终高度。 共有7个不同的片段,如图所示: 挑战 给定一个零件清单,在所有零件落下后输出木板上所有列的高度 一块包含三个数字:I,R和P。第一个数字I是块的标识符(1到7之间的数字,与图中的顺序相同)。第二个数字R是棋子的旋转。它可以取值0、90、180或270,并表示零件沿逆时针方向旋转的角度。第三个数字P表示棋子的位置。表示作品左侧的一列(可以是1或0索引。请指定)。 示例和测试用例(1个索引) 给定 [[1, 0, 1], [4, 0, 1], [5, 90, 4]] 输出量 [3, 3, 1, 3, 2] 给定 [[6, 270, 4], [1, 180, 5], [1, 90, 6], [7, 0, 4]] 输出量 [0, 0, 0, 9, 9, 8, 3, 3] 给定[[3,0,1],[3,180,3]]输出[1,1,4,4,4] 给定[[2,180,1],[2,0,3]]输出[2,2,4,3,3] 笔记 …
19 code-golf  tetris 

1
俄罗斯方块策略
您的任务是实现在分数与代码大小之间取得平衡的Tetris策略。 在此版本的游戏中,四面体旋转并从上方掉入20行10列的网格中。跌落时,它们无法水平旋转或移动。像往常一样,当下落的碎片到达网格底部时,或者当进一步的向下运动会导致与已经占据的正方形发生碰撞时,下落的碎片就会停止。 当n水平线完全填满时,它们同时塌陷,网格n顶部重新填充了空线,并且分数增加了2 n -1点。对于n= 1,2,3,4,分别是1,3,7,15点。线条消失后,某些块可能仍漂浮在空中(没有“ 重力链反应 ”)。 如果当前棋子没有足够的空间显示在所需位置,网格将被清除,当前棋子将被忽略,并且游戏将当前的下一棋子继续。对此没有任何惩罚。 您应该阅读样片流,并决定如何旋转它们以及将它们放到哪里。前瞻的下一块(只有一个)是正确的:你可以看看一块i+1回应之前i,但你必须决定命运的i看着面前i+2。除了输入的最后一部分之外,没有其他可用的预读功能。 Tetromino类型及其旋转按照下表进行编码: type 0 1 2 3 4 5 6 O I Z J L S T ┌────┬────┬────┬────┬────┬────┬────┐ rotation 0 │## │# │## │ # │# │ ## │### │ │## │# │ ## │ # │# │## │ # │ …

30
消失的元素
给定一个字符串S和一个索引列表X,S通过删除每个索引处的元素来进行修改,并将S结果作为的新值S。 例如,给定S = 'codegolf'和X = [1, 4, 4, 0, 2], 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

1
用俄罗斯方块件连接间隙
您应该编写一个程序或函数,以给定的俄罗斯方块块列表作为输入输出,或者返回可以连接的相同高度级别的两点之间的最大间隙。 俄罗斯方块的7种类型如下: 我们将分别用字母I,J,L,O,S,T和Z指代它们的形状。您可以旋转棋子,但不能像俄罗斯方块游戏中那样镜像它们。 我们的任务是从给定的零件中创建一个正交连接的区域(与侧面相连的侧面)。该区域应连接(也正交)两个高度相同的单元正方形。我们应该在可以桥接的两个正方形之间找到最大的差距。 详细的例子 用L片我们可以连接3个间隙 L XLLLX 用S片我们可以连接2的间隙 SS XSSX 对于S,S,O,我们可以连接7的间隙(请注意,我们不能连接8的间隙) S XSSOO SSX SOOSS 输入值 一个字符串,表示仅包含大写字母I,J,L,O,S,T和Z的可用片断。每个字母代表完整的俄罗斯方块片断。 字母将在字符串中按字母顺序排列。 该字符串将至少一个字符长。 输出量 单个正整数,与给定件可连接的最大间隙。 例子 输入=>输出 OSS => 7 LS => 5 LZ => 6 ZZZZ => 10 LLSSS => 14 IIJSSSTTZ => 28 IISSSSSS => 24 OOOSSSSSSSSSSSSTT => 45 IJLOSTZ => …
14 code-golf  tetris 

1
俄罗斯方块七巧板
介绍 七巧板是经典的难题,涉及将积木排列/装配成各种形状。来自中文七巧板-字面意思是“七个技巧板”。让我们采用这个想法,并使用七个Tetrominos块填充网格。 挑战 编写一个函数或程序,该函数或程序将网格坐标数组作为输入,并输出一个完整的10 x 20的网格,其中填充有俄罗斯方块,但指定坐标除外。 通过尝试保持片段分布均匀来优化您的分数。 标准 使用此坐标粘贴框完成任务。有五组坐标。随意修改写入坐标的格式,但不要修改值。 数据集#2无法解决-在这种情况下,只需输出填充了输入像元的网格(即X孔所在的位置)。 输入值 网格坐标表示网格中的“孔”。这些细胞不能包含Tetromino的任何部分。 网格坐标: (0,0), (1,0), (2,0), ... (9,0) (0,1), (1,1), (2,1), ... (9,1) . . . (0,19), (1,19), (2,19), ... (9,19) 使用您的编程语言选择的数组样式输入坐标。 用X或其他可打印的ASCII表示网格中的孔。 输出量 使用标准Tetris网格大小(宽10单元,高20单元),当且仅当使用Tetromino碎片可以完全完美地填充网格时,才打印解决方案网格。 用字母构造件I,O,L,J,T,Z,S如下: I I L J I OO L J T ZZ SS I OO LL …

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
在俄罗斯方块游戏中找到最佳动作
我非常喜欢俄罗斯方块,但是我不太擅长。我只想看到那艘飞船在我眼前起飞!而且由于计算机在所有方面都非常出色,因此唯一可行的解​​决方案是编写一个程序供我使用...除非您要为我做这件事! 给定一个tetromino(由四个正方形组成的形状)和一个运动场的地图,您将放置tetromino,以使其得分最多的行(使最大的行数完全充满块)并创建最少的行的新孔(一个空的空间不能“看”比赛场上的顶部1)。 输入值 输入将在一行上包含一个代表下降的tetromino的字符,然后是一个10 * 18的网格2,由空格()和加号(+)组成。 该字符代表在俄罗斯方块中发现的七个基本四聚体中的任何一个。所有的片段都可以旋转90度,但不能翻转。所有四蛋白骨及其旋转如下: # S = ## ## ## # # Z = ## ## ## # # ### ## L = # # # # ## # ### # ### ## J = # # # # ## # ### # # # T = …
10 code-golf  tetris 
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.