From b32f60cfac118a4fa241745a66e6a8568f9bf51a Mon Sep 17 00:00:00 2001 From: Ace Date: Tue, 30 Apr 2024 20:28:30 -0700 Subject: [PATCH] add ui and start and game over screens --- dist/fonts/Minecraftia-Regular.ttf | Bin 0 -> 70324 bytes dist/fonts/WorkSans-Medium.ttf | Bin 0 -> 143036 bytes gleam.toml | 4 +- manifest.toml | 20 +-- src/bullet_heck_gleam.gleam | 189 ++++++++++++++++++++++++----- 5 files changed, 174 insertions(+), 39 deletions(-) create mode 100644 dist/fonts/Minecraftia-Regular.ttf create mode 100644 dist/fonts/WorkSans-Medium.ttf diff --git a/dist/fonts/Minecraftia-Regular.ttf b/dist/fonts/Minecraftia-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7247ad785ac2f969f0019d1ac5253d70b6052fbc GIT binary patch literal 70324 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 L5%VJEMYQjK#!N~U literal 0 HcmV?d00001 diff --git a/dist/fonts/WorkSans-Medium.ttf b/dist/fonts/WorkSans-Medium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..137cf564c9e675dfbb8c2d6d574027b8763ff2ec GIT binary patch literal 143036 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 z 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 literal 0 HcmV?d00001 diff --git a/gleam.toml b/gleam.toml index f3e2b93..45fed9d 100644 --- a/gleam.toml +++ b/gleam.toml @@ -15,10 +15,10 @@ target = "javascript" [dependencies] gleam_stdlib = ">= 0.36.0 and < 2.0.0" -p5js_gleam = ">= 2.1.1 and < 3.0.0" +p5js_gleam = ">= 2.1.2 and < 3.0.0" prng = ">= 3.0.2 and < 4.0.0" gleam_community_maths = ">= 1.1.0 and < 2.0.0" [dev-dependencies] esgleam = ">= 0.6.0 and < 1.0.0" -startest = ">= 0.2.0 and < 1.0.0" +startest = ">= 0.2.1 and < 1.0.0" diff --git a/manifest.toml b/manifest.toml index 9897fc7..af9238b 100644 --- a/manifest.toml +++ b/manifest.toml @@ -3,6 +3,7 @@ packages = [ { name = "argv", version = "1.0.2", build_tools = ["gleam"], requirements = [], otp_app = "argv", source = "hex", outer_checksum = "BA1FF0929525DEBA1CE67256E5ADF77A7CDDFE729E3E3F57A5BDCAA031DED09D" }, + { name = "bigben", version = "1.0.0", build_tools = ["gleam"], requirements = ["birl", "gleam_erlang", "gleam_otp", "gleam_stdlib"], otp_app = "bigben", source = "hex", outer_checksum = "8E5A98FA6E981EEEF016C40F1CDFADA095927CAF6CAAA0C7E295EED02FC95947" }, { name = "birl", version = "1.6.1", build_tools = ["gleam"], requirements = ["gleam_stdlib", "ranger"], otp_app = "birl", source = "hex", outer_checksum = "976CFF85D34D50F7775896615A71745FBE0C325E50399787088F941B539A0497" }, { name = "esgleam", version = "0.6.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "simplifile"], otp_app = "esgleam", source = "hex", outer_checksum = "571D149ACFB7C7A81CF8C7A70ECFDA5A084ADBF706962353C0DA85787CB4DD24" }, { name = "exception", version = "2.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "exception", source = "hex", outer_checksum = "F5580D584F16A20B7FCDCABF9E9BE9A2C1F6AC4F9176FA6DD0B63E3B20D450AA" }, @@ -13,16 +14,17 @@ packages = [ { name = "gleam_community_maths", version = "1.1.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_community_maths", source = "hex", outer_checksum = "E30C61A75051DAF7CFD77C4FBAA04140FDA0B5D831955E7A74521E5576E2780D" }, { name = "gleam_erlang", version = "0.25.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_erlang", source = "hex", outer_checksum = "054D571A7092D2A9727B3E5D183B7507DAB0DA41556EC9133606F09C15497373" }, { name = "gleam_javascript", version = "0.8.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_javascript", source = "hex", outer_checksum = "14D5B7E1A70681E0776BF0A0357F575B822167960C844D3D3FA114D3A75F05A8" }, - { name = "gleam_json", version = "1.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib", "thoas"], otp_app = "gleam_json", source = "hex", outer_checksum = "8B197DD5D578EA6AC2C0D4BDC634C71A5BCA8E7DB5F47091C263ECB411A60DF3" }, - { name = "gleam_stdlib", version = "0.37.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "5398BD6C2ABA17338F676F42F404B9B7BABE1C8DC7380031ACB05BBE1BCF3742" }, - { name = "glint", version = "0.18.1", build_tools = ["gleam"], requirements = ["gleam_community_ansi", "gleam_community_colour", "gleam_stdlib", "snag"], otp_app = "glint", source = "hex", outer_checksum = "5FB54D7732B4105E4AF4D89A7EE6D5E8CF33DA13A3575D0C6ECE470B97958454" }, - { name = "p5js_gleam", version = "2.1.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "p5js_gleam", source = "hex", outer_checksum = "4EEC8FCD162486FCAA2AFEC9E8B7A8843AC9935551CF2B2A604A0F070AB6B00F" }, - { name = "prng", version = "3.0.2", build_tools = ["gleam"], requirements = ["gleam_bitwise", "gleam_stdlib"], otp_app = "prng", source = "hex", outer_checksum = "C61B103F9AF5031ADAA35187CCE7130845EF5088D88FD084E5995D4FBEC9D745" }, + { name = "gleam_json", version = "1.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib", "thoas"], otp_app = "gleam_json", source = "hex", outer_checksum = "9063D14D25406326C0255BDA0021541E797D8A7A12573D849462CAFED459F6EB" }, + { name = "gleam_otp", version = "0.10.0", build_tools = ["gleam"], requirements = ["gleam_erlang", "gleam_stdlib"], otp_app = "gleam_otp", source = "hex", outer_checksum = "0B04FE915ACECE539B317F9652CAADBBC0F000184D586AAAF2D94C100945D72B" }, + { name = "gleam_stdlib", version = "0.36.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "C0D14D807FEC6F8A08A7C9EF8DFDE6AE5C10E40E21325B2B29365965D82EB3D4" }, + { name = "glint", version = "1.0.0-rc1", build_tools = ["gleam"], requirements = ["gleam_community_ansi", "gleam_community_colour", "gleam_stdlib", "snag"], otp_app = "glint", source = "hex", outer_checksum = "91EC8EFA3E8FBCB842C219AA02E8072204CEE02597B4C36C2ED78AD86DD1B2EC" }, + { name = "p5js_gleam", version = "2.1.2", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "p5js_gleam", source = "hex", outer_checksum = "6280E50C5CF893BA84B6A2D82A3EA83BB764EA7F3509CA22BB12326D01283F85" }, + { name = "prng", version = "3.0.3", build_tools = ["gleam"], requirements = ["gleam_bitwise", "gleam_stdlib"], otp_app = "prng", source = "hex", outer_checksum = "53006736FE23A0F61828C95B505193E10905D8DB76E128F1642D3E571E08F589" }, { name = "ranger", version = "1.2.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "ranger", source = "hex", outer_checksum = "1566C272B1D141B3BBA38B25CB761EF56E312E79EC0E2DFD4D3C19FB0CC1F98C" }, { name = "simplifile", version = "1.7.0", build_tools = ["gleam"], requirements = ["filepath", "gleam_stdlib"], otp_app = "simplifile", source = "hex", outer_checksum = "1D5DFA3A2F9319EC85825F6ED88B8E449F381B0D55A62F5E61424E748E7DDEB0" }, { name = "snag", version = "0.3.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "snag", source = "hex", outer_checksum = "54D32E16E33655346AA3E66CBA7E191DE0A8793D2C05284E3EFB90AD2CE92BCC" }, - { name = "startest", version = "0.2.0", build_tools = ["gleam"], requirements = ["argv", "birl", "exception", "gleam_community_ansi", "gleam_erlang", "gleam_javascript", "gleam_stdlib", "glint", "simplifile", "tom"], otp_app = "startest", source = "hex", outer_checksum = "89F8575C91696D1713075F0B850A54160A32580A7CF415E045A0EEAD498AA30D" }, - { name = "thoas", version = "0.4.1", build_tools = ["rebar3"], requirements = [], otp_app = "thoas", source = "hex", outer_checksum = "4918D50026C073C4AB1388437132C77A6F6F7C8AC43C60C13758CC0ADCE2134E" }, + { name = "startest", version = "0.2.1", build_tools = ["gleam"], requirements = ["argv", "bigben", "birl", "exception", "gleam_community_ansi", "gleam_erlang", "gleam_javascript", "gleam_stdlib", "glint", "simplifile", "tom"], otp_app = "startest", source = "hex", outer_checksum = "D87A0C48712EE53878BBC5058FD4E74CD2B766779E6E7F72FC69D472C820C820" }, + { name = "thoas", version = "1.2.0", build_tools = ["rebar3"], requirements = [], otp_app = "thoas", source = "hex", outer_checksum = "540C8CB7D9257F2AD0A14145DC23560F91ACDCA995F0CCBA779EB33AF5D859D1" }, { name = "tom", version = "0.3.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "tom", source = "hex", outer_checksum = "0831C73E45405A2153091226BF98FB485ED16376988602CC01A5FD086B82D577" }, ] @@ -30,6 +32,6 @@ packages = [ esgleam = { version = ">= 0.6.0 and < 1.0.0" } gleam_community_maths = { version = ">= 1.1.0 and < 2.0.0" } gleam_stdlib = { version = ">= 0.36.0 and < 2.0.0" } -p5js_gleam = { version = ">= 2.1.1 and < 3.0.0"} +p5js_gleam = { version = ">= 2.1.2 and < 3.0.0"} prng = { version = ">= 3.0.2 and < 4.0.0" } -startest = { version = ">= 0.2.0 and < 1.0.0" } +startest = { version = ">= 0.2.1 and < 1.0.0" } diff --git a/src/bullet_heck_gleam.gleam b/src/bullet_heck_gleam.gleam index 863d4e3..dd2da38 100644 --- a/src/bullet_heck_gleam.gleam +++ b/src/bullet_heck_gleam.gleam @@ -1,8 +1,9 @@ import bullet import dungeon import gleam/bool +import gleam/int import gleam/list -import p5js_gleam.{type P5} +import p5js_gleam.{type Assets, type P5} import p5js_gleam/bindings as p5 import player import utils @@ -10,73 +11,191 @@ import vector /// Represents the overall game state type WorldState { - /// State of the world when the game is active + /// The start screen of the game. + StartScreen + /// State of the world when the game is active. GameRunning( dungeon: dungeon.Dungeon, player: player.Player, bullets: List(bullet.Bullet), + score: Int, ) - GameOver(fell_in_pitch: Bool) - // enemies: List(Enemy), + /// The game over screen when the player has lost. + GameOver(fell_in_pit: Bool, score: Int) +} + +fn preload(p: P5) -> Assets { + let minecraftia = p5.load_font(p, "./fonts/Minecraftia-Regular.ttf") + let worksans = p5.load_font(p, "./fonts/WorkSans-Medium.ttf") + + p5js_gleam.initialize_assets() + |> p5js_gleam.insert_font("minecraftia", minecraftia) + |> p5js_gleam.insert_font("worksans", worksans) } fn setup(p: P5) -> WorldState { let canvas_size = dungeon.total_size() p5.create_canvas(p, canvas_size, canvas_size) - let dungeon = dungeon.generate_dungeon() - GameRunning( - dungeon, - player.new_player(vector.Vector(canvas_size /. 2.0, canvas_size /. 2.0, 0.0)), - [], - ) + StartScreen } -fn draw(p: P5, state: WorldState) { +fn draw(p: P5, state: WorldState, assets: Assets) { + let center_text = fn(txt: String) { + let canvas_size = dungeon.total_size() + canvas_size /. 2.0 -. p5.text_width(p, txt) /. 2.0 + } + let h1 = 40 + let h2 = 30 + let h3 = 22 + let h4 = 18 + let par = 14 + let assert Ok(minecraftia) = p5js_gleam.get_font(assets, "minecraftia") + let assert Ok(worksans) = p5js_gleam.get_font(assets, "worksans") + let canvas_size = dungeon.total_size() + p5.background(p, "#000000") case state { - GameRunning(dungeon, player, bullets) -> { + StartScreen -> { + let title = "BULLET HECK" + let start = "Press 'SPACE' to start" + let ctrl = "Controls" + let ctrl_move = "Use arrow keys or WASD to move" + let ctrl_jump = "Press SPACE to jump" + let ctrl_shoot = "Use mouse to aim, click to shoot" + + p + |> p5.fill("#0f0f0f") + |> p5.rect(0.0, 0.0, canvas_size, canvas_size) + |> p5.text_size(h1) + |> p5.fill("#ffffff") + |> p5.text_font(minecraftia) + |> p5.text(title, center_text(title), canvas_size /. 2.0 +. 5.0) + |> p5.text_font(worksans) + |> p5.text_size(h4) + |> p5.text(start, center_text(start), canvas_size /. 2.0 +. 20.0) + // controls + |> p5.fill("#969696") + |> p5.text(ctrl, center_text(ctrl), canvas_size /. 2.0 +. 200.0) + |> p5.text_size(par) + |> p5.text(ctrl_move, center_text(ctrl_move), canvas_size /. 2.0 +. 225.0) + |> p5.text(ctrl_jump, center_text(ctrl_jump), canvas_size /. 2.0 +. 245.0) + |> p5.text( + ctrl_shoot, + center_text(ctrl_shoot), + canvas_size /. 2.0 +. 265.0, + ) + } + GameRunning(dungeon, player, bullets, score) -> { dungeon.draw(p, dungeon) player.draw(p, player) list.each(bullets, bullet.draw(p, _)) + + // Render UI + let hp_x = 22.0 + let score_x = canvas_size -. 100.0 + p + |> p5.no_stroke() + |> p5.fill("#660000") + |> p5.rect(0.0, 0.0, canvas_size, 36.0) + // draw health bar + |> p5.fill("#28e200") + |> p5.rect(hp_x +. 15.0, 12.0, int.to_float(player.current_health), 10.0) + |> p5.fill("#ffffff") + |> p5.text_size(par) + |> p5.text("HP:", 10.0, hp_x) + // draw score + |> p5.text("Score:", score_x, 22.0) + |> p5.text(int.to_string(score), score_x +. 45.0, 22.0) } - GameOver(_) -> { + GameOver(fell_in_pit, score) -> { + let canvas_size = dungeon.total_size() + let game_over = "GAME OVER" + let final_score = "Final Score: " + let restart = "Press 'R' to play again" + let score_text = final_score <> int.to_string(score) + let cause_of_death = case fell_in_pit { + True -> "You fell to your death." + False -> "Turns out, red things hurt." + } + p + |> p5.fill("#0f0f0f") + |> p5.rect(0.0, 0.0, canvas_size, canvas_size) + |> p5.fill("#e20000") + |> p5.text_size(h2) + |> p5.text_font(minecraftia) + |> p5.text(game_over, center_text(game_over), canvas_size /. 2.0 -. 25.0) + |> p5.text_size(h3) + |> p5.text_font(worksans) + |> p5.text( + cause_of_death, + center_text(cause_of_death), + canvas_size /. 2.0 -. 15.0, + ) + |> p5.fill("#ffffff") + |> p5.text( + score_text, + center_text(score_text), + canvas_size /. 2.0 +. 45.0, + ) + |> p5.text_size(h4) + |> p5.text(restart, center_text(restart), canvas_size /. 2.0 +. 70.0) } } } fn on_key_pressed(key: String, _: Int, state: WorldState) -> WorldState { case key, state { - " ", GameRunning(dungeon, player, bullets) -> + "r", _ -> StartScreen + " ", StartScreen -> { + let canvas_size = dungeon.total_size() + let dungeon = dungeon.generate_dungeon() + GameRunning( + dungeon, + player.new_player(vector.Vector( + canvas_size /. 2.0, + canvas_size /. 2.0, + 0.0, + )), + [], + 0, + ) + } + " ", GameRunning(dungeon, player, bullets, score) -> GameRunning( dungeon: dungeon, bullets: bullets, player: player.jump(player), + score: score, ) - "w", GameRunning(dungeon, player, bullets) -> + "w", GameRunning(dungeon, player, bullets, score) -> GameRunning( dungeon: dungeon, bullets: bullets, player: player.accelerate_y(player, False), + score: score, ) - "s", GameRunning(dungeon, player, bullets) -> + "s", GameRunning(dungeon, player, bullets, score) -> GameRunning( dungeon: dungeon, bullets: bullets, player: player.accelerate_y(player, True), + score: score, ) - "a", GameRunning(dungeon, player, bullets) -> + "a", GameRunning(dungeon, player, bullets, score) -> GameRunning( dungeon: dungeon, bullets: bullets, player: player.accelerate_x(player, False), + score: score, ) - "d", GameRunning(dungeon, player, bullets) -> + "d", GameRunning(dungeon, player, bullets, score) -> GameRunning( dungeon: dungeon, bullets: bullets, player: player.accelerate_x(player, True), + score: score, ) _, _ -> state } @@ -84,29 +203,33 @@ fn on_key_pressed(key: String, _: Int, state: WorldState) -> WorldState { fn on_key_released(key: String, _: Int, state: WorldState) -> WorldState { case key, state { - "w", GameRunning(dungeon, player, bullets) -> + "w", GameRunning(dungeon, player, bullets, score) -> GameRunning( dungeon: dungeon, bullets: bullets, player: player.stop_y(player), + score: score, ) - "s", GameRunning(dungeon, player, bullets) -> + "s", GameRunning(dungeon, player, bullets, score) -> GameRunning( dungeon: dungeon, bullets: bullets, player: player.stop_y(player), + score: score, ) - "a", GameRunning(dungeon, player, bullets) -> + "a", GameRunning(dungeon, player, bullets, score) -> GameRunning( dungeon: dungeon, bullets: bullets, player: player.stop_x(player), + score: score, ) - "d", GameRunning(dungeon, player, bullets) -> + "d", GameRunning(dungeon, player, bullets, score) -> GameRunning( dungeon: dungeon, bullets: bullets, player: player.stop_x(player), + score: score, ) _, _ -> state } @@ -114,7 +237,7 @@ fn on_key_released(key: String, _: Int, state: WorldState) -> WorldState { fn on_mouse_clicked(x: Float, y: Float, state: WorldState) -> WorldState { case state { - GameRunning(dungeon, player, bullets) -> { + GameRunning(dungeon, player, bullets, score) -> { use <- bool.guard(!player.can_player_fire(player), state) let firing_direction = @@ -137,6 +260,7 @@ fn on_mouse_clicked(x: Float, y: Float, state: WorldState) -> WorldState { ..player, last_fire_time: utils.now_in_milliseconds(), ), + score: score, ) } _ -> state @@ -145,7 +269,7 @@ fn on_mouse_clicked(x: Float, y: Float, state: WorldState) -> WorldState { fn on_tick(state: WorldState) -> WorldState { case state { - GameRunning(dungeon, player, bullets) -> { + GameRunning(dungeon, player, bullets, score) -> { // Attempt to move player let old_position = player.position let moved = player.move(player) @@ -166,9 +290,9 @@ fn on_tick(state: WorldState) -> WorldState { } use <- bool.guard( - player.position.z <. 0.0 + player.position.z <=. 0.0 && dungeon.is_over_pit(dungeon, player.position), - GameOver(True), + GameOver(True, score), ) let player = player.update_velocity(player) @@ -203,14 +327,23 @@ fn on_tick(state: WorldState) -> WorldState { #([bullet.advance_bullet(b), ..bullets], player) }) - GameRunning(dungeon: dungeon, player: player, bullets: bullets) + GameRunning( + dungeon: dungeon, + player: player, + bullets: bullets, + score: score, + ) } _ -> state } } pub fn main() { - p5js_gleam.create_sketch(init: setup, draw: draw) + p5js_gleam.create_sketch_with_preloading( + init: setup, + draw: draw, + preload: preload, + ) |> p5js_gleam.set_on_key_pressed(on_key_pressed) |> p5js_gleam.set_on_key_released(on_key_released) |> p5js_gleam.set_on_mouse_clicked(on_mouse_clicked)