1234567891011121314151617181920212223242526272829303132333435363738 |
- use ggez::{event::EventHandler, Context, GameError};
- struct State {
- board: carpet::Board<carpet::CP437>,
- }
- impl EventHandler for State {
- fn draw(&mut self, ctx: &mut Context) -> Result<(), GameError> {
- ggez::graphics::clear(ctx, ggez::graphics::BLACK);
- self.board.draw(ctx)?;
- ggez::graphics::present(ctx)
- }
- fn update(&mut self, _ctx: &mut Context) -> Result<(), GameError> {
- Ok(())
- }
- }
- fn main() -> Result<(), GameError> {
- let (mut ctx, mut evloop) = ggez::ContextBuilder::new("game", "me")
- .add_resource_path({
- let base = std::env::var("CARGO_MANIFEST_DIR").unwrap();
- let mut path = std::path::PathBuf::from(base);
- path.push("resources");
- path
- })
- .window_mode(ggez::conf::WindowMode {
- width: 80.0 * 8.0,
- height: 50.0 * 8.0,
- ..ggez::conf::WindowMode::default()
- })
- .build()?;
- let tileset = carpet::Tileset::from_file(&mut ctx, [8, 8], "/terminal8x8.jpg")?;
- let mut board = carpet::Board::new([80, 50], tileset);
- board.print([1, 1], "Hello, world!");
- let mut state = State { board };
- ggez::event::run(&mut ctx, &mut evloop, &mut state)
- }
|