#board-game #game #game-engine #engine #text-ui

gameboard

Rust库,用于创建文本UI游戏的游戏棋盘

1个不稳定版本

0.1.0 2019年3月3日

#1206 in 游戏开发

MIT许可证

60KB
1K SLoC

gameboard

gameboard是一个Rust库,用于创建文本UI游戏的游戏棋盘。gameboard在终端屏幕上绘制棋盘,更新单元格,处理用户输入输出,让您专注于游戏逻辑。它可以用于带有单元格的棋盘游戏,如井字棋、拼字游戏、数独,或任何可以将游戏场实现为单元格板的文本UI游戏。

Gameboard使用termion工具包进行终端输入输出。

用法

将以下内容添加到您的Cargo.toml

[dependencies]
gameboard = "0.1.0"

游戏创建

use std::io::{self, Read, Write};
use std::cell::RefCell;
use std::rc::Rc;
use termion::event::Key;
use gameboard::{Board, Game, InputListener};

struct App {}

impl<R: Read, W: Write> InputListener<R, W> for App {
    fn handle_key(&mut self, key: Key, game: &mut Game<R, W, Self>) {
        match key {
            Key::Char('q') => game.stop(),
            _ => {}
        }
    }
}

fn main() {
    let stdout = io::stdout();
    let stdout = stdout.lock();
    let stdin = io::stdin();
    let stdin = stdin.lock();

    let app = Rc::new(RefCell::new(App {}));

    let board = Board::new(5, 5, 10, 5, true, None);
    let game = Rc::new(RefCell::new(Game::new(stdin, stdout, Rc::clone(&app))));
    game.borrow_mut().init(board, None);
    game.borrow_mut().start();
}

在此您可以看到更多使用示例。

许可证

本项目根据MIT许可证的条款许可。

依赖项

~725KB
~11K SLoC