这篇文章是2008年除夕那天写的,也就是刘谦第一次上春晚那天,现在翻出来作为这个博客的第一篇文章,纪念一下那些年我们一起追随的那个纯净的魔界,不被世俗铜臭所沾污。
扑克排列法,并不是魔术,而是表演某些魔术前所做的准备,也就是set牌。其实在魔术表演过程中,并不用把牌弄得这么复杂,写这篇文章纯属个人兴趣。但是有时可能会派上用场,比如遇到奥客时或者在摄像机前表演等……
一:顺序排列法
这个是比较简单的排列法,主要利用递加,递减的方法来实现扑克牌数字的排列。
排列过程可以分为两部分:数字的排列和花色的排列。
1、数字的排列
本文所用的例子是公差为6的递增数列,即:A,7,K,6,Q,5……
为什么要选择公差为6排列呢?原因有三:
①:这样看起来扑克牌比较乱。
②:比较容易计算下一张牌,如果你看到的是5,那么下一张就是5+6=11,也就是J。
由于数列中最大的数是13,而6处于13的中间,13-6=7,因此如果你看到的牌大于7,那你可以直接减7。
例如你看到9,那么下一张就是9-7=2了,你不用算9+6=15,15-13=2。
所以说:看到比7小的就加6,看到比7大的就减7,看到7下一张就是K。
③:我喜欢6这个数字。
2、花色的排列
我们规定:黑桃为1,红桃为2,梅花为3,方块为4。
那么下一张牌的花色由前一张牌的数字加花色后除以4得到的余数得出(如果整除就是方块)。
例:第3张是黑桃K,黑桃为1,K为13,1+13=14,14÷4=3…2,2为红桃,并且13-7=6,所以下一张为红桃6。
从黑桃A开始,要一张一张地算出下一张牌是很痛苦的事,所以让电脑帮我排吧。
以下为VB代码:
1 | Dim a%, b%, m$, n$ |
输出结果如下图(X为10的罗马字母):
3、扑克牌的排法
这个就简单了,先把牌按数字分成13组,花色按上图排列,再按从左到右的顺序拿牌。
4、优缺点
优点:排列简单,推算简单,是追求速度型的首选。
缺点:不是很笨的人能很快发现数字排列的规律,对于追求完美的人来说,这个方法不适用。那么请看第二种排列方法吧。
二:口诀排列法
1、数字的排列
看看效果(展示一下我的幽灵牌),你能找出数字排列的规律吗?不可能吧。
其实怎么看都是找不出规律的,因为它不是按顺序排列的,而是按特殊的方法排列的。
这个方法是从一本魔术书上看到的。
该口诀是:
1 | Eight Kings Threatend To Save Ninety-Five Queens For One Sick Knave. |
也就是用谐音进行排列的,只需把这个英文句子背起来就行了。
如果前一张是J,那么下一张就是8。
花上几分钟,你就能倒背如流。
2、花色的排列
花色排列方法同顺序排列法,下一张牌的花色由前一张牌的数字加花色后除以4的余数得出。
当然,这也是让电脑排列的,以下为VB代码:
1 | Dim a, n$ |
输出如下:
3、扑克牌的排法
这个也很简单,先把牌按数字分成13组,花色按上图排列,再按从左到右的顺序拿牌。
4、优缺点
优点:排列简单,别人不能发现数字排列的规律,是追求稳重型的首选。
缺点:推算速度较慢,但是扑克牌每隔13张就循环一次,经不起仔细的检查。
对于追求完美的人来说,这个方法也不适用。那么请看第三种排列方法吧。
三:乱序排列法
1、数字的排列和花色的排列
这个排列方法把数字的排列和花色的排列放在一起了,因为要让整副牌看起来毫无规律,就不能用重复13张牌的方法,因此一个思路诞生了:下一张牌的数字和花色是由前一张牌的数字和花色决定的。
首先我想出了第一个方法:下一张牌的数字由(前一张牌的数字加上花色后)除以13的余数得出,花色由(本张的数字加上前一张花色后)除以4的余数得出,比较复杂,后面再解说。
以下为VB代码:
1 | Dim a%, b%, m$, n$ |
执行代码后得出了下面的结果:
这样明显出了问题:第1张牌和第33张牌是一样的,都是黑桃A。
这说明了只有前面32张牌形成一个循环,而还有20张牌没参加循环。
怎么办?怎么办啊?方法错了吗?
一般人到了这里就另寻方法了,但是我今天为什么能在这里发表这篇教程,因为我心存一句名言:Just have a little faith
。
在思考了1分钟零5秒后,我想:为什么它们没参加循环,因为它们自己可能构成一个循环。
我把前面32张牌找出来排列完后,在剩下的20张牌找出了最小的牌:黑桃2。
把上面的代码改一下,把a = 1: b = 1
改为a = 2: b =1
(即从黑桃2开始排列),执行代码后结果如下:
这次有15张牌形成一个循环,还剩下5张牌。
那么剩下的红桃3,梅花5,梅花8,红桃J,梅花K,是不是也形成一个循环呢?老天保佑啊,一定要成功!
把上面的代码中的a = 2: b = 1
改为a = 3: b = 2
(即从红桃3开始排列),执行代码后结果如下:
剩下的5张牌果然形成了一个循环啊。 不会吧,这样就成功了?
成功其实很近,也很遥远。
把三个循环:①黑桃A~方块10 ②黑桃2~梅花Q ③红桃3~梅花K 合在一起,我们只需记住3个特殊情况:方块10后是黑桃2,梅花Q后是红桃3,梅花K后是黑桃A。
其它的牌都是按规律找的。例如方块树的下一张是什么牌呢?方块是4,树是4(没听过“方块树”这个词?去看看刘小谦的“顽皮的扑克”),那么4 + 4 = 8,下一张牌的数字是8;花色是8加上前一张的花色(8 + 4)再除以4得出的,结果整除,所以是方块8。
例如红桃9,红桃是2,2 + 9 = 11,所以下一张是J;(11 + 2)÷4 = 3…1,1是黑桃,所以红桃9的下一张是黑桃J。
例如方块J,方块是4,J是11,4 + 11 = 15,15 - 13 = 2,所以下一张数字是2;(2 + 4)÷4 = 1…2,2是红桃,下一张就是红桃2。
2、扑克牌的排法
排列比较复杂,得花点时间,按下图排列吧:
3、优缺点
优点:别人较难发现数字排列的规律,扑克牌可以交给观众检查。
缺点:排列很复杂,推算速度较慢。
四:无敌排列法
此方法绝对强悍,谁也不能找出其中的规律,规律只有你自己知道。
你只要把一副牌洗乱,再把它们记起来,用右脑的图像记忆法,加上谐音、联想和桩子,不难把一副扑克牌背起来。
如果你真的背了一副扑克牌,那你以后只用它就行了。
构思和写这篇文章花了两天的时间,其中第三种方法占了1天的时间,在似错非错中挣扎,不断地在错误中寻找出路,但总算在2009春节前完成了。
还有其它的思路没写出来,大家有意见请提出来,虚心接受大家的意见。