37 lines
631 B
Rust
37 lines
631 B
Rust
use bracket_lib::prelude::*;
|
|
|
|
struct State {
|
|
mode: GameMode,
|
|
}
|
|
|
|
|
|
impl State {
|
|
fn new() -> State {
|
|
State {
|
|
mode: GameMode::Menu,
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
enum GameMode {
|
|
Menu,
|
|
Playing,
|
|
End,
|
|
}
|
|
|
|
impl GameState for State {
|
|
fn tick(&mut self, ctx: &mut BTerm) {
|
|
match self.mode {
|
|
GameMode::Menu => self.main_menu(ctx),
|
|
GameMode::End => self.dead(ctx),
|
|
GameMode::Playing => self.play(ctx),
|
|
}
|
|
}
|
|
}
|
|
|
|
fn main() -> BError {
|
|
let context = BTermBuilder::simple80x50().with_title("Flappy Dragon").build()?;
|
|
main_loop(context, State::new())
|
|
}
|