偶然发现一个iGoogle彩蛋 猜猜看触发事件是什么

    这个可能比较火星,很多人可能已经知道了这个彩蛋;但如果你事先不知道这个彩蛋而碰巧遇上了,你能找出触发这个彩蛋的条件吗?刚才打开iGoogle,发现一件神奇的事件:我的iGoogle主题的顶部图片上居然出现了一个圆周率π──天上的星星排列出来的形状。我立即想到这是iGoogle的一个彩蛋,但我却不知道是什么东西触发了这个彩蛋。仔细想了一下后,突然恍然大悟,这个触发条件确实符合Google的Geek精神。把当时的截屏放出来给大家看一看,如果你还不曾听说过这个彩蛋,你完全可以通过这个截屏找出这个彩蛋的触发条件。继续看下去前不妨先来找找看~~

    图上显示截屏的时间是11点15分。中国是东八区,比标准时间早8小时,因此国际标准时间是3点15分。考虑到本机时间准确性、截屏时间稍晚等原因,很容易想到iGoogle页面的实际生成时间是3点14分。也就是说,当国际标准时间恰为3:14时,iGoogle将会出现彩蛋。

图片地址:http://www.google.com/ig/images/skins/sweetdreams/3.14am/header_bg.jpg
了解更多:http://www.gseeker.com/50226711/googleaeaeeceee_66197.php

Eleusis Express:非常有创意的多人纸牌游戏

    1956年Robert Abbott发明了一个全新的纸牌游戏叫做Eleusis,后来Martin Gardner在1959年6月的Scientific American杂志上介绍了这个游戏。77年10月这个游戏又进一步得到完善,并发展出一些其它的玩法。最近,John Golden提出了这个游戏的第三个版本Eleusis Express,他比Eleusis更简单,更完备,平均游戏时间也更短。Robert Abbott对这个游戏非常满意,这种简单而有趣的推理游戏很可能会像杀人游戏一样流行起来。下面我简单介绍一下这个游戏的规则,你将会看到一种集策略和推理于一体的全新的纸牌游戏。

    这个游戏的规则极其简单,但变化也异常丰富,因为这个游戏的出牌方式是不固定的,游戏开始时玩家甚至不知道出牌的规则是什么。玩家的主要任务就是在游戏过程中探索出牌的规则。游戏需要两副牌,玩家以3到8人为宜。每轮游戏前,玩家需要推选出一位主持人,主持人在这个游戏里扮演最重要的角色。游戏开始前,主持人自己在心里默想一个出牌规则(Secret Rule),但不能告诉玩家。规则的内容应该只考虑扑克牌的花色与点数,与出牌人、牌的摆放方式等无关。这个规则必须简单、明确,通常以“如果上一张牌是什么什么,那么下一张牌就该接什么什么”一类的形式给出,比如“如果上一张牌是红色,下一张牌就是黑色;如果上一张牌是黑色,下一张牌就该是红色”,或者是“要么与前一张牌同花色,要么与前一张牌同点数”。然后主持人洗牌,给每个人发12张牌,然后再翻出一张放在桌面上作为第一张牌打出。这张牌及后面正确的跟牌都摆成一行,叫做主线(Mainline);主线下方可能会有若干边线(Sideline),表示错误的跟牌。游戏正式开始前,主持人可以对秘密规则进行一些提示,之后玩家轮流打牌,主持人判断玩家打出的牌是否符合他的规则:

    
如果打出的牌符合规则
    此时主持人把这张牌加在主线的右边,该玩家手中的牌就少了一张。如果此时该玩家手中的牌打完了,则游戏结束,否则游戏继续进行。
    另外,该玩家还可以获得一次猜测出牌规则的机会,同时每个玩家都必须听他说的答案。如果该玩家猜对了,主持人也宣布游戏结束,否则游戏继续。
如果打出的牌不符合规则
    此时主持人把这张牌放在的相应的边线位置上,告诉大家这张牌不能接在这个位置。这名玩家需要再摸一张牌,手中的牌的张数不变。

    轮到某位玩家出牌时,该玩家可以选择不出牌,即宣称自己无牌可打。此时他应该把手中的牌摊出来给所有人看,同时主持人判定该玩家是否确实无牌可打:
如果该玩家确实无牌可打
    如果此时玩家手中只有一张牌,游戏结束。否则,主持人清点该玩家手中牌的数目N,把它们放回还没发完的牌摞的最底下,再发给他N-1张牌。同时,该玩家获得一次猜测出牌规则的机会,猜对了同样可以直接获胜。
如果该玩家有可以打的牌
    此时主持人从中选出一张可以打的牌接在主线后面,该玩家收起自己其余的牌并再摸一张,保持手中的牌数不变。

    游戏结束后,每个人的得分就是自己打出去的牌的张数。打完所有牌而获胜的玩家再获3分的加分,猜对规则而获胜则得到6分的加分。主持人的得分与本轮最高分相同。然后大家重新推选主持人,继续下一轮游戏。
    如果牌抓完了但游戏还没结束,可以再洗一副牌继续进行,或宣布游戏结束,本轮不计分。然后,主持人阴笑几下,故弄玄虚地说出自己所想的规则,等待玩家们恍然大悟并集体发出“哎呀~~~”的叹息声(或者等待玩家大骂这规则太他妈BT了谁能想到啊)。
    若干轮游戏后,最终的胜者就是累积得分最高的人。我们可以适当给赢家一些奖励,比如让他亲一下最漂亮的MM玩家,或者传几个小A给他。得分最低的人也应当受到惩罚,比如叫他把MM共享出来让大家玩弄,或者贡献一个XX论坛的账号。

    能想到一个简单明了而又富有新意的规则是非常重要的,因此游戏的主持人是整个游戏的灵魂,一个思维活跃又爱捉弄人的主持人可以让游戏变得非常精彩。这里写一些自己想到的规则,大家有什么好的想法也可以在下面说一说。

  • 按黑红梅方的顺序出牌
  • 按三张红色,三张黑色,又三张红色,又三张黑色的顺序出牌
  • 如果上一张牌的点数是1到7,则应该接8到K;如果上一张牌是8到K,则应该接1-7
  • 相邻两张牌的点数之和大于10
  • 相邻两张牌的点数的差的绝对值不超过3
  • 相邻两张牌的点数加起来能被3整除
  • 下一张牌的点数比上一张牌大1点、2点、3点或4点;数字大小关系是“循环的”
  • 如果上一张牌的点数是奇数,则出红色牌;如果上一张牌的点数是偶数,则出黑色牌
  • 如果上一张牌是红色,则出牌的点数小于等于上张牌的点数;否则,出牌的点数大于等于上张牌的点数
  • 如果上一张牌的点数为平方数,则出牌的点数是非完全平方数;否则出牌的点数应该是一个平方数
  • 牌的点数一大一小交替排列(即奇数位置上的牌比前面的点数小,偶数位置上的牌比前面点数大)
  • 如果花色与前面一张相同,则点数必须比它大;如果花色与前面一张不同,则点数必须比它小

做人要厚道 转贴请注明出处
查看更多:http://www.logicmazes.com/games/eleusis/index.html

网站推荐:The Python Challenge 第一个编程解谜站点

    The Python Challenge是一个过关式的解谜站点,使用的是经典在线解谜站点Not Pr0n的模式:根据提示找出下一关的网页地址。和Not Pr0n不同的是,在每一关里你都需要编写程序来寻找答案。虽然这个解谜站点的名字叫做Python Challenge,但事实上你可以使用任意一种程序语言(除了少数一两关可能会用到点Python的知识)。
    虽然这个解谜站点已经很火星了(05年建立的),但在国内似乎流传得并不广。偶然发现这个站点,想到NOIp也快到了,多一个有趣的coding练习也是一件好事,因此这里推荐一下这个站点,大家可以一起来试试。

本日志评论原则:禁止“剧透”

五子棋接龙:一个简单而有趣的挑战

    Morpion Solitaire是一个非常简单的单人棋类游戏。游戏开始前棋盘上摆好了36个棋子,这些棋子排成一个空心的十字架形。以后你放上去的每个棋子都必须和已有的四个子连成一条线(左图所示,就像五子棋那样)。唯一需要注意的是,同一个棋子在同一个方向上只能使用一次(即同一方向上的连线不能重叠,否则你就可以一条直线无限摆下去了)。每放下一个新的棋子你就得到1分,再没有新的棋子可摆时游戏结束。
    人们开始好奇,游戏最多可以走多少步。上面的右图一共走了68步,这个记录从99年开始一直保持了7年,直到06年才有人改进到了74步。最近,又一个新的记录诞生了,有人找到了一种79步的解法。它的解法如下图所示:
  

    这个游戏看似简单,但你真正玩一下你会发现游戏变化莫测。很可能这一次你走了60多步,但下一次你却只能走40多步。这是一个打发时间的绝佳方法,仅仅需要一张纸和一支笔就可以混过大半节古代汉语课,没准一不小心就破了世界纪录。有兴趣的话不妨也写个程序来搜索一下,看看你的程序能不能跑出一个80的解来。目前解的上界是141,下界是79,任何改进都可以发信到这个页面里的电子邮箱。

    这个游戏的另一个版本则是要求构造新的连线时已有的四个子中任两个都还不曾连接过(而不是同一棋子同一方向只能用一次),你可以在这里玩到一个在线的Java版本。这个版本更是变化多端,运气不好只能走出40多步,RP爆发可以超过150步,目前已经证明的上界则是324步。如果你能走到160步,你可以联系这里给出的邮箱地址(为什么我要翻墙才能看到这个页面?)。目前的最好记录是170步,如下图所示:
  

推荐网页:一大堆的Computer Science Puzzle

http://www.ocf.berkeley.edu/~wwu/riddles/cs.shtml

一些很另类的信息学问题,比如:用常数空间线性时间找链表中的一个环,只用NAND实现XOR门,不用乘法和加法把一个数乘以7,常数时间无附加空间交换两变量,写一个输出自己代码的程序,用n + O(log n)次比较查找第二小的元素,写一个程序用C编译时输出“C”而用C++编译时输出“C++”……

另外,不要找我要答案,我这里没有答案