大家在玩俄罗斯方块的时候有没有想过这样一个问题:如果玩家足够牛B的话,是不是永远也不可能玩死?换句话说,假设你是万恶的游戏机,你打算害死你 面前的玩家;你知道任意时刻游戏的状态,并可以有针对性地给出一些明显不合适的方块,尽量迫使玩家面对最坏情况。那么,你有没有一种算法能保证害死玩家, 或者玩家无论如何都存在一种必胜策略呢?注意,俄罗斯方块的游戏区域是一个宽为10,高为20的矩形,并且玩家可以预先看到下一个给出的方块是什么。在设 计策略时,你必需考虑到这一点。

相信很多人有过这样的经历:玩俄罗斯方块时一开局就给你一个“S”型方块,让完美主义者感到异常别扭;结果,第二个方块还是这个“S”,第 三个方块依旧是“S”,相当令人崩溃。于是,我们开始猜测,如果游戏机给你无穷个“S”形方块,玩家是不是就没有解了?答案是否定的。如图1,从第10步 开始,整个局面产生一个循环;只要机器给的一直都是“S”方块,玩家可以不断重复这几个步骤,保证永远也死不了。

不过,这个循环是在游戏场地清空了的情况下才产生的。有人会进一步想了,要是在玩着玩着,看着你局势不好时突然给你无穷多个“S”方块呢?事实上,此时局面的循环依然可能存在,如图2。在第5个“S”形方块落地后,循环再次产生。

俄罗斯方块可以永无止境地玩下去吗?相关推荐

  1. [Unity小项目]俄罗斯方块

    Unity实现俄罗斯方块 Demo: 使用方法: 安卓手机: 直接点击游戏界面按钮 Editor: 直接点击play 开发环境: Unity2018.1 部分实现介绍 UI界面使用的MVC架构 Vie ...

  2. 一本书的推荐序——写在《思考的乐趣》即将上市之际

    有关对<思考的乐趣:matrix67数学笔记>一书作者顾森,想必大家不会太陌生,大家可以参考一下我们这篇访谈"Matrix67的Aha!Moment",今天看到本书的两 ...

  3. 基于 HTML5 的 WebGL 3D 版俄罗斯方块

    前言 摘要:2D 的俄罗斯方块已经被人玩烂了,突发奇想就做了个 3D 的游戏机,用来玩俄罗斯方块...实现的基本想法是先在 2D 上实现俄罗斯方块小游戏,然后使用 3D 建模功能创建一个 3D 街机模 ...

  4. 小伙用C++技术实现3D俄罗斯方块游戏,3D元素让人耳目一新

    3d俄罗斯方块很好玩,也是很经典的,可以算是最经典的游戏了.现在这里有很多3d俄罗斯方块,那就让这些方块顺利钓到天平上吧! VC++基于OpenGL技术实现的3D俄罗斯方块游戏,游戏玩法与以往的俄罗斯 ...

  5. 200行C++代码实现实现3D俄罗斯方块,这效果太逼真了!

    最近学习openGL,在网上看了很多的资料OpenGL入门学习等很多资料,但是也只是学了点皮毛,边学边实践,于是就写了一个3D俄罗斯方块的程序. VC++基于OpenGL技术实现的3D俄罗斯方块游戏, ...

  6. 学习C#从俄罗斯方块开始(一)概述

    前几天和一个在读的本科生聊天,他一直在抱怨学校学习的理论知识太多,实践的机会太少.担心自己因此毕业后可能难以找到工作.我认为一个人要是想投入开发,他总是可以找到项目的.与其把自己的时间浪费在抱怨和指责 ...

  7. 用python自带的tkinter做游戏(二)—— 俄罗斯方块 篇

    上回分享了博文 用python自带的tkinter做游戏(一)-- 贪吃蛇 篇 今天继续,尝试用tkinter来制作一个更经典的游戏 -- 俄罗斯方块. 俄罗斯方块相信大家都玩过,一共有七个方块组,每 ...

  8. 微信小程序实现俄罗斯方块

    前言 俄罗斯方块相信大家都玩过了,那么小程序如何实现俄罗斯方块呢 演示视频 运行项目 需要有微信开发者工具,这里不会的可以自行百度下载即可 导入项目,这里随便点击一下测试号,导入即可,等待项目加载完成 ...

  9. 2048版俄罗斯方块java_俄罗斯方块2048

    俄罗斯方块和2048都是小伙伴们都玩过的游戏,那如果将两者相融合会产生什么样的效果呢>在<俄罗斯方块2048>中,玩家就将体验到结合了2048的俄罗斯方块,这款游戏不仅难度上更上一层 ...

最新文章

  1. 在 Ubuntu Linux 上从源代码构建 Qt 6.2.2的简短教程
  2. Access里执行SQL
  3. 最初学习ASP.net的时候常会遇到的问题
  4. 《C++ 开发从入门到精通》——1.3 使用Visual Studio 2010
  5. 数据结构之:链表详解
  6. MyBatis 插件原理与自定义插件-插件编写与注册
  7. c语言程序设计常用语句格式,全国计算机考试二级C语言程序设计要求
  8. python random_Python random() 函数
  9. XML 解析错误:格式不佳
  10. hive 操作(三)——hive 的数据模型
  11. 身为程序员的我们......
  12. ocr 哪个好 外文_5 款堪称神器的高质量软件,每一款都好用到不想卸载
  13. [ IOS ] iOS-控制器View的创建和生命周期
  14. 浅谈《原神》中的图形渲染技术
  15. 几款常用的ble调试app(nRF Connect、BLE调试助手、LightBlue)
  16. Linux基本知识总结、常用命令教程、shell脚本开发、编辑器及调试器的使用教程
  17. 网站打开速度优化-前端篇
  18. MySQL——插入语句
  19. Java实现第九届蓝桥杯螺旋折线
  20. 计算机网络 万维网的文档

热门文章

  1. 博弈论之:先发优势还是后发优势
  2. kotlin flowlayout
  3. gps l1带宽_EPON目前可以提供上下行对称的1.25Gps的带宽。
  4. 配置不同网段用户通过 VXLAN 三层网关通信
  5. CSS 设置上下滚动禁止左右滚动
  6. Jupyter notebook文件路径
  7. Angular入门教程
  8. golang-奇淫巧技
  9. lasergrbl调整XYZA各轴电机运动方向
  10. 我被一个从来不笑美女征服掉了!