宿舍楼灯光做的贪吃蛇游戏是怎样实现的

添加评论 2009年4月17日

大约几年前吧,第一次看到人家用灯光表演的贪吃蛇时很是惊奇,当时想了很久也没想明白人家是怎么做的,当时跟一个朋友讨论时,觉得最可行的办法就是通过线路改造实现每个房间灯光的统一控制,然后通过单片机编程来实现。这样精度自然没问题,速度也能做到足够快,但成本是个极大的问题:这么一座大楼,且不说别的费用,只是每个房间单独接线的费用就高得吓人,对学生来说这个方法太不现实了(除非本来宿舍楼每个房间本来就是单独控制的,但正常说来一般楼宇都是每层一个开关的)

这几天下班时经常路过某高校的学生宿舍,看到那一排排的窗口时又想到了贪吃蛇的问题,依然是想不到简单易行的办法。

头痛了几天后忽然想到放狗搜一下试试,不过,搜的结果整体说来还是比较失望的,大家总是惊叹于这些场面的壮观,却很少有人关心是怎样实现的,偶尔有一两个人问,也都是被当做PLC编程来打发掉了。

不过,收获还是有的。一方面找到一个宿舍灯光版俄罗斯方块的“后台”视频,从此视频中可以看到全是通过人来控制的,一人控制一到两个房间的灯光;旗语来进行走廊内的指挥;楼层之间有的是靠人的跑动;主控室与强电间(?)之间可能是对讲机。

不过,这个因为是横向运动的,一个人控制两个房间还是比较现实的,但象另一个国内高校(?)用灯光表演的俄罗斯方块那样纵向的就不是那么好协调了。

别一方面呢,在一个讨论这个问题的帖子中(17楼)发现一个网友的想法可实践性比较强一些:搞二十个人站在每层楼楼梯口同声报数,每个宿舍找个人对着纸,到哪个数开灯,到哪个数关灯。

感觉这应该是最可行的一种办法了:

  1. 第一步最麻烦,需要几个人做一张大表,把第几秒哪个窗口灯是亮的全都列出来。
  2. 把这个大表拆成N(N=窗口数)子表,每个表中只显示对应窗口第几秒是亮的。
  3. 对表。
  4. 每层楼梯口站一个人大声同步报数。
  5. 每个房间门口一个人,拿着自己房间窗口对应的表。报到表上有的秒数值时开灯,表上没有的秒数值关灯。

这样一来只是排表的人最麻烦,其他的人只需要按表做自己的事就可以了。几次排练后就可以做得比较整齐了。另外还有一个问题就是在“贪吃蛇”中蛇头跟目标窗口是红色的,怎么做呢?——一般每个房间都有两个开关分别控制两个灯,只要把其中一个灯用红纸包住就变成红的了。另外窗口表上需要开红灯的秒数用红色标出,操作时遇到红数值时开红灯,否则开白灯,表上没有的秒数值关灯——OK,简单易行的方法出来了!

PS:写完以上文字后突然想起来一个笑话:

据说,在美国和苏联大搞航天竞赛的时候,美国的科学家们发现,人们在地球上使用的钢笔和圆珠笔都不能在微重力环境下使用。于是,NASA的集数十位专家之力耗资数百万美元研究出了一种可以在微重力环境下使用的圆珠笔。而俄国人呢,找了一位研究员用了三天时间拿出了一个解决方案:让他们的宇航员都使用铅笔。
  1. 2009年4月17日 at 23:25 | #1
    lb

    以前我们宿舍每个房间都会有一个开关,都在总闸附近
    所以用单片机和程序是最好的控制方法
    我想贪食蛇应该也是这么处理的,走的非常精确

    软件兔 于 2009-4-19 11:39:50 回复

    有朋友告诉我说那种一卡通统一计费的宿舍是每个宿舍都有一个开关在一个单独的配电室里进行统一控制.但一方面改造线路从每个开关中引出线来麻烦;另一方面,一个开关怎么控制窗口的灯的红(蛇头/目标)白颜色呢?

    lb 于 2009-4-24 15:55:42 回复

    呵呵,说的是,开始还真没注意红色灯的问题

  2. 2009年4月24日 at 12:09 | #2
    梨子

    好啊

  3. 2009年5月8日 at 11:25 | #3

    很少见啊。。。精典

  4. 2009年5月8日 at 15:43 | #4

    这么一个庞大的工程,怎么想都是不好控制的。

  5. 2009年5月14日 at 21:35 | #5

    不是靠人实现的,变化太快

  6. 2009年5月31日 at 21:33 | #6

    庞大的工程哦,不错的

  7. 2009年6月15日 at 19:55 | #7

    太强悍了,太了不起了,真是一个伟大的工程

  8. 2009年6月25日 at 16:55 | #8

    不好搞吧…

  9. 2009年7月6日 at 19:21 | #9

    我觉得可能是人工控制,每个宿舍由人去控制开关,然后用事先定好的规则去实现

  10. 2009年8月1日 at 11:47 | #10
    j534381431d

    后面附的NASA笑话是假的~
    第一,美国没有花这么多钱去研发
    第二,铅笔的碎屑非常危险,会影响太空人的呼吸系统,这是NASA不用铅笔的原因,
    嗯~所以俄国太空人好像都比较早死~
    呵呵~

    软件兔 于 2009-8-1 17:35:19 回复

    呵呵,以前从来没仔细去考证过这个笑话,只是听过以后当作笑话随口一笑。但今天听你说来,特别是第二条,还真的是一个大问题呢。

  11. 2009年8月3日 at 20:10 | #11

    红灯问题,不难,像我们公司宿舍就有两个开关,控制两盏灯

  12. 2009年8月16日 at 10:05 | #12

    不好办啊 吓人啊

  13. 2009年8月30日 at 11:05 | #13
    沧海一粟

    可以参考一下这个视频http://www.tudou.com/programs/view/gqlNNQN_MYE

  14. 2009年9月19日 at 16:50 | #14

    真的很有创意呀!

  15. 2010年7月3日 at 15:50 | #15
    路人

    其實會不會是兩盞燈(紅、白)
    然後一間一個人
    照某房某個人的遊戲路線走?

  1. 还没有 trackbacks
订阅评论