Skip to content

kaiserthe13th/playt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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