晓查 发自 凹非寺
量子位 报道 | 公众号 QbitAI

玩俄罗斯方块(Tetris),你有没有过这样的经历?总是怕什么来什么,想要什么永远等不来。

留下一个缝隙,明明只要来个长条,就能消除得一干二净,但它就是不来,还给你疯狂掉“S”。

然后,你就被那个“永远等不来”的长条给憋死了。

而有个程序员,他就是要“恶心”你:既然都有惨痛的经历,不妨把它做到极致,AI算出最让你难受的下一块,成功让你早死,最终摆脱游戏成瘾。(狗头)

这个故意刁难你的游戏,叫做“可恶的俄罗斯方块”(Hatetris,或者叫恶罗斯方块?)。

虽然这款游戏已经开发了10年之久,但作者一直在更新源代码,最近它又突然火了起来,在国外论坛上引发一波热议。

那么这款游戏究竟有多变态呢?打开试玩链接你就会明白。

最强选手也只能消掉31行

倘若要评出俄罗斯方块里最让人恶心的形状,那必然是S形和Z形。

所以,不出所料,Hatetris的开局策略就是疯狂掉S和Z,让你无法铺满整个平面,简直是逼死强迫症。

别看这个游戏好像很轻松,那么多S足以让人抓狂,世界纪录也只能做到消去31行

如果你以为它只会掉S就大错特错了,因为只掉S虽然不能铺满平面,却能按规律消掉一行行方块。

没速度限制,但你依然死得快

而且游戏Hatetris设定没有重力,也就是说所有的方块不会自动往下掉,只有你按⬇️键,方块才会下降一格,你可以想玩多慢就多慢。

至于为何没有设定自动下落,作者认为,这反而不是游戏中最难的部分。你看没速度限制,世界纪录不才只消掉了31行吗?

Hatetris使用JavaScript语言编写,已经在GitHub上开源。

AI选择最差方块的原理也不复杂,就是测试所有可能形状的所有可能位置,查看哪个形状造成的情况最糟糕的,然后生成最让人恶心的方块。

至于所谓“最差”可能性的算法,就是让方块降落后让下面的“塔”最高点越高越好。

如果所有形状之间没有太大差异,那么AI将为您优先选择S。

31行的纪录是2017年创下的,至今已保持了4年时间。Hatetris如此之难,所以有网友说,也许只有借助AI才能打破了。而10年开发的游戏AI显然还不够强大,也许我们还能造出更变态的Hatetris。

最后,Hatetris支持Base2048编码,任何人都可以将自己的游玩纪录以这种编码方式分享出去,世界纪录的编码是这样的:

௨ഖƌݯߜࠏІWƑsໃa௨೯ܘݷಳජଈیԪؼʥݺԥඞܘݲࠐڄໂঅமةໃݹ௧ړІٽ௨൞ໃZ௨ಘІܥࠐΣІZߜටȜখذජНݹߛeʛݹߤปເѧ௩ԚໂՉࢸටuа௨સȣݷłقෆঅਏeܘԔצقషݸɢڠຜঀಧҸມѧஐට༪൩ԊಅഫܡथsถԡԦԚໃɥஸقࡈɕɠɈไݸצقషݰਵϺФঅஓػݐɓԞуຯɕझࡈ๐ݞझࢶІݞमปദஈƉؿଭݪஸҩЂ൸ԛمϦGƁҨVھԥචЅշࡂ෮लݷƘණ໘ࠅƘಧНקࢻҨฆӘದԋϝପࠑ੧ͳݲடփරݞਵΚϼɢԒԺٳѦԤࠌξGಘسਯܥஶҋϮτथlϼʔ

如果你也是一个俄罗斯方块爱好者,不妨去试试,看看你能消掉多少行,游戏作者本人才能消掉5行哦。

试玩地址:
https://qntm.org/files/hatetris/hatetris.html

参考链接:
[1]https://qntm.org/hatetris
[2]https://github.com/qntm/hatetris
[3]https://www.youtube.com/watch?v=cuwI52xwyuU
[4]https://news.ycombinator.com/item?id=27063894
[5]https://www.reddit.com/r/programming/comments/n6byuk/hatetris_tetris_which_always_gives_you_the_worst/

“恶意版”俄罗斯方块游戏火了,永远给你不想要的方块,世界纪录才消掉31行...相关推荐

  1. “恶意版”俄罗斯方块游戏火了

    本文转载自程序员极客实验室 玩俄罗斯方块(Tetris),你有没有过这样的经历?总是怕什么来什么,想要什么永远等不来. 留下一个缝隙,明明只要来个长条,就能消除得一干二净,但它就是不来,还给你疯狂掉& ...

  2. 俄罗斯方块java机器人_H5版俄罗斯方块(4)---火拼对战的雏形

    前言: 勿忘初心, 本系列的目标是实现一款类似QQ"火拼系列"的人机对战版俄罗斯方块. 在完成了基本游戏框架和AI的算法探索后, 让我们来尝试一下人机大战雏形编写. 本系列的文章链 ...

  3. H5版俄罗斯方块游戏开发:需求分析和框架实现

    俄罗斯方块和五子棋一样,规则简单,上手容易.几乎每个开发者,都会在其青春年华时,签下"xx到此一游".犹记得大一老师在布置大程作业的时候提过:"什么都可以写,唯一不能写的 ...

  4. H5版俄罗斯方块(4)---火拼对战的雏形

    前言: 勿忘初心, 本系列的目标是实现一款类似QQ"火拼系列"的人机对战版俄罗斯方块. 在完成了基本游戏框架和AI的算法探索后, 让我们来尝试一下人机大战雏形编写. 本系列的文章链 ...

  5. 【冷却游戏】 安卓版 俄罗斯方块游戏 官方版

          应用说明: 这是一款非常传统的俄罗斯方块游戏,完全正统,完全纯净,非常小巧,却又不失极高的可玩性,在等车时,在地铁上,拿出手机来两盘吧. 更新日志: v1.0.1更新说明: 1.第一个版本 ...

  6. VC写的双人版俄罗斯方块

    以前写过C++版的俄罗斯方块,后来老师让写双人版,刚开始大家都认为是把所有的代码copy一遍就行了,但实际并不是这样,这样做并不能实现双人版. 在老师的提示下,我们写出来C++版的俄罗斯方块游戏,现在 ...

  7. 联机版俄罗斯方块带自动挂机源码

    这是一款联机版俄罗斯方块游戏.共配置了13种方块.支持ai挂机功能.双人比赛,右下角显示对手的进度. 每消除一行,会给对手投递一个停滞蛛网,暂停对手的进度.连续消除多行时,投递停滞蛛网 + 快进,停滞 ...

  8. VC版双人PK版俄罗斯方块

    源代码下载地址:http://download.csdn.net/detail/qq_29187355/9855657 1 题目要求 设计一个双人俄罗斯方块游戏 2 功能需求 (1)   实现双人俄罗 ...

  9. python商城源码_自学Python才几天,就成功编写出俄罗斯方块游戏,附自学教程

    人们常说,python不适合做游戏,但我偏爱玩游戏,做不了大的,做个小的也行啊. 于是,我在自己毫无基础的条件下,用两天时间学python基础理论,再用已有的俄罗斯方块游戏源码和源文件,在我的不懈努力 ...

最新文章

  1. mysql数据库oem_Oracle 11gR2学习之二(创建数据库及OEM管理篇)
  2. 返回值带头信息 php_PHP注释标记的整理
  3. python增加一列数据_Python编程给numpy矩阵添加一列方法示例
  4. AI云原生浅谈:好未来AI中台实践
  5. 技术管理中的“沟通”
  6. vue更新路由router-view复用组件内容不刷新
  7. java窗口设计_JAVA界面设计
  8. Scrapy 框架爬取豆瓣电影的信息(包括图片)和电影评论-2
  9. 【0day安全-软件漏洞分析技术】笔记
  10. el-upload上传视频截取视频第一帧作为首图
  11. python怎么计算ord函数_python ord函数
  12. CSDN博客中删除空白代码块
  13. 糖尿病足的病症状都有什么呢?
  14. 社区的网络舆情信息监测具体实施方案
  15. 最新Android 9.0 Pie,你想知道的都在这了
  16. 会计学 - 会计账户与复式记账
  17. 推荐2本普通人参悟的书
  18. 基于上下文的推荐系统
  19. 很有意思的思维方式:直线思维和曲线思维
  20. JD6606S用于USB的PD充电协议IC资料

热门文章

  1. Mac OS X上的Java安装位置在哪里?
  2. 复制活动记录记录的最简单方法是什么?
  3. 如何使我的Python程序休眠50毫秒?
  4. 如何仅从SQL Server DateTime数据类型返回日期
  5. 【实战教程】腾讯云搭建微信小程序服务
  6. 2016总结 - 我的转型之路
  7. 第四次作业,孙保平034
  8. Leetcode题目:Best Time to Buy and Sell Stock
  9. 双系统(xp+ubuntu)删除ubuntu(好用)
  10. Dvtm -- 平铺式终端