playt

Crates.ioplayt
lib.rsplayt
version0.1.0
sourcesrc
created_at2022-07-15 13:09:59.23978
updated_at2022-07-15 13:09:59.23978
descriptionPlayt is a game library for the terminal
homepage
repositoryhttps://github.com/kaiserthe13th/playt
max_upload_size
id626198
size23,371
Kerem Göksu (kaiserthe13th)

documentation

README

playt (play with the terminal)

read like plate, playt with fun

Hello, World!

// in examples/hello.rs

use pancurses::Input;
use playt::prelude::*;

fn main() {
    let mut game = Game::with_colors(())
        .expect("couldn't initialize with colors");
    
    let mut stage = Stage::new(())
        .clear_on_resize(true)
        .draw(|_, _, win| -> Result<(), ()> {
            win.with_attr(color::GREEN_ON_BLACK, |win| {
                let greeting = "Hello, World!";
                win.mvprintw(win.get_mid_y(0), win.get_mid_x(greeting.len() as i32), greeting);
            });
            Ok(())
        })
        .update(|game, _, input| {
            if let Some(Input::Character('q')) = input {
                game.stop();
            }
            Ok(())
        })
        .build();
    
    while game.is_running() {
        game.perform(&mut stage).unwrap();
    }
}

Result:

A terminal screen with "Hello, World!" written in green in the middle of it

Commit count: 18

cargo fmt