
EndBASIC 0.14 发布一个多月前宣布推出 EndBASIC 0.13它采用了全新的编译器和虚拟机实现。0.13 版本是六个月努力的成果不过该版本“仅仅”提升了性能对让 EndBASIC 变得更酷并没有太大帮助。今天发布的 0.14 版本则截然不同这个版本在各个方面都新增了不少功能还特别添加了基础声音支持成为了一个重要的里程碑为迈向 1.0 版本打通了最后一道难关。原本还想在这个版本中加入更多功能有一个功能最终因为实现难度太大而不得不放弃。必访链接在详细介绍之前提供几个必访链接启动在线解释器、下载桌面和嵌入式设备版本、阅读发布说明、访问交互式项目示例库。更多图形功能在 0.13 版本大幅提升性能之后首要做的是提供更多图形原语现在有了绘制三角形GFX_TRI 和 GFX_TRIF、多边形GFX_POLY 和 GFX_POLYF以及进行区域填充GFX_FILL的命令。还将为 EndBASIC 编写的最早的一个演示程序“产品化”这个小程序会渲染多个圆圈并让它们在一个容器框内反弹以此展示新的图形原语。现在这个演示程序已被打包到 EndBASIC 的 DEMOS 驱动器中可通过示例库访问且可在浏览器中与之交互。复古 VGA 风格之前为 EndBOX 添加 LCD 显示屏支持以及基于 NetBSD 的控制台时为帧缓冲实现了一个位图字体渲染“引擎”但导致了与基于 IBM Plex Mono TTF 字体的 Web 和 SDL 控制台不一致的问题。为了统一所有控制台的外观和感觉让 EndBASIC 看起来更“复古”移除了所有 TTF 支持转而使用自己的字体渲染工具在字体库中添加了标准的 IBM VGA 8x16 字体并将其设为所有控制台的默认字体。还修改了多年未变的欢迎横幅让它旁边显示一个小图标。macOS 问题修复EndBASIC 中的 SDL 图形控制台已经存在多年最初在 macOS 上运行正常但后来因为单独线程不是“主线程”的关键缺陷在最近的一个版本之后EndBASIC 一启动就崩溃。现在修复了这个问题但在 macOS 上运行预构建的 EndBASIC 二进制文件有点麻烦因为没有对它们进行代码签名且随着 macOS 版本的不断更新运行未签名的二进制文件变得越来越困难。不过可以放心可下载的二进制文件都是通过 GitHub Actions 从已提交的代码生成的。支持 Shebang新特性是在类 Unix 系统中支持直接执行 EndBASIC 二进制文件。原则上实现这个功能很简单但有些程序可能需要特定的控制台尺寸使用常见的 #!/usr/bin/env endbasic shebang 无法指定控制台标志因此实现了一个辅助机制来调整控制台设置shebang 后面可以跟一个魔法注释为给定的程序指定要使用的控制台。同时提醒大家#!/usr/bin/env 存在隐患。还有一个小视频展示了两个可运行的脚本一个提供文本界面另一个在单独的窗口中启动图形控制台。声音支持多年来一直想实现的最大功能是声音支持后来意识到音频只是控制台的另一种输出“类型”借助现有的 Console 框架实现了音频原语。现在有了 BEEP 命令和 SOUND 命令原本想实现一个类似 QBASIC 的 PLAY 命令但工作量太大。现在可以播放一个简单的声音演示只需点击嵌入式解释器然后按一个键即可。总结与展望以上就是 EndBASIC 0.14 版本主要变更的总结还有一些较小的更新可在 NEWS.md 文件中找到详细信息。EndBASIC 0.14 版本是一个重要的里程碑实现了在 2020 年启动这个项目时心中所想的一切能够用 BASIC 的简单性编写复古风格的小游戏。赶紧试试看玩得开心如果在美国祝美国独立 250 周年快乐