This commit is contained in:
Daniel Flanagan 2022-05-25 09:50:36 -05:00
parent f1826cdfd3
commit 24644e4900
Signed by: lytedev
GPG key ID: 5B2020A0F9921EF4
2 changed files with 8 additions and 7 deletions

View file

@ -1,6 +1,7 @@
<html> <html>
<head> <head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type" /> <meta content="text/html;charset=utf-8" http-equiv="Content-Type" />
<title>Flappy Dragon by lyte.dev</title>
</head> </head>
<body> <body>
<canvas id="canvas" width="640" height="480"></canvas> <canvas id="canvas" width="640" height="480"></canvas>

View file

@ -4,7 +4,7 @@
use bracket_lib::prelude::*; use bracket_lib::prelude::*;
use std::collections::VecDeque; use std::collections::VecDeque;
const VERSION: &str = "0.3.0"; // const VERSION: &str = "0.3.0";
const SCREEN_WIDTH: u16 = 80; const SCREEN_WIDTH: u16 = 80;
const SCREEN_HEIGHT: u16 = 50; const SCREEN_HEIGHT: u16 = 50;
const FRAME_DURATION: f32 = 35.0; const FRAME_DURATION: f32 = 35.0;
@ -90,7 +90,7 @@ struct State {
time: f32, time: f32,
mode: GameMode, mode: GameMode,
obstacles: VecDeque<Obstacle>, obstacles: VecDeque<Obstacle>,
obstacleSpawnTime: f32, obstacle_spawn_time: f32,
score: u32, score: u32,
} }
@ -107,7 +107,7 @@ impl State {
time: 0.0, time: 0.0,
mode: GameMode::Menu, mode: GameMode::Menu,
obstacles: VecDeque::new(), obstacles: VecDeque::new(),
obstacleSpawnTime: 0.0, obstacle_spawn_time: 0.0,
score: 0u32, score: 0u32,
} }
} }
@ -138,12 +138,12 @@ impl State {
fn play(&mut self, ctx: &mut BTerm) { fn play(&mut self, ctx: &mut BTerm) {
ctx.cls_bg(BLACK); ctx.cls_bg(BLACK);
self.time += ctx.frame_time_ms; self.time += ctx.frame_time_ms;
self.obstacleSpawnTime -= ctx.frame_time_ms; self.obstacle_spawn_time -= ctx.frame_time_ms;
ctx.print(1, 1, "Press Space to flap!"); ctx.print(1, 1, "Press Space to flap!");
ctx.print(1, 2, &format!("Score: {}", self.score)); ctx.print(1, 2, &format!("Score: {}", self.score));
// ctx.print(1, 3, &format!("Pos: {}, {}", self.player.x, self.player.y)); // ctx.print(1, 3, &format!("Pos: {}, {}", self.player.x, self.player.y));
// ctx.print(1, 4, &format!("Obstables: (Spawn: {}) #{} {:#?}", self.obstacleSpawnTime, self.obstacles.len(), self.obstacles)); // ctx.print(1, 4, &format!("Obstables: (Spawn: {}) #{} {:#?}", self.obstacle_spawn_time, self.obstacles.len(), self.obstacles));
// update // update
if self.time > FRAME_DURATION { if self.time > FRAME_DURATION {
@ -151,9 +151,9 @@ impl State {
self.time %= FRAME_DURATION; self.time %= FRAME_DURATION;
} }
if self.obstacleSpawnTime < 0.0 { if self.obstacle_spawn_time < 0.0 {
let mut random = RandomNumberGenerator::new(); let mut random = RandomNumberGenerator::new();
self.obstacleSpawnTime += random.range(400.0, 1200.0) - self.score as f32; self.obstacle_spawn_time += random.range(400.0, 1200.0) - self.score as f32;
let o = Obstacle::new(self.player.x + SCREEN_WIDTH as i32, self.score); let o = Obstacle::new(self.player.x + SCREEN_WIDTH as i32, self.score);
self.obstacles.push_back(o); self.obstacles.push_back(o);
} }