nodetinygame
v1.0.1
Published
一个简单的常用函数封装集
Downloads
19
Readme
nodetinygame
一个极简的 ASCII 游戏引擎,专为命令行回合制游戏设计。
安装
npm install nodetinygame快速开始
const game = require('nodetinygame');
// 创建 20x20 地图
let map = game.ASCIIMap(20, 20);
// 在 (10,10) 位置放置玩家
game.setGrid(map, 10, 10, 'P');
// 渲染:P → @,空字符串 → .
game.refreshMap(map, ['P', ''], ['@', '.']);API
地图操作
| 函数 | 说明 |
| :--- | :--- |
| ASCIIMap(line, colu) | 创建 line 行 colu 列的地图,默认值为空字符串 |
| existGrid(map, line, colu) | 判断格子是否存在 |
| setGrid(map, line, colu, value) | 设置格子内容 |
| getGrid(map, line, colu) | 读取格子内容 |
| refreshMap(map, fromList, toList) | 渲染地图,将 fromList 中的字符映射为 toList 对应字符 |
输入
| 函数 | 说明 |
| :--- | :--- |
| getKey(key, prompt, callback, isCycle) | 等待用户按回车,输入匹配 key 时执行回调 |
| getChar(callback) | 立即获取单个按键(不需要按回车) |
持久化
| 函数 | 说明 |
| :--- | :--- |
| saveMap(map, fileName) | 将地图保存为纯文本文件 |
| loadMap(fileName) | 从纯文本文件加载地图 |
对象组件
| 函数 | 说明 |
| :--- | :--- |
| createGameObject(obj, parts) | 给对象添加组件(move、HP、bag 等) |
许可证
CC BY-SA 4.0
作者
miyijun
