由俄罗斯方块推出的问题

fengda2870 2009-10-25 02:22:14
加精
总所周知
俄罗斯方块是通过4个正方形组成7个不同的图形来进行的游戏

那么依据同样的生成图形的规则
5个正方形可以生成多少个图形
6个呢?
7
...
n个呢
能够推出来
以及通过编程实现
在编程方面
因为考虑到图形的旋转
感觉比较有难度
...全文
2650 147 打赏 收藏 转发到动态 举报
写回复
用AI写文章
147 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengda2870 2009-11-17
  • 打赏
  • 举报
回复
手动最多对前七项进行验证
后面的人力就很难做到了
research上的A*******
根本就看不懂
绿色夹克衫 2009-11-17
  • 打赏
  • 举报
回复
这个问题确实比较难,从结果上来看,f(n)/f(n-1)也是发散的,因此应该很难将公式总结为

f(n) = x(n-1) * f(n-1) + x(n-2) * f(n-2).....x1*f(1)

另外也可以确定没有多项式算法,即
f(n) = x(n) * n^k + x(n-1) * n^k-1 + x(n-2) * n^k-3..... + x1

research上也没有细致的讲解,但估计这些数应该不是靠搜索弄出来的,或许有更好的数学方法!

[Quote=引用 145 楼 fengda2870 的回复:]
确实很有用
并且让我感到很惊讶
[/Quote]
fengda2870 2009-11-17
  • 打赏
  • 举报
回复
确实很有用
并且让我感到很惊讶
1 1
2 1
3 2
4 7
5 18
6 60
7 196
8 704
9 2500
10 9189
11 33896
12 126759
13 476270
14 1802312
15 6849777
16 26152418
17 100203194
18 385221143
19 1485200848
20 5741256764
21 22245940545
22 86383382827
23 336093325058
24 1309998125640
25 5114451441106
26 19998172734786
27 78306011677182
28 307022182222506
29 1205243866707468
30 4736694001644862
31 18635412907198670
32 73390033697855860
33 289296535756895985
34 1141388483146794007
35 4506983054619138245
36 17810678207278478530
37 70436637624668665265
38 278755467406691820628
39 1103923783758183428889
40 4374527793263174673335
41 17345475182286431485513
42 68816353214298169362691
43 273171827218863802383383
44 1084946003411691009916361
45 4311200182212516601049225


liangbch 2009-11-16
  • 打赏
  • 举报
回复
[Quote=引用 143 楼 fengda2870 的回复:]
引用 139 楼 litaoye 的回复:
northwolves同志在另一个论坛给出了一个答案,

1, 1, 2, 7, 18, 60, 196, 704, 2500, 9189, 33896, 126759, 476270, 1802312, 6849777, 26152418

君子不夺人之美,让他自己来说吧。


求帖子的地址
万分感谢!!!!!!!!!!!!!!!!
[/Quote]

http://bbs.emath.ac.cn/viewthread.php?tid=1930&page=1#pid23258
fengda2870 2009-11-16
  • 打赏
  • 举报
回复
[Quote=引用 139 楼 litaoye 的回复:]
northwolves同志在另一个论坛给出了一个答案,

1, 1, 2, 7, 18, 60, 196, 704, 2500, 9189, 33896, 126759, 476270, 1802312, 6849777, 26152418

君子不夺人之美,让他自己来说吧。
[/Quote]

求帖子的地址
万分感谢!!!!!!!!!!!!!!!!
liangbch 2009-11-15
  • 打赏
  • 举报
回复
昨天,我给我上3年级的儿子出了这到题目,让他画出5个方块的所有组合,他得出所有的18种,我也试图画出这些组合,但是我发现在这个方面,我儿子的思路比我还清楚,在这个方面,我觉得我已经输给我儿子了。
liangbch 2009-11-15
  • 打赏
  • 举报
回复
92楼不能得到下面的图形
□■□
■■■
wowzhongshen 2009-11-15
  • 打赏
  • 举报
回复
好麻烦。。标记
绿色夹克衫 2009-11-14
  • 打赏
  • 举报
回复
northwolves同志在另一个论坛给出了一个答案,

1, 1, 2, 7, 18, 60, 196, 704, 2500, 9189, 33896, 126759, 476270, 1802312, 6849777, 26152418

君子不夺人之美,让他自己来说吧。
hart_with 2009-11-10
  • 打赏
  • 举报
回复
不明白,学习了!
xxfxiazai 2009-11-09
  • 打赏
  • 举报
回复
全5个方块的根本没法玩...

去玩玩4个加几种5个的就知道了
tiansilai 2009-11-09
  • 打赏
  • 举报
回复
csdn太让人无语了
自己的帖子却不能编辑
辛辛苦苦画的图都成什么样了,唉
flyingjay008 2009-11-09
  • 打赏
  • 举报
回复
有意思
customevalidator 2009-11-09
  • 打赏
  • 举报
回复
穷举好实现,关键是形状是否重复的判断额。。。mark...
tiansilai 2009-11-09
  • 打赏
  • 举报
回复

■■■ ■■

--------------------------------------------------------
■■■■ ■■■ ■■■ ■■■ ■■ ■■ ■■
■ ■ ■ ■■ ■■ ■■
--------------------------------------------------------
■■■■■ ■■■■ ■■■■ ■■■■ ■■■■
■ ■ ■ ■

■■■ ■■■ ■■■ ■■■ ■■■
■■ ■■ ■■ ■■ ■ ■

■ ■ ■ ■ ■ ■ ■
■■■ ■■■ ■■■ ■■■ ■■■ ■ ■
■ ■ ■ ■ ■ ■■■ ■■■
--------------------------------------------------------
三个方块可以组成2中
四个方块可以组成7中
五个方块时,我画出了17中,不知道对不对。
这也太难归纳了
ZX_ARES 2009-11-09
  • 打赏
  • 举报
回复
因为有旋转的问题,这个就变得相当复杂了........
ringphone 2009-11-09
  • 打赏
  • 举报
回复
考虑旋转和翻转,5个是12种,我小时候就有个智力玩具叫“伤脑筋的12块”,5个方格的组合。
这么考虑:N个方格,可以有以(N+1)/2种行数排列的情况,比如5,有1行的排列,2行的排列,3行的排列情况,最多排成(5+1)/2=3行,再多就是前面情况的旋转和翻转。
1行的情况只有一种,一直线。
2行的情况,
共有取N/2个方格与剩余方格排列成2行的情况。
只取一个方格与剩余(N-1)个排成2行,应该是N/2种排列。
取2格及以上,有靠在一起和分开的情况,比较复杂了,感觉需要用到递归函数。
期待高人。
love2006yeahnet 2009-11-09
  • 打赏
  • 举报
回复
smart
fengda2870 2009-11-09
  • 打赏
  • 举报
回复
排版的时候明明是好好的
但是提交过之后就出问题了
很难看
谢谢楼主了
我发现我少了两种

■ ■
■ ■


■ ■

■ ■
tiansilai 2009-11-09
  • 打赏
  • 举报
回复
■ ■ ■ ■ ■

---------------------------------------------------------------------
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■

■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■
----------------------------------------------------------------------
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■

■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■ ■ ■

■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■

■ ■ ■ ■
■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■
---------------------------------------------------------------------
加载更多回复(125)
【Java版俄罗斯方块】 增加保存配置信息到文件的功能,声音设置、显示设置、关卡选择等配置信息在修改后将会保存在jar包同级目录下(以jar相同的文件名+.cfg后缀保存) 2010-10-05 【Java版俄罗斯方块】 这个程序是用Java开发的,需要安装JRE,应该不会说了吧 运行方式,也应该不会说了吧 解压,tetris.zhh.1.1.jar --> 右键 --> 打开方式 --> 点Java有关的那个选项 或者 开始 --> 运行 --> cmd --> 转到解压目录 --> java -jar tetris.zhh.1.1.jar 【菜单选项】 也做了不少菜单选项 可自定义控制键,可设置单色彩色显示,可设置网格是否显示网格 关卡有三组选择: 标准关卡:难度中等,7种基本形状,共分2级,50000分一级,速度递增,下落一格的速度每2000分减少10毫秒 速度关卡:难度较大,7种基本形状,共分10级,10000分一级,速度快且随着分数的增加而递增 复杂性关卡:难度较大,共分10级,8000分一级,随着级别越高复杂度越来越大,会出现随机填充的障碍物,以及难以应付的复杂形状,到第4级以后会出现16种基本形状,够你难受的了 【已知Bug】 1. 偶尔会出在现形状下落的过程中形状的某一块没有被擦除掉,原因不明 可能原因为,程序在刷新视图时并没有全部擦除重画,只是根据形状在上一次的显示位置将这一小块重画了一个空块以覆盖 仔细测试过,后台明明执行了这个过程,视图却没有被擦除掉,不知是不是JDK的问题 2. 一直按住回车键,程序将在开始游戏和结束游戏之间不停切换,偶尔会出现蒙层未盖住形状的问题 蒙层:程序会在游戏暂停时蒙上一层淡蓝色,而在游戏停止时蒙上一层淡红色 【关于俄罗斯方块游戏】 游戏简介 俄罗斯方块是一款益智方块类游戏, 这款游戏最初是由苏联的电脑科学家帕吉特诺夫(Alex Pajitnov)于1985年制作的, 作者给了他一个源自希腊字4(tetra)的名字Tetris。 1989年由任天堂于发行GameBoy版,推出后风靡全球,成为益智方块类型游戏中知名度最高的一款。 它看似简单但却变化无穷,上手极其容易,但是要熟练地掌握其中的操作与摆放技巧,难度却不低。 玩法简介 游戏具有一个用于摆放小方块的平面虚拟场地, 一组由几个小方块组成的规则形状(Tetromino), 游戏每次随机输出一种形状到场地顶部,自动以一定的速度下落, 用户在形状的过程中可以控制形状的左右移动及旋转以将形状填充到场地中, 直至形状下落至场地底部或被场地中已有的方块阻挡而不能再下落, 游戏再次输出一个形状,周而复始。 如果这次填充将场地的一行或多行完全填满,则组成这些行的所有方块将被消除, 并且以此来换取一定的积分奖励, 而未被消除的方块会一直累积,并对后来的形状摆放造成各种影响, 如果下一个形状的输出位置已经被未消除的方块所占据,则游戏结束。
前 言 visual basic继承了basic语言易学易用的特点,特别适合于初学者学习windows系统编程。随着21世纪信息社会的到来,计算机在人们的工作和生活中的深入,要求我们越来越多地与计算机打交道,为了使用户在繁忙的日程工作中得到放松,于是出现了各种各样的休闲软件,如聊天工具,游戏等等。于是我们小组着手设计开始一个这样的游戏软件。通过这学期来Visual Basic的学习,我初步掌握了Visual Basic语言的最基本的知识,于是在化希耀张兵等老师的指导下动手用Visual Basic编写俄罗斯方块游戏。 无可争议,《俄罗斯方块》是有史以来最伟大的游戏之一。它是永恒的娱乐经典,但它实际上又和那些传统的经典娱乐方式不同,因为它的本质是电子化的,所以它的确属于现代产物。《俄罗斯方块》举世闻名的游戏性,在该游戏新鲜出炉时就显得非常直观。某些与坠落的玩具碎片和它们的形状有关的东西,使得哪怕新手也会很自然地企图把它们排列起来,并加以适当组合,就好似《俄罗斯方块》触动了我们某些内在的感官,使得哪怕是我们当中最杂乱无章的人也要把事情整理妥当。 在曾经发布过的所有游戏中,《俄罗斯方块》还被认为是仅有的一个能够真正吸引广泛人群的作品。某些批评家也许会声称,《俄罗斯方块》要比过去二十年间出现的任何东西都要浪费人们的时间。至于我们,则要欣然提名它为GameSpot评选出的历史上最伟大游戏之一。 为了怀念经典,也为了能够给大多的计算机用户在工作之余找到一个休闲、娱乐的一个方式,我们小组开始着手用VB语言开发一个经典的俄罗斯方块游戏。 工程概况 1.1 项目名称 俄罗斯方块游戏 1.2 设计平台 VB 全称Visual Basic,它是以Basic语言作为其基本语言的一种可视化编程工具。 Vb是microsoft公司于1991年退出的windows应用程序开发工具visual意思是“可视化的”。在它刚推出来时,自身还存在一些缺陷,功能也相对少一些。但是经过多年的开发研究。最近microsoft公司又推出了VB6.0版本 VB6.0运行环境:硬件,要求486以上的处理器、16MB以上内存,50MB 以上的硬盘,cd-rom驱动器,鼠标。软件:要求windows 95以上版本。 1.3程序设计思想 游戏是用来给大家娱乐的,所以要能在使用的过程中给大家带来快乐,消除大家的疲劳,所以我们在游戏中添加了漂亮的场景和动听的音乐,设置了过关升级的功能,激发大家的娱乐激情。 从游戏的基本玩法出发,主要就是俄罗斯方块的形状和旋转,我们在设计中在一个图片框中构造了一个4*4的网状小块,由这些小块组合成新的形状,每四个小块连接在一起就可以构造出一种造型,因此我们总共设计了7中造型,每种造型又可以通过旋转而变化出2到4种形状,利用随机函数在一个预览窗体中提前展示形状供用户参考,然后将展示的形状复制到游戏窗体中进行摆放,在游戏窗体中用户就可以使用键盘的方向键来控制方块的运动,然后利用递归语句对每一行进行判断,如果有某行的方块是满的,则消除这行的方块,并且使上面的方块自由下落,其中,方块向下的速度是有时钟控件控制的,在游戏中,用户也可以使用向下键加快下落速度,定义一个变量,对消除的函数进行记录,最后就可以得出用户的分数,用if 语句对分数判断,达到一定的积分就可以升级到下一个档次。 俄罗斯方块游戏设计的主要步骤为以下10个方面: (1)游戏界面的设计。 (2)俄罗斯方块的造型。 (3)俄罗斯方块的旋转。 (4)俄罗斯方块的运动情况(包括向左,向右和向下)。 (5)俄罗斯方块的自动消行功能。 (6)游戏级别的自由选择。 (7)游戏速度的自由选择。 (8)游戏得分的计算。 (9)游戏菜单选项的设计及功能实现。 (10)游戏的背景音乐。 1.4运用的控件和主要对象 我们在设计过程中主要用到的控件有:command控件,image控件,picture控件,label控件,timer控件,text控件,windows media player控件等等。 1.5主要实现的功能 我们开发的俄罗斯方块游戏,主要实现了以下几种功能: 1.可以灵活控制方块在图形框中运动。 2.游戏过程中方块可以自由旋转。 3.当某一行的方块排列满时,将自动将这一行方块消除,然后将上面所有方块向下移动,可以支持连续消行。 4.游戏前可以选择游戏的速度和游戏的等级,游戏速度既为方块下落速度,游戏等级为初始游戏时在基层随机生成一定行数的无规律方块,生成的行数由你来选择,每行至少产生5个以上的无规律方块,这样增加了游戏难度,对于游戏高手来说,无疑不是一个新的挑战。 5.游戏的得分支持积分,并且按照公式: 得分 = 原来分数+ 100 * (2 ^ 同时消除的行数-1) 这样,你同一时间消除
俄罗斯方块是一款经典的益智游戏,最早由俄罗斯人列夫·佩日涅夫在1984年设计并推出。游戏中的目标是通过旋转、移动和摆放各种形状的方块,使它们在底部组成完整的水平行,当一行填满后,该行会被消除并为玩家得分。如果方块堆叠得太高而超过了顶部边界,游戏即结束。 俄罗斯方块使用的是一个由七种不同的方块组成的组合。这些方块由四个小方块构成,按照不同的形状排列。玩家可以通过键盘控制方块的旋转和移动,以适应底部的形状空间。随着游戏的进行,方块下落的速度会逐渐加快,增加了游戏的难度。 俄罗斯方块简单易学,但同时也需要玩家有较强的空间感知能力和反应速度。它不仅可以锻炼思维、提高注意力和反应能力,还能带来乐趣和挑战。因此,俄罗斯方块一直受到全球各地玩家的喜爱,并成为了经典的游戏之一。 俄罗斯方块是一款经典的益智游戏,玩家需要操控不同形状的方块,使其在一个方框内排列成完整的一行或多行,然后消除这些行。下面是一个基本的俄罗斯方块的玩法: 1. 开始游戏时,一个由四个方块组成的初始方块(称为“俄罗斯方块”)会从方框的顶部随机下落。 2. 玩家可以通过键盘上的方向键(向左、向右、向下)来操控方块的运动,或通过
Chrome俄罗斯方块游戏 - 经典和真实 Blocktris-玩这个酷游戏的经典游戏。 将块放到合适的位置-使用“向下”箭头加快放置速度,使用“向上”箭头旋转翻转物件。 玩正宗的游戏-无需搞笑的技巧或跳跃的图形-只需普通的Blocktris! Blocktris-受俄罗斯方块(Tetris,俄语:Тетрис[ˈtɛtrʲɪs])的启发,但不要与它混淆,这是一款拼图匹配的电子游戏,最初是由俄罗斯游戏设计师Alexey Pajitnov设计和编程的。 它于1984年6月6日发布,当时他正在莫斯科的苏联科学院Dorodnitsyn计算中心工作。 他的名字来源于希腊数字前缀“ tetra-”(游戏的所有部分都包含四个部分)和“网球”,这是Pajitnov最喜欢的运动。 俄罗斯方块是第一个从苏联出口到美国的娱乐软件,由Spectrum HoloByte在Commodore 64和IBM PC上发布。 Tetris游戏是Tetrominoes的一种流行用法,Tetrominoes是一种由四元素组成的Polyominoes特例。 至少从1907年就开始在流行的拼图中使用多米诺骨牌,而数学家所罗门·W·戈洛姆布(Solomon W. Golomb)在1953年就使用了多米诺骨牌。但是,甚至连戊烯多胺的列举也可以追溯到上古。 这款游戏(或其多种变体之一)可用于几乎所有视频游戏机和计算机操作系统,以及图形计算器,手机,便携式媒体播放器,PDA,网络音乐播放器等设备,甚至可作为复活节游戏使用。在诸如示波器之类的非媒体产品上使用鸡蛋。 它甚至激发了俄罗斯方块提供菜肴的灵感,并在各种建筑物的侧面演奏过。 尽管《俄罗斯方块》的版本在1980年代的家用计算机平台和街机上均有销售,但1989年推出的Game Boy的巨大成功的手持版本使该游戏成为有史以来最受欢迎的游戏之一。 《电子游戏月刊》第100期将《俄罗斯方块》列为“有史以来最伟大的游戏”。 在2007年,俄罗斯方块在IGN的“有史以来最伟大的100个电子游戏”中排名第二。 2010年1月,宣布《俄罗斯方块》的特许经营权已售出超过1亿7千万本,大约7,000万本实物和1亿本手机,是有史以来最畅销的付费下载游戏。 在2014年3月14日,The Tetris Company宣布与Ubisoft(出版)和SoMa Play(开发)合作,将Tetris带入两个最新的硬件平台Xbox One和PlayStation 4,以配合该系列成立30周年。 开源俄罗斯方块克隆游戏的摘录Tetriminos是形状像Tetrominoes的游戏棋子,每个几何形状由四个方形块组成。 随机的Tetriminos序列掉落在运动场上(垂直的竖井,称为“井”或“矩阵”)。 游戏的目的是通过向两侧移动每个四面体(如果玩家感到需要)并旋转90度单位,以创建10个单位的水平线而无间隙的方式来操纵这些Tetriminos。 创建这样的行后,它会被销毁,并且删除的行上方的任何块都会掉落。 当清除了一定数量的行时,游戏将进入一个新的级别。 随着游戏的进行,每个级别都会导致Tetriminos下降得更快,并且当Tetriminos堆栈到达比赛场地的顶部并且没有新的Tetriminos能够进入时,游戏结束。 有些游戏也会在一定数量的关卡或线之后结束。 所有的Tetriminos都可以进行单次和两次清除。 I,J和L能够清除三元组。 只有I Tetrimino具有同时清除四行的能力,这被称为“ tetris”。 (这可能会有所不同,具体取决于每个特定Tetris实现的旋转和补偿规则。例如,在最新实现中使用的超级旋转系统中,某些情况下,T,S和Z会“卡住”到紧要的位置并清除三元组) 支持语言:English

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧