- commit
- fc2f6da45b32fd0fc68e9571662a48f6d169dee7
- parent
- 3473b5223e89342290524d41079d774b7e0806a3
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2023-02-19 17:16
put bars back into functions
Diffstat
| M | src/main.rs | 41 | +++++++++++++++++++++++------------------ |
1 files changed, 23 insertions, 18 deletions
diff --git a/src/main.rs b/src/main.rs
@@ -23,6 +23,27 @@ fn quit(_sig: i32) {
23 23 RUNNING.fetch_and(false, Ordering::Relaxed);
24 24 }
25 25
-1 26 fn render_bar(screen: &mut term::Screen, value: f32, y0: usize, color: [u8; 3]) {
-1 27 let x0 = (screen.width as f32 * value) as usize;
-1 28 for x in 0..screen.width {
-1 29 let c = if x <= x0 { color } else { BLACK };
-1 30 for dy in 0..3 {
-1 31 screen.set(x, y0 + dy, c);
-1 32 }
-1 33 }
-1 34 }
-1 35
-1 36 fn render_xp_bar(player: &game::Player, screen: &mut term::Screen) {
-1 37 let value = (player.xp - player.last_level) as f32
-1 38 / (player.next_level - player.last_level) as f32;
-1 39 render_bar(screen, value, 0, BLUE);
-1 40 }
-1 41
-1 42 fn render_health_bar(player: &game::Player, screen: &mut term::Screen) {
-1 43 let value = player.health / player.health_max;
-1 44 render_bar(screen, value, screen.height - 3, RED);
-1 45 }
-1 46
26 47 fn main() {
27 48 let input = input::Input::new();
28 49 let mut screen = term::Screen::new();
@@ -59,24 +80,8 @@ fn main() {
59 80 game.step(dt);
60 81 game.render(&mut screen);
61 82
62 -1 let xp_bar = (screen.width as f32 * (game.player.xp - game.player.last_level) as f32
63 -1 / (game.player.next_level - game.player.last_level) as f32)
64 -1 as usize;
65 -1 for x in 0..screen.width {
66 -1 let c = if x <= xp_bar { BLUE } else { BLACK };
67 -1 for y in 0..3 {
68 -1 screen.set(x, y, c);
69 -1 }
70 -1 }
71 -1
72 -1 let health_bar =
73 -1 (screen.width as f32 * game.player.health / game.player.health_max) as usize;
74 -1 for x in 0..screen.width {
75 -1 let c = if x <= health_bar { RED } else { BLACK };
76 -1 for y in (screen.height - 3)..screen.height {
77 -1 screen.set(x, y, c);
78 -1 }
79 -1 }
-1 83 render_xp_bar(&game.player, &mut screen);
-1 84 render_health_bar(&game.player, &mut screen);
80 85
81 86 screen.render();
82 87 print!("{:?}", 1.0 / dt);