10 个版本 (6 个稳定版)
1.3.0 | 2023年3月12日 |
---|---|
1.2.0 | 2023年3月7日 |
1.1.0 | 2022年10月7日 |
0.3.0 | 2022年9月27日 |
0.1.1 | 2022年9月25日 |
#414 in 命令行界面
每月166次下载
35KB
613 行
termgame
TermGame 是一个小型包,它扩展了 tui-rs,使编写 TUI 游戏变得容易。
主要用于新南威尔士大学的 COMP6991 课程,该包提供了 Controller
特性,该特性由 run_game
函数接受,以使用由 tui-rs 提供的 Crossterm TUI 启动游戏。
它还包装了许多 tui 功能,如 StyledCharacter
、GameEvent
和 Style
use termgame::{SimpleEvent, Controller, Game, GameEvent, StyledCharacter, run_game, KeyCode};
use std::error::Error;
use std::time::Duration;
struct MyGame {}
impl Controller for MyGame {
fn on_start(&mut self, game: &mut Game) {
}
fn on_event(&mut self, game: &mut Game, event: GameEvent) {
match event.into() {
SimpleEvent::Just(KeyCode::Char(ch)) => {
game.set_screen_char(1, 1, Some(StyledCharacter::new(ch)))
},
_ => {}
}
}
fn on_tick(&mut self, _game: &mut Game) {}
}
fn main() -> Result<(), Box<dyn Error>> {
let mut controller = MyGame {};
// run_game(&mut controller, Duration::from_millis(500))?;
println!("Game Ended!");
Ok(())
}
许可证:MIT OR Apache-2.0
依赖关系
~3–11MB
~109K SLoC