您现在可以在 PDF 文件中玩“俄罗斯方块”

有一个全球社区致力于寻找在俄罗斯方块中挑战自我的新方法,从速通经典益智游戏到技术上“击败”它。但最新的壮举并不是新发现的隐藏故障或高分——而是一种全新的游戏方式。
Thomas Rinsma 是一位安全分析师和业余修补匠,他最近想出了如何创建在 PDF 文件中运行的俄罗斯方块版本。根据 BoingBoing 随后在 1 月 15 日强调的一篇个人网站帖子,Rinsma 在了解了 PDF 的 JavaScript API 的潜在实现后,“只是为了好玩”而处理了这个项目。结果是 Rinsma 称之为 PDFTRIS 的新版本。

“[我] 意识到游戏可能有足够的 I/O 可能性,”他写道。“I/O”代表“输入/输出”,指的是计算机与其用户之间的通信。
Rinsma 解释说,已经“相对众所周知”的是,PDF 可以支持许多功能,例如在 Adobe Acrobat/Reader 中打开时进行动态内容脚本编写。然而,Mozilla Firefox 和 Google Chromium 各自的 PDF 阅读器 PDF.js 和 PDFium 中也提供了一些相同的脚本支持。
从那里开始,对于外行人来说,它会变得有点复杂,但无论如何,最终结果是一个包含 10×20 个字段按钮网格的 PDF。它们根据 JavaScript 输入在阴影块和空块之间交替,允许玩家使用预编程的键盘指令来移动和移动 tetronimoes——四个块形状的官方术语,例如俄罗斯方块中的形状。
“找到在两个引擎中都有效的功能联合有点棘手,但最终证明显示/隐藏注释’字段’可以很好地制作单色像素,并且可以通过在文本输入框中键入来实现键盘输入,”Rinsma 在给 Hacker News 的一篇文章中写道。
再加上文件自动循环和重新加载每个命令的能力,您就拥有了一个功能性的俄罗斯方块游戏。它甚至会随着您的分数增加而加速。任何有兴趣在 PDFTRIS 的后台检查的人都可以查看 Rinsma 在 GitHub 上提供的开源文件。
对于了解情况的人来说,在 PDF 文件中玩视频游戏的能力引出了一个确定的、非常具体的编程社区问题。幸运的是,Rinsma 已经有了答案:是的,PDF 也可以运行 Doom。