From 2753f02a6e2f081da76b893ce84abd71f9c0149d Mon Sep 17 00:00:00 2001 From: VisualGMQ <2142587070@qq.com> Date: Thu, 4 Aug 2022 00:14:17 +0800 Subject: [PATCH] add bullet type, supply --- .gitignore | 5 +- CMakeLists.txt | 2 +- binding/lua/bridge.c | 20 ++- binding/lua/hazel_bind.lua | 15 ++ game/TODO.md | 14 +- game/animation.lua | 4 +- game/constants.lua | 68 +++++++-- game/content.lua | 14 ++ game/ecs.lua | 236 ++++++++++++++++++++++++++++---- game/hazel.lua | 17 +++ game/helpfunc.lua | 31 +++++ game/main.lua | 149 +++++++++++++++++--- game/resources/gameover.wav | Bin 0 -> 65026 bytes game/resources/monster_hurt.wav | Bin 0 -> 17764 bytes game/resources/numbers.png | Bin 0 -> 279 bytes game/resources/player_hurt.wav | Bin 0 -> 10188 bytes game/resources/shoot.wav | Bin 0 -> 10736 bytes game/resources/tilesheet.png | Bin 5571 -> 7767 bytes hazel/pch.h | 1 + hazel/sound.h | 13 ++ src/sound.c | 17 +++ test/main.c | 3 + test/resources/1.wav | Bin 0 -> 269918 bytes test/resources/2.wav | Bin 0 -> 36614 bytes 24 files changed, 540 insertions(+), 69 deletions(-) create mode 100644 game/helpfunc.lua create mode 100644 game/resources/gameover.wav create mode 100644 game/resources/monster_hurt.wav create mode 100644 game/resources/numbers.png create mode 100644 game/resources/player_hurt.wav create mode 100644 game/resources/shoot.wav create mode 100644 hazel/sound.h create mode 100644 src/sound.c create mode 100644 test/resources/1.wav create mode 100644 test/resources/2.wav diff --git a/.gitignore b/.gitignore index f2bfc24..079b991 100644 --- a/.gitignore +++ b/.gitignore @@ -5,8 +5,7 @@ install TODO.txt .cache compile_flags.txt -game/shader +*.zip game/*.dll -game/*.dll.a game/*.exe -*.zip \ No newline at end of file +game/shader diff --git a/CMakeLists.txt b/CMakeLists.txt index ba97bfd..c1b8e18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,7 +18,7 @@ include(cmake/FindSTB.cmake) # hazel-core aux_source_directory(src HAZEL_SRC) add_library(${HAZEL_CORE_NAME} SHARED ${HAZEL_SRC}) -target_link_libraries(${HAZEL_CORE_NAME} PUBLIC glad glfw stb_image) +target_link_libraries(${HAZEL_CORE_NAME} PUBLIC glad glfw stb_image "winmm") target_include_directories(${HAZEL_CORE_NAME} PUBLIC .) target_compile_features(${HAZEL_CORE_NAME} PUBLIC c_std_11) target_precompile_headers(${HAZEL_CORE_NAME} PUBLIC hazel/pch.h) diff --git a/binding/lua/bridge.c b/binding/lua/bridge.c index 39700cb..9c1006c 100644 --- a/binding/lua/bridge.c +++ b/binding/lua/bridge.c @@ -5,6 +5,7 @@ #include "hazel/hazel.h" #include "hazel/renderer.h" +#include "hazel/sound.h" static int LuaBridge_RenderSetClearColor(lua_State* L) { float r = luaL_checknumber(L, 1); @@ -145,16 +146,29 @@ static int LuaBridge_GetWindowSize(lua_State* L) { return 2; } -static int LuaBridge_HideCursor() { +static int LuaBridge_HideCursor(lua_State* L) { Hazel_HideCursor(); return 0; } -static int LuaBridge_ShowCursor() { +static int LuaBridge_ShowCursor(lua_State* L) { Hazel_ShowCursor(); return 0; } +static int LuaBridge_LoadSound(lua_State* L) { + const char* filename = luaL_checkstring(L, 1); + const char* soundName = luaL_checkstring(L, 2); + Hazel_LoadSound(filename, soundName); + return 0; +} + +static int LuaBridge_PlaySound(lua_State* L) { + const char* soundName = luaL_checkstring(L, 1); + Hazel_PlaySound(soundName); + return 0; +} + static const struct luaL_Reg libhazel[] = { {"RenderSetClearColor", LuaBridge_RenderSetClearColor}, {"RenderSetDrawColor", LuaBridge_RenderSetDrawColor}, @@ -176,6 +190,8 @@ static const struct luaL_Reg libhazel[] = { {"HideCursor", LuaBridge_HideCursor}, {"ShowCursor", LuaBridge_ShowCursor}, {"SayHello", LuaBridge_SayHello}, + {"LoadSound", LuaBridge_LoadSound}, + {"PlaySound", LuaBridge_PlaySound}, {NULL, NULL}, }; diff --git a/binding/lua/hazel_bind.lua b/binding/lua/hazel_bind.lua index bb97e6e..ac26b1f 100644 --- a/binding/lua/hazel_bind.lua +++ b/binding/lua/hazel_bind.lua @@ -462,4 +462,19 @@ end _M.Time = Time +local Sound = {} + +---@param filename string +---@param name string +function Sound.LoadSound(filename, name) + libhazel.Load(filename, name); +end + +---@param name string +function Sound.Play(name) + libhazel.PlaySound( name); +end + +_M.Sound = Sound + return _M diff --git a/game/TODO.md b/game/TODO.md index da2c85b..a3422ac 100644 --- a/game/TODO.md +++ b/game/TODO.md @@ -1,14 +1,14 @@ [important] [x] 加上1MGames标志 -[ ] 角色走路动画 -[ ] 角色受伤特效 +[x] 增加音效 [x] 角色无敌时闪烁 -[ ] 新增多个枪类型 -[ ] 右上角显示分数 -[ ] 玩家积分榜 +[x] 新增多个枪类型 +[x] 右上角显示分数 + +[FIXME] +[ ] Component的Update顺序是随机的 [optional] [ ] 怪物从土里爬出来(新增怪物类型) -[ ] 掉落宝物(掉落子弹,加分道具) -[ ] 多把武器切换 \ No newline at end of file +[ ] 多把武器切换 diff --git a/game/animation.lua b/game/animation.lua index 51864aa..d157608 100644 --- a/game/animation.lua +++ b/game/animation.lua @@ -8,7 +8,7 @@ local _M = {} ---@field col number ---@field time number ----@param tilesheet Texture +---@param tilesheet TileSheet ---@param frames table ---@param onEndCallback function function _M.CreateAnimation(tilesheet, frames, onEndCallback) @@ -42,6 +42,8 @@ function _M.GetCurFrame(self) end end +---@return TileSheet +---@param self Animation function _M.GetTilesheet(self) return self.tilesheet end diff --git a/game/constants.lua b/game/constants.lua index 050257c..11b466e 100644 --- a/game/constants.lua +++ b/game/constants.lua @@ -2,6 +2,13 @@ local _M = {} _M.ShowLicenseTime = 2.5 +_M.SoundName = { + Shoot = "SHOOT", + PlayerHurt = "PLAYER_HURT", + MonsterHurt = "MONSTER_HURT", + GameOver = "GAMEOVER", +} + _M.TileSize = 32 _M.PlayerInfo = { velocity = 250, @@ -18,6 +25,12 @@ _M.RoleColliBox = { x = 9, y = 0, } +_M.SupplyColliBox = { + w = 32, + h = 32, + x = 9, + y = 0, +} _M.MonsterBirthInterval = 1 _M.MonsterBirthInitNum = 1 _M.Invincible = 1 @@ -39,16 +52,55 @@ _M.MonsetHpBarInfo= { _M.GunInfo = { cooldown = 0.1 } -_M.BulletInfo = { - damage = 10, - velocity = 500, -} -_M.GunInfo = { - cooldown = 0.1 + +_M.BulletType = { + Normal = 1, + Ice = 2, + Fire = 3, } + _M.BulletInfo = { - damage = 10, - velocity = 500, + [_M.BulletType.Normal] = { + damage = 10, + velocity = 500, + cooldown = 0.1, + initNum = -1, + }, + [_M.BulletType.Ice] = { + damage = 5, + velocity = 400, + cooldown = 0.1, + initNum = 100, + }, + [_M.BulletType.Fire] = { + damage = 7, + velocity = 600, + cooldown = 0.1, + fireDamage = 1, + initNum = 100, + }, +} + +_M.BulletEffectTime = { + IceTime = 2, + FireTime = 2, +} +_M.RoleState = { + Normal = 1, + Ice = 2, + Fire = 3, +} +_M.SupplyFalldownKillNum = 120 + +_M.SupplyType = { + IceGun = 1, + FireGun = 2, + HpRecover = 3, +} +_M.SupplyItem = { + [_M.SupplyType.IceGun] = { num = 100 }, + [_M.SupplyType.FireGun] = { num = 100 }, + [_M.SupplyType.HpRecover] = { recover = 50}, } return _M diff --git a/game/content.lua b/game/content.lua index c8cd263..9ca6b76 100644 --- a/game/content.lua +++ b/game/content.lua @@ -13,9 +13,15 @@ _M.StartHintTexture = nil ---@type Texture _M.LicensTexture = nil +---@type Texture +_M.NumberTexture = nil + ---@type TileSheet _M.Tilesheet = nil +---@type TileSheet +_M.NumberTilesheet = nil + ---@type Entity _M.PlayerEntity = nil @@ -57,4 +63,12 @@ _M.Animations = { EnemyWalkLeft = nil, } +---@type number +_M.KillNum = 0 +---@type number +_M.Score = 0 + +---@type table +_M.SupplyList = {} + return _M \ No newline at end of file diff --git a/game/ecs.lua b/game/ecs.lua index df5e811..3ee6adb 100644 --- a/game/ecs.lua +++ b/game/ecs.lua @@ -4,6 +4,8 @@ local math = require "math" local vmath = require "vmath" local content = require "content" local timer = require "timer" +local animation = require "animation" +local helpfuncs = require "helpfunc" ---@class ECS local _M = {} @@ -29,7 +31,7 @@ function Entity.SetComponent(self, component) end ---@return Component|nil ----@param type string +---@param type number function Entity.GetComponent(self, type) if not type then return nil @@ -102,17 +104,20 @@ end ---@class ComponentType local ComponentType = { - Transform = "Transform", - Image = "Image", - Controller = "Controller", - RoleProp = "RoleProp", - HpShow = "HpShow", - Gun = "Gun", - Bullet = "Bullet", - Direction = "Direction", - AI = "AI", - ColliBox = "ColliBox", - Invincible = "Invincible", + Transform = 1, + Controller = 2, + RoleProp = 3, + HpShow = 4, + Gun = 5, + Bullet = 6, + Direction = 7, + AI = 8, + ColliBox = 9, + Invincible = 10, + Animator = 11, + State = 12, + Supply = 13, + Image = 14, } _M.ComponentType = ComponentType @@ -215,6 +220,8 @@ function _M.CreateControllerComponent() ---@type TransformComponent local transform = self:GetParent():GetComponent(ComponentType.Transform) + ---@type AnimatorComponent + local animator = self:GetParent():GetComponent(ComponentType.Animator) local elapseTime = hazel.Time.GetElapseTime() if hazel.IsKeyPressing(hazel.Key.A) then transform.position.x = transform.position.x - speed * elapseTime @@ -379,6 +386,10 @@ function _M.CreateAIComponent() ---@param self AIComponent o.Update = function(self) + local state = self:GetParent():GetComponent(ComponentType.State):GetState() + if state == constants.RoleState.Ice then + return + end ---@type DirectionComponent local direction = self:GetParent():GetComponent(ComponentType.Direction) @@ -407,31 +418,50 @@ end ---@field speed Point ---@return GunComponent ----@param damage number ----@param velocity number -function _M.CreateGunComponent(damage, velocity) - local o = { isActive = true, name = ComponentType.Gun, damage = damage, canShoot = true, velocity = velocity, parent = nil } - o.cdTimer = timer.CreateTimer(constants.GunInfo.cooldown, -1, function() +---@param type number +---@param bulletNum number|nil +function _M.CreateGunComponent(type, bulletNum) + local o = { isActive = true, name = ComponentType.Gun, type = type, canShoot = true, parent = nil } + o.bulletNum = constants.BulletInfo[type or constants.BulletType.Normal].initNum + o.cdTimer = timer.CreateTimer(constants.BulletInfo[type].cooldown, -1, function() o.canShoot = true end) + o.SetType = function(self, type) + self.type = type or constants.BulletType.Normal + self.bulletNum = constants.BulletInfo[self.type].initNum + end + + o.GetBulletNum = function(self) + return self.bulletNum + end + ---@param self GunComponent ---@param dir Point o.Fire = function(self, dir) - if not self.canShoot then + if not self.canShoot or self.bulletNum == 0 then return end + hazel.Sound.Play(constants.SoundName.Shoot) ---@type Point local position = self:GetParent():GetComponent(ComponentType.Transform).position local playerCenterX = position.x + constants.TileSize / 2 local playerCenterY = position.y + constants.TileSize / 2 local ndir = vmath.Normalize(dir) + local velocity = constants.BulletInfo[type].velocity local bullet = _M.CreateBullet(hazel.CreatePos(playerCenterX - constants.TileSize / 2, playerCenterY - constants.TileSize / 2), - self.damage, - hazel.CreatePos(ndir.x * self.velocity, ndir.y * self.velocity)) + constants.BulletInfo[type].damage, + hazel.CreatePos(ndir.x * velocity, ndir.y * velocity), + self.type) table.insert(content.BulletList, bullet) self.canShoot = false + hazel.Sound.Play(constants.SoundName.Shoot) + self.bulletNum = self.bulletNum - 1 + + if self.bulletNum == 0 then + self:SetType(constants.BulletType.Normal) + end end ---@param self GunComponent @@ -450,9 +480,14 @@ end ---@return BulletComponent ---@param damage number ---@param speed Point -function _M.CreateBulletComponent(damage, speed) - local o = { isActive = true, name = ComponentType.Bullet, damage = damage, speed = speed, parent = nil } +---@param type number +function _M.CreateBulletComponent(damage, speed, type) + local o = { isActive = true, name = ComponentType.Bullet, damage = damage, type = type, speed = speed, parent = nil } ---@param self BulletComponent + o.GetType = function(self) + return self.type + end + o.Update = function(self) local position = self:GetParent():GetComponent(ComponentType.Transform).position local elapseTime = hazel.Time.GetElapseTime() @@ -474,16 +509,150 @@ function _M.CreateColliBoxComponent(rect) end +---@class SupplyComponent:Component +---@field rect Rect + +---@return SupplyComponent +---@param type number +function _M.CreateSupplyComponent(type) + local o = { isActive = true, name = ComponentType.Supply, type = type, parent = nil } + o.Update = function(self) end + return _M.CreateComponent(o) +end + + +---@class StateComponent:Component +---@field rect Rect + +---@return StateComponent +---@param state number|nil +function _M.CreateStateComponent(state) + local o = { isActive = true, name = ComponentType.State, state = state or constants.RoleState.Normal, parent = nil } + ---@type Animation + o.fireAnimation = animation.CreateAnimation(content.Tilesheet, { + {row = 10, col = 2, time = 0.2}, + {row = 11, col = 0, time = 0.2}, + }, function() + o.fireAnimation:Rewind() + o.fireAnimation:Play() + end) + o.GetState = function(self) + return self.state + end + o.IntoIce = function(self) + self.state = constants.RoleState.Ice + self.cdTimer = timer.CreateTimer(constants.BulletEffectTime.IceTime, 1, function() + if self.state == constants.RoleState.Ice then + self.state = constants.RoleState.Normal + end + end) + end + o.IntoFire = function(self) + self.state = constants.RoleState.Fire + self.fireAnimation:Play() + self.cdTimer = timer.CreateTimer(constants.BulletEffectTime.FireTime, 1, function() + self.fireAnimation:Stop() + if self.state == constants.RoleState.Fire then + self.state = constants.RoleState.Normal + end + end) + end + ---@param self StateComponent + o.Update = function(self) + self.fireAnimation:Update() + if self.fireAnimation:IsPlaying() then + local frame = self.fireAnimation:GetCurFrame() + ---@type Point + local position = self:GetParent():GetComponent(ComponentType.Transform).position + self.fireAnimation:GetTilesheet():Draw(frame.col, frame.row, hazel.CreateRect(position.x, position.y, constants.TileSize, constants.TileSize)) + end + if self.state == constants.RoleState.Ice then + local position = self:GetParent():GetComponent(ComponentType.Transform).position + content.Tilesheet:Draw(2, 9, hazel.CreateRect(position.x, position.y, constants.TileSize, constants.TileSize)) + elseif self.state == constants.RoleState.Fire then + ---@type RolePropComponent + local roleProp = self:GetParent():GetComponent(ComponentType.RoleProp) + local oldHp = roleProp.hp + roleProp.hp = roleProp.hp - constants.BulletInfo[constants.BulletType.Fire].fireDamage + if oldHp > 0 and roleProp.hp <= 0 then + content.Score = content.Score + 1 + helpfuncs.IncKillNum() + end + end + if self.cdTimer then + self.cdTimer:Update() + end + end + return _M.CreateComponent(o) +end + +---@class AnimatorComponent:Component +---@field Play function +---@field Stop function +---@field Pause function +---@field Rewind function +---@field SetAnimation function +---@field GetAnimation function + +---@param ani Animation +function _M.CreateAnimatorComponent(ani) + local o = { isActive = true, name = ComponentType.Animator, ani = ani, parent = nil } + + o.Play = function(self) self.ani:Play() end + o.Pause = function(self) self.ani:Pause() end + o.Rewind = function(self) self.ani:Rewind() end + o.Stop = function(self) + self.ani:Stop() + self.ani:Rewind() + end + o.SetAnimation = function(self, ani) + if self.ani then + self.ani:Stop() + self.ani:Rewind() + self.ani = ani + end + end + o.GetAnimation = function(self) return self.ani end + + ---@param self AnimatorComponent + o.Update = function(self) + if not self.ani then + return + end + self.ani:Update() + ---@type ImageComponent + local image = self:GetParent():GetComponent(ComponentType.Image) + if image then + local frame = self.ani:GetCurFrame() + if frame then + image.row = frame.row + image.col = frame.col + image.tilesheet = self.ani:GetTilesheet() + end + end + end + return _M.CreateComponent(o) +end + + ---@return Entity ---@param pos Point ---@param damage number ---@param speed Point -function _M.CreateBullet(pos, damage, speed) +---@param type number|nil +function _M.CreateBullet(pos, damage, speed, type) + type = type or constants.BulletType.Normal ---@type Entity local entity = _M.CreateEntity("Bullet") entity:SetComponent(_M.CreateTransformComponent(pos, hazel.CreateSize(constants.TileSize, constants.TileSize))) - entity:SetComponent(_M.CreateBulletComponent(damage, speed)) - entity:SetComponent(_M.CreateImageComponent(content.Tilesheet, 1, 4)) + entity:SetComponent(_M.CreateBulletComponent(damage, speed, type)) + if type == constants.BulletType.Normal then + entity:SetComponent(_M.CreateImageComponent(content.Tilesheet, 1, 4)) + elseif type == constants.BulletType.Ice then + entity:SetComponent(_M.CreateImageComponent(content.Tilesheet, 0, 10)) + elseif type == constants.BulletType.Fire then + entity:SetComponent(_M.CreateImageComponent(content.Tilesheet, 1, 10)) + end entity:SetComponent(_M.CreateColliBoxComponent(constants.BulletColliBox)) return entity end @@ -496,9 +665,10 @@ function _M.CreatePlayer(pos) entity:SetComponent(_M.CreateImageComponent(content.Tilesheet, 0, 0)) entity:SetComponent(_M.CreateRolePropComponent(constants.PlayerInfo.hp, constants.PlayerInfo.velocity)) entity:SetComponent(_M.CreateDirectionComponent(0)) - entity:SetComponent(_M.CreateGunComponent(constants.BulletInfo.damage, constants.BulletInfo.velocity)) + entity:SetComponent(_M.CreateGunComponent(constants.BulletType.Fire)) entity:SetComponent(_M.CreateColliBoxComponent(constants.RoleColliBox)) entity:SetComponent(_M.CreateInvincibleComponent(constants.Invincible)) + entity:SetComponent(_M.CreateStateComponent()) return entity end @@ -512,6 +682,20 @@ function _M.CreateMonster(pos) entity:SetComponent(_M.CreateHpShowComponent(hazel.CreateSize(constants.MonsetHpBarInfo.width, constants.MonsetHpBarInfo.height))) entity:SetComponent(_M.CreateDirectionComponent(5)) entity:SetComponent(_M.CreateColliBoxComponent(constants.RoleColliBox)) + entity:SetComponent(_M.CreateStateComponent()) + return entity +end + + +---@return Entity +---@param type number +---@param pos Point +function _M.CreateSupply(type, pos) + local entity = _M.CreateEntity("supply") + entity:SetComponent(_M.CreateTransformComponent(pos, hazel.CreateSize(constants.TileSize, constants.TileSize))) + entity:SetComponent(_M.CreateImageComponent(content.Tilesheet, 1, 11)) + entity:SetComponent(_M.CreateColliBoxComponent(constants.SupplyColliBox)) + entity:SetComponent(_M.CreateSupplyComponent(type)) return entity end diff --git a/game/hazel.lua b/game/hazel.lua index bb97e6e..a199fc2 100644 --- a/game/hazel.lua +++ b/game/hazel.lua @@ -462,4 +462,21 @@ end _M.Time = Time + +local Sound = {} + +---@param filename string +---@param name string +function Sound.Load(filename, name) + libhazel.LoadSound(filename, name); +end + +---@param name string +function Sound.Play(name) + libhazel.PlaySound( name); +end + +_M.Sound = Sound + + return _M diff --git a/game/helpfunc.lua b/game/helpfunc.lua new file mode 100644 index 0000000..7d0a2d5 --- /dev/null +++ b/game/helpfunc.lua @@ -0,0 +1,31 @@ +---@class helpfunc + +---@type helpfunc +_M = {} + +local constants = require "constants" +---@type Content +local content = require "content" +---@type hazel +local hazel = require "hazel" + +_M.GenerateSupply = function() + local type = math.random(1, 3) + local canvaSize = hazel.GetCanvaSize() + ---@type Entity + ---@type ECS + local ECS = require "ecs" + local supply = ECS.CreateSupply(type, + hazel.CreatePos(math.random(0, canvaSize.x - constants.TileSize), + math.random(0, canvaSize.y - constants.TileSize))) + table.insert(content.SupplyList, supply) +end + +_M.IncKillNum = function() + content.KillNum = content.KillNum + 1 + if content.KillNum % constants.SupplyFalldownKillNum == 0 then + _M.GenerateSupply() + end +end + +return _M \ No newline at end of file diff --git a/game/main.lua b/game/main.lua index 353a578..5af8d48 100644 --- a/game/main.lua +++ b/game/main.lua @@ -5,6 +5,7 @@ local content = require "content" local vmath = require "vmath" local timer = require "timer" local animation = require "animation" +local helpfunc = require "helpfunc" local function drawCurosr() hazel.Renderer.SetDrawColor(1, 0, 0, 1) @@ -70,6 +71,13 @@ local function updateMonster() end end +local function updateSupply() + ---@param v Entity + for _, v in pairs(content.SupplyList) do + v:Update() + end +end + local function collisionDeal() ---@type Rect local playerBox = content.PlayerEntity:GetComponent(ECS.ComponentType.ColliBox).rect @@ -96,13 +104,18 @@ local function collisionDeal() if vmath.IsRectIntersect(playerColliBox, monsterColliBox) then ---@type InvincibleComponent local playerInvincible = content.PlayerEntity:GetComponent(ECS.ComponentType.Invincible) - if not playerInvincible:IsInvincibleState() then + if playerInvincible and not playerInvincible:IsInvincibleState() then ---@type RolePropComponent local playerRoleProp = content.PlayerEntity:GetComponent(ECS.ComponentType.RoleProp) + local oldHp = playerRoleProp.hp playerRoleProp.hp = playerRoleProp.hp - monsterRoleProp.damage + hazel.Sound.Play(constants.SoundName.PlayerHurt) if playerRoleProp:IsDie() then + content.PlayerEntity:RemoveComponent(ECS.ComponentType.Invincible) + if oldHp > 0 then + hazel.Sound.Play(constants.SoundName.GameOver) + end content.PlayerEntity:RemoveComponent(ECS.ComponentType.Controller) - content.PlayerEntity:RemoveComponent(ECS.ComponentType.Gun) content.PlayerEntity:RemoveComponent(ECS.ComponentType.Direction) content.PlayerEntity:RemoveComponent(ECS.ComponentType.HpShow) ---@type ImageComponent @@ -127,17 +140,53 @@ local function collisionDeal() if vmath.IsRectIntersect(bulletColliBox, monsterColliBox) then content.BulletList[kb] = nil local damage = bullet:GetComponent(ECS.ComponentType.Bullet).damage - monsterRoleProp.hp = monsterRoleProp.hp - damage - if monsterRoleProp:IsDie() then - monster:RemoveComponent(ECS.ComponentType.Direction) - monster:RemoveComponent(ECS.ComponentType.AI) - monster:RemoveComponent(ECS.ComponentType.HpShow) - monster:RemoveComponent(ECS.ComponentType.ColliBox) - ---@type ImageComponent - local image = monster:GetComponent(ECS.ComponentType.Image) - image.row = 4 - image.col = 2 + local oldHp = monsterRoleProp.hp + local bulletType = bullet:GetComponent(ECS.ComponentType.Bullet):GetType() + if bulletType == constants.BulletType.Ice then + monster:GetComponent(ECS.ComponentType.State):IntoIce() + elseif bulletType == constants.BulletType.Fire then + monster:GetComponent(ECS.ComponentType.State):IntoFire() end + monsterRoleProp.hp = monsterRoleProp.hp - damage + + hazel.Sound.Play(constants.SoundName.MonsterHurt) + if monsterRoleProp:IsDie() then + if oldHp > 0 then + content.Score = content.Score + 1 + helpfunc.IncKillNum() + end + end + end + end + end + + ---@param v Entity + for i, v in pairs(content.SupplyList) do + ---@type Point + local supplyPos = v:GetComponent(ECS.ComponentType.Transform).position + ---@type Rect + local supplyBox = v:GetComponent(ECS.ComponentType.ColliBox).rect + ---@type Rect + local supplyColliBox = hazel.CreateRect(supplyPos.x + supplyBox.x, supplyPos.y + supplyBox.y, supplyBox.w, supplyBox.h) + if vmath.IsRectIntersect(supplyColliBox, playerColliBox) then + content.SupplyList[i] = nil + ---@type GunComponent + local gun = content.PlayerEntity:GetComponent(ECS.ComponentType.Gun) + local type = v:GetComponent(ECS.ComponentType.Supply).type + print(type) + if type == constants.SupplyType.HpRecover then + ---@type RolePropComponent + local roleProp = content.PlayerEntity:GetComponent(ECS.ComponentType.RoleProp) + roleProp.hp = roleProp.hp + constants.SupplyItem[type].recover + if roleProp.hp > constants.PlayerInfo.hp then + roleProp.hp = constants.PlayerInfo.hp + end + elseif type == constants.SupplyType.IceGun then + gun:SetType(constants.BulletType.Ice) + gun.bulletNum = gun.bulletNum + constants.SupplyItem[type].num + elseif type == constants.SupplyType.FireGun then + gun:SetType(constants.BulletType.Fire) + gun.bulletNum = gun.bulletNum + constants.SupplyItem[type].num end end end @@ -167,8 +216,11 @@ local function showStartHint() end local function initGame() + content.KillNum = 0 + content.Score = 0 content.BulletList = {} content.MonsterList = {} + content.SupplyList = {} content.PlayerEntity = ECS.CreatePlayer(hazel.CreatePos(constants.TileSize * 16, constants.TileSize * 13)) content.MonsterBirthNum = constants.MonsterBirthInitNum content.GameState = content.GameStateEnum.WaitStart @@ -227,13 +279,56 @@ local function createAnimation(row, time) end) end +---@param num number +---@param x number +---@param y number +local function drawNum(num, x, y) + if num < 0 then + content.NumberTilesheet:Draw(10, 0, hazel.CreateRect(x, y, 32, 32)) + return + end + local scoreStr = tostring(num) + for i = 1, #scoreStr do + local col = tonumber(string.sub(scoreStr, i, i)) + if col == -1 then + col = 10 + end + content.NumberTilesheet:Draw(col, 0, hazel.CreateRect(x + (i - 1) * 32, y, 32, 32)) + end +end + +local function updateRoles() + ---@param monster Entity + for _, monster in pairs(content.MonsterList) do + ---@type RolePropComponent + local roleProp = monster:GetComponent(ECS.ComponentType.RoleProp) + if roleProp and roleProp:IsDie() then + monster:RemoveComponent(ECS.ComponentType.Direction) + monster:RemoveComponent(ECS.ComponentType.AI) + monster:RemoveComponent(ECS.ComponentType.HpShow) + monster:RemoveComponent(ECS.ComponentType.ColliBox) + monster:RemoveComponent(ECS.ComponentType.State) + ---@type ImageComponent + local image = monster:GetComponent(ECS.ComponentType.Image) + image.row = 4 + image.col = 2 + end + end +end + function GameStart() hazel.SetWindowIcon("resources/icon.png") content.Texture = hazel.LoadTexture("resources/tilesheet.png") content.RestartHintTexture = hazel.LoadTexture("resources/RestartHint.png") content.LicensTexture = hazel.LoadTexture("resources/License.png") content.StartHintTexture = hazel.LoadTexture("resources/StartHint.png") - content.Tilesheet = hazel.CreateTileSheet(content.Texture, 3, 10) + content.Tilesheet = hazel.CreateTileSheet(content.Texture, 3, 12) + content.NumberTexture = hazel.LoadTexture("resources/numbers.png") + content.NumberTilesheet = hazel.CreateTileSheet(content.NumberTexture, 11, 1) + hazel.Sound.Load("resources/gameover.wav", constants.SoundName.GameOver) + hazel.Sound.Load("resources/player_hurt.wav", constants.SoundName.PlayerHurt) + hazel.Sound.Load("resources/monster_hurt.wav", constants.SoundName.MonsterHurt) + hazel.Sound.Load("resources/shoot.wav", constants.SoundName.Shoot) initGame() @@ -276,6 +371,17 @@ function GameLoop() hazel.Renderer.DrawTexture(content.LicensTexture, nil, dstrect) end + if content.GameState == content.GameStateEnum.WaitStart or content.GameState == content.GameStateEnum.Gaming then + drawFloors() + updateSupply() + updateMonster() + content.PlayerEntity:Update() + updateBullet() + collisionDeal() + drawCurosr() + updateRoles() + end + ---@type RolePropComponent local playerRoleInfo = content.PlayerEntity:GetComponent(ECS.ComponentType.RoleProp) if not playerRoleInfo or playerRoleInfo.hp <= 0 then @@ -285,13 +391,14 @@ function GameLoop() end end - if content.GameState == content.GameStateEnum.WaitStart or content.GameState == content.GameStateEnum.Gaming then - drawFloors() - updateMonster() - content.PlayerEntity:Update() - updateBullet() - collisionDeal() - drawCurosr() + if content.GameState == content.GameStateEnum.Gaming then + ---@type GunComponent + local gun = content.PlayerEntity:GetComponent(ECS.ComponentType.Gun) + local x = hazel.GetCanvaSize().x - 128 + drawNum(content.Score, x, 32) + if gun then + drawNum(gun:GetBulletNum(), x, 80) + end end if content.GameState == content.GameStateEnum.WaitStart then @@ -320,4 +427,4 @@ function GameQuit() hazel.DestroyTexture(content.RestartHintTexture) hazel.DestroyTexture(content.StartHintTexture) hazel.DestroyTexture(content.LicensTexture) -end +end \ No newline at end of file diff --git a/game/resources/gameover.wav b/game/resources/gameover.wav new file mode 100644 index 0000000000000000000000000000000000000000..231ae0b4c6de267f29d1c740120789b9165e6805 GIT binary patch literal 65026 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 aBhYdLT8===5okFAEk~f`2>kyaf&T^@3>U=! literal 0 HcmV?d00001 diff --git a/game/resources/monster_hurt.wav b/game/resources/monster_hurt.wav new file mode 100644 index 0000000000000000000000000000000000000000..a8078ed33457cd19b9061823f3eea98b2a130573 GIT binary patch literal 17764 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 literal 0 HcmV?d00001 diff --git a/game/resources/player_hurt.wav b/game/resources/player_hurt.wav new file mode 100644 index 0000000000000000000000000000000000000000..bc3f3bfe1b172d12aba686c3aa2059f4ddcfe1fd GIT binary patch literal 10188 zcmeI$_g|Cu`p0op5X&9{VTBP0guMh3L=>&sqt%MLb=116)q|tMx>^;fRna;g)>@Bs zwN>k&4m{OXK>{JH3g{2kAcD5 zadX~X@!2MKD+2?AA((K*z#w_v5QCuxRtC$KY+7=L&lni^X8L9>aa-b6E31`#ulrt? z8I~DlkZzD}(rnUfZ)0!M*4x&5zx94=MQBCnm*c-2U-qo**?8G_nZQzD8CM-wy>ZOO zF-!cH_&>^glzBGtY-F>vSvsU@NR>KWot`X7mQ0aOkuLRF>Jt(k5^ zU%961(skF%ua_TH9aZgkxZ|Ov+)_R*Z(5$RRoQC$kL^EyDF0A?A^1Y@xb$)9=cb>V zuJ~ugKQ(nVb?+YwP4lAV%0Q8iI@pz=WF#k`Ao&y>%UH}Y@ft5s^%`nvUX3u+hCj?WmMaY=DW;T_{0 zlP%4bhQ@@(ykGi$X%1A#^~&{<^~idXbV<5)yLP+kjOq+co+eL_FUUXOa=_)3@RTr7 zkSLhtJQW@pXLk||}%9NQdQZ)z>xVaeLz?;9T~( zY{M+WtN?j{+&0!WRx?^NIzyZx9_SqC{Hpk?;$Gig-+cHq`!pwaCwFi0+v1n_pg7-1fTd<>Kk$ zxut4LmAT4X<(})Fo0*lFRZv_|+#cB;c?Wr_Jk=Xi$SdTIS&mt!YfsmD2t9;DQB+t| zXsj|;y=;BiYTRbrCK8Lp@>qH70~~KV-u4?7RxYeOk$EDs2-jS$xqRXMh4*w^i@FxI z8MWeC@#M_OnMu&}XnN*L=Sy87Z;&^n6sHs~FIrx-NwZ0F4pFgDv7s0*9WOP;Da9#8 z5f&6IC|F*$ylg)x2j^6zho^_X8TDq=BZxdjo^L(gdX%=7w&pbCG*rVpz&xPRztTUl zDzYjuH!=5D1Y`wdt-?8Ub#!$M?Ht-UtZrDHN~6*kXbrRz%O;i$s~J|~i66>;D4$z0 zx8xfL0t5l$MvogEgIt?jo0nNHvqG{%vTrG&yQN>^I+GHUl4Igy;?FPvpIU!v-QL+w zB@J|%cA0ivbhzkn0GnW2WLxxi_TSmB5UvPU#FxgGuE9~<$4#f3PA9MxAHzAvIcF9Q zK#n=qbF3#I6mB>qIV3R*GYl&TEeJh{71-go!!H5e=#}(J@&oe&zYhO8{9Ra}B&;ON zy4$*YQtl)=?)Kc9Xu?C)L)FS>E1&Jce~{pu;5-TfR1{PcSQT0oj)z5wMac}O8BU|% zhb?X1Ho}oaZ!d)L@FXvusV2ka3l<&4pIkg7jG9!Y9ux9VHJ{b z(c+>-vP-hdr$VL@j zBHTUP-3qO4t!}xvgk-oEx);tw67HfILX}X}Ti07RJ7{*02%UkQfe(;^#gLiEO!Bhx zvPURJD8^$u($Iy#oWPtN-aEYKA{fS~@~ZN>gF{%2SV^oT4c}ui!Y~|VzGc2w@hw&t zt}eW$yr!&&{s+%R3gmc$h`flrHSindH>x9|BO(nuFbNhY4lfQrjg<&SZ&+{GM*ofe zTYR_pPJ;-&KD|D9IEybZ6`tr7_lomy9#6fWdW+EK)#s(gW$eNNM8F(%qB_w(_z@d0 z6|^0Z0k)3ZI`T-@k*;5G75AVIsu;Cs#~YZwFn!?wFN9(YreGeHArafK4-cL_cqY@z zwE3!h)e!X%bvTycII_?SiAJLN5Z~i3G{ITxtet|daS3d7+7U$~ilU(JX-AQcb_k1w z#Z#f*Q!YXa1D$~`5FbLnr>CM4`aTkgCD^a0+pn98^y2j5Ls*Rc_%G@)Qa4gJ4xiy9 zs`B&xas@YW?Ft0YR4yy^PnTbs}id!hcOW4)g)sDh! zY{pUCga)0kero+R1k(T3>#uexhJL=u!6~f6IM|}jr_Sdt_TyuO!x-h_a`83n#ykx38RnxC>%^C_ z6SJWI;sNggZw-FKHq3+sZ@u1n6+yr5zrj2NV>l{A6{4HikEMu#Et))=JmV$tk~e;D z{Bm&$YY+odluODbm$4O7;fhw@R;IrPzK5|CqhO3upHiPI*p3$1W^FG;E>YQxrIlo%je*utl4&O{m1L*o}`73nx4mJQpZ&6^F4I^Dr9j zFvN3*=MK5Jj$`-=ix3YVn4!bI!(NAb_yv2h7Jb@2tznU2kvSaT4nIU77W)4^2g&#^ zn&DdPT09Lqa2?gK)>-S~u>ohH!r}VE^~*%d{`btSMb@Hv&w9_laSUrQ9?t0W==8|J zS!_W9{4orV-5Z`AW~*X6g#OHV96PZFb1)YEu*XoeShiS}AOqKM z5=q#AMfevY;Ry@$S@c=V=$_G?)|}R?LK6&I3|m|giRoC0o%j(qpg=YHVAE>TD#19+ z$G?$`|KJYt@eHqF+h*J5hq0K8&yeYq>GTV>L7%mLR<}W`W2>VQzhMtPK^$DrC+HKD z;5LpzU%ww92&4Olu0vGTt7DL~|^lPWvq1!==8%V)tm;wp(_pYw3)Y=mqCsj_!-IAgpV;5(a;a2R(Ngp+Uz-s@DNvV5__=;OE3*F z@P!?QqRq6;v;sLu!v!3{H&~B_n1YG66K#Dk0*y9}oHBE5{y+*6F$<9ppx?URx&jYy z4oO&zsR)KGx~;mc%J4VNVh=vWG=xE4)BTqHmQ{F!-*FHdF%PlO*YOCnShQGZ@Crgp zq2(|&kzjoO1TAG>iCCD6aG48R=h#3g7k0N+mE z&Y9STU!g)j#9iX953mInP=G#ozwmzX0lvmXB=jWoY{GG*p$u=}*6Y?AkL5_l6%^tH z1g`|IV(|%*aTP^)4UT1fQ}H>@K#3lB^?UUv;9K0pb1-tgo{J;U!ugH!o7Knwud)WR w2J~;K2d}{d1``-eU@(Ef1O^irOkgm9!2|{q7))R=fx!d@6Btb3|7!yO2MT`_tpET3 literal 0 HcmV?d00001 diff --git a/game/resources/shoot.wav b/game/resources/shoot.wav new file mode 100644 index 0000000000000000000000000000000000000000..9c8f421e25b5b821c2fa8ec706b86d092512a367 GIT binary patch literal 10736 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 R3UpVXy8_)6`2ViJ{{k?=F=YS% literal 0 HcmV?d00001 diff --git a/game/resources/tilesheet.png b/game/resources/tilesheet.png index 79975105515a6cd8e079db3c4edeca144e135602..e23f347e70f0b9f85bf6effa641d8775ecf219e9 100644 GIT binary patch literal 7767 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 BB7Oh> literal 5571 zcmZ9QXH*mG*TrW-0-*^By+}e+X+c1mv>-^8-g{HJL}>yBh=5WRl%fI(oM z7S76iGBS#P$t+-$z3DliVOo3*00a`vjSU^+ynlKbd{Y`0=rvF`=aU`aghE-6lD+{V zd1=7{e?GXv5U}jlHSa>qKShuI4UY`Pv?o926Av z6(1B!UF-^?e(1io@$ez;>!0Z|HMQ%3d*6MJbmZ@Q9zT}e!IjwlzCr=7pfWm$>lMn- zJ^b~9wlUX;I-Xgz(IBC(D~?LW@88jPXfB+;mX4GBYBn^IMm5fWw^LSIBQtZ6d}mSl z^|#a1mBUP4v~RQAN1Ep! z8#QzZ2!{_?LN+lp2S{yEQ3)uQ;%YM3Knw66nI`up>P)Wv+jT9dudur6mfYGpEeMh( zKpjkH6U5$A>bvd)-&y~+t0kttLxXbMG2A)2XQfkmp8+Qx9P0S6f*Jck6^XH}zy9oP z#4daHuT866yqa$_!Ls9@x@w>B)I7!gzYH)eC9<5y=90H z2R%)6g;pD=``pFTxp=OR~&04v7QUf{tsN$d^d z*5s07!^an7C4kGmYMieVj=7>2*mx&ApAFq!&}aj&q|N|fflaN20;@p);jhA%JmS6Z zZsV{rFM=$_HViL6u&S4IQN+31 z8K-+xa5@!D?D*EZua`2KiU&^yIqQq0X7ruMyAsR;-IwELE4QP=LoT_j3Xm0nf)eY{ zGf0wHuQ|}Vjd#UOt$I$fKU7*;fuJR$yjkmg>by#Se{JZC!?)fT6{_g0x_gFk@OVZd zt+;OOAG}{X{ghz@JHTD(cGLwtfOr9o7~bQcUrDaWr0c~0l!H&Je0^1EDdYur!b3Ls zBi?5PybYV`_9k_82=sJ`*!w%`xTNhb2fuRG2qixP1R9n2GTgqi$cv1Mse~9 zcWqaV!-k7PGVc=Eo5c3{5&3%brjmdD08)JJ*$>LRt-qXVnLb5g$`Cwpa@jQbu9iq+ zCn~;V1Wj6}bpZ~RXFI`Y@Fl>(WeKnRSa?2#|&p!S<O_*AiH#vfR?lCQzk)!S1ir)HlhIxuO$D zHm_zk0A7{=(;!(8H1YXBFtxp)0;fU{JQ#%m9xrFtso|Q>k4bn_gXc6o*!m%>_W}&| zS2jjQCNC;d5QXkFC;3h{(zBs?tE1uN=Kvo190b4f{pdv5=mvkV5;1EQ15tqKwNu(_@wQ`o6MdCjC7HoO%$T8(O3drn^#FvNSBWy0cn}G+%I!+|7dgfgHJ_AaXUFlC%A?oaTyvef||}L%{$XQ8*B1;_m|Nx9)9fJ z?j4#r!7aTlz1n&)Sms-ivUi3PF$y9A2B!REH-OW&CY5t#@U(um?+#&6>FTTfT-m_& zkqwCWvGgcWtPqj&iZ`c>OZ+bc@1HPrc;Gb0yAgukii?$zr6HaFt*s4xOzM>4kk)~6 z;a-Kbo_n5>dq(_lBNA}!oRG?C4punFL1AYO&MZSc@`SYbTQE~;=^DtJjl>AcMW_%k zz(DPRH~i%|{HL*X%IR6}Y#4fX+#Ik^vZNRCY}>8`GBj_B0$49ke;VAqJ-)P=eUs zK4VB1K@!tou$Oj>e|&iQp}M^Dhq46fvag2P&#HhsxNHv<1BIix!~ zg}cw4P`9^Oc4c$9E7wZDU690?)CQze7a#B*&hGU^*)yU07?LJJ6qI{RR*I2!>Kba# zI}=}BT~yPz#a`?SY`zt8;DHtNCk*S=2GXBAw0tq*TBaVk<4|;G@!7RZ6cqb*Wc;PY z1`;@CE(4oaOEM>jxG56w5kr-EaWmNcW1wAx#`D*$F}ZX%u%l&5W#@wb8lJGze>F?` zA;RpS3Odip1lUj6W6hiv?7Sxj?xAY|iA^W4a=1Jd*kH0fZ@g2n^+Jox+^ zAg38e@mH+&+Hq9}qeaH^Ilw7~hZuV)65E2;mUyAcp>YyB{c~u#ma}PV$C|U36Pl;? zG+%6W91M#Ikt5kuywvyqL+wj!(1||%gbi=uh>vN~lTrT+&L{pZ%(Iv1c||1! zP0-~O9x2iXRyqty;3iv7exrdd;;2uT_T~}op_rXMW4P>N<6>ugDTS|5FP6A<75iu= z{EH%hFxdA}N1z3z|1{N1m@Yi)7Es~f%|^qBg58hNBIaonE3&)D($Z-%iQVoIWHFus%3}*pvt9qN3Z$BYVPl&p$%6oM-ylgh7eTDTps?RL`5%<)1yplW!NA1(=BX z;pkT@T<^28{Y?NR8!SU?B}*oU$r3d8F$9fY4avAbLLk`m>rUr!X1Hzp7Z$(UU$Qm0 zF~tS6y$ER}LlMvp4 ztF{e)r>_?16kbK3?tqS`?<+CgVzJRY(MOD>dwEa=8=>e0`s zFV3R%b3MpLPY~(I@Ij{DbJmV2eXC|aZdJ>9Px^L1h6`Sc^)z@v>rV{QD9Obl;vCFu z7-*#1a-pAR0?#izkNv&knQ-WWNss#9kH^ykd2OdSzMss8B+W zm({_l&kk=zklEZUGg$BD4~qkC(XgWA7P1h6l;R{h!1XB<5Y?9<6hGgAi8>z(toJBT zr-%6kar0g-__U9I-BGfO5+sEs>C0p54o4vu(>*V-L>^4C_v!2x1Dy}eiuZEMdCVSa zIDTCo&w-aDBn;bdbBPa+4T@KLsC^el)Vh5H%)zW*5`uSfOOS*qo)c z7;0ULu~a0h^5hEPWDWE3wQs%3xr)5<^svq_ZfZLF)47j7zr73mELwz;jq~Et#~TpL zn#y==UvRzJV@mV!wV~Rh{G}&fs4k08<+ZO!W>iVgCl&&Wv?&OY%JSFF$ub04gT9+g zhqQvYPP4W0l9&r7uoF0DJN-AZtDA@N(Thy1e|@)H`%cjY(xTl)WRrvd&D0aDzDNT8 zbb`L`7h&Fe7wy86l;^cS5nlS`0|HbQ#a(K+imUgU___5x0Us+ZQ6N(P#-~)uW9aTS zIG~#sg*d>IXtBD>+|5JhP6a3E8;XJNpZLgChPb*3rHzjJk7o~=ip?n+NXUFp`kPP^ z&bs$i8?}s%hLM=VPqRxYQKx){mWh#N0CneHX>8Nqb@ zUmaTM^0%Wc++W1JRcAohc$iy?8pMAffYpPO0!wxRYo7=AX1vEqfO6oAj9lay5m5Vw zjsRFra}l68s$ioG-rXs}T(M%}=<9w%a=I?|HW&-OkOJOMyU98F*8g6x>dzi+KXXOb zxL$AUQydX;In@&1y4}z7HPUF!G^{A{JTW?x8NFgwYm4v{lJ|c_flpT64@x>d>K=K} z^9D**B;6Yn8FAP)2fLR_p=c9}h*RpK7HJ~X?|wkSpe8$(%N6swT4Qh{xUe5aylEJY z$a<$xLh<;m7GJ>C$rti3KB0M_y-p9s(J`dSPGVs84*}}}iyi~wjpjQH!*ZGxgvL-x zO4D--Tt5JnptKAek`$1n|NSWLcv`OksE*ACB(}GeAg$l}%mJeSr54Us_a8}lRX8&- z<~5=pW%R_>v}aNjH+ZmKq|VKDDUvZ>>gN!faS8K%n^wOy2Hz06s)4O0wScEl`xux7 zVY!^D+Fyfs&0^W`}h@s7Ry;3SLXM#3)MOY$Ya+JpwWq$Z1vpP z(6JkD_uhc8AHf0Mg6yQ99>Gw@smkLeOXl9r0zhk#r%LwxV}MhIu_YSLe)(a_$kg=m zWA3QZ3LcKn&yJb^rl2@gm*R?^ninsn)@3^|vPG|fO_Hzw!>5@8pPzP--es+e!o;$S4wKyaUe<%UCufd1@0%yO)o&=h8qRZ670?JdKfJQCrH4US!LP$ zHKaKxI=eusRTR_)Uu59~iTr6cl7D>)(5NrfbvC$W{{NLR)s#J|JlrZG_hc`{PO><9 z5=YihO!1A>TV?|j78q^y^@Z`5&9C!7c2b2jm2*9e()u?H*Kz#lSlOzXk~UXS5^Iyo z{u@}x#ADOEA;#%3$UJOafXtuP_JrdA6G`_2^Ag^udJLMHb9|0`mKOxh#|V4#r9_I{ zk76ng+v{yy&Q3gVSDf@ApS`)hYGcg|IlTELMM<_FHZ-RArJ&g%Z--ScP`F%|QpY-ZXH25pxf?Agc+LCyRHqusyzBMs&x3Nmt3aw3$yQ-hZucRU4%h1FS-k1gvK z&+fjObNN(MMVDWn+cv;ol*=$#K7VvLPVTic5B+$98L^2~iEA-?2x8Q`R%0QeTu;Im zFW}+hYT1{7)!LlG2IQN#y3!k1utlSHybzXJ8q2C*qzcyB8n{Af{K}d`Lc+Jjo{2xg*pi8K1cCA%rd7Yy$rCcO?`w);#sslrgCB zbP^(+0)%GR(dW%FB~1}?Z(yh3==zGxsj2AYP1e2kE=3+tHYSF?UkTX(( q^)EOHs&loTLPSJ!a2r*Sa%5Wu*~)|8ZD#(J1 #include +#include #include "log.h" #include "glhelper.h" diff --git a/hazel/sound.h b/hazel/sound.h new file mode 100644 index 0000000..3c16379 --- /dev/null +++ b/hazel/sound.h @@ -0,0 +1,13 @@ +#ifndef __HAZEL_SOUND_H__ +#define __HAZEL_SOUND_H__ + +#include + +#include "dllexport.h" +#include "windows.h" +#include "mmsystem.h" + +DLLEXPORT void Hazel_LoadSound(const char* filename, const char* name); +DLLEXPORT void Hazel_PlaySound(const char* name); + +#endif \ No newline at end of file diff --git a/src/sound.c b/src/sound.c new file mode 100644 index 0000000..a836378 --- /dev/null +++ b/src/sound.c @@ -0,0 +1,17 @@ +#include "hazel/sound.h" + +void Hazel_LoadSound(const char* filename, const char* name) { + char buf[1024] = {0}; + snprintf(buf, sizeof(buf), "OPEN %s ALIAS %s", filename, name); + if (mciSendString(TEXT(buf), NULL, 0, NULL)) { + ENGINE_LOG_ERROR("load sound %s (alias %s) failed", filename, name); + } +} + +void Hazel_PlaySound(const char* name) { + char buf[1024] = {0}; + snprintf(buf, sizeof(buf), "PLAY %s FROM 0", name); + if (mciSendString(TEXT(buf), NULL, 0, NULL)) { + ENGINE_LOG_ERROR("play sound %s failed", name); + } +} \ No newline at end of file diff --git a/test/main.c b/test/main.c index 3028069..c6bbdb3 100644 --- a/test/main.c +++ b/test/main.c @@ -1,9 +1,12 @@ #include "hazel/hazel.h" #include "hazel/renderer.h" +#include "hazel/sound.h" Hazel_Texture* texture = NULL; void GameStart() { + Hazel_LoadSound("test/resources/2.wav", "MUSIC1"); + Hazel_PlaySound("MUSIC1"); texture = Hazel_LoadTexture("test/resources/player.png"); Hazel_TextureSetColor(texture, 0, 1, 0); Hazel_TextureSetAlpha(texture, 0.3); diff --git a/test/resources/1.wav b/test/resources/1.wav new file mode 100644 index 0000000000000000000000000000000000000000..b3ea038fa94591894037ce9c34575ed9ef143260 GIT binary patch literal 269918 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 literal 0 HcmV?d00001 diff --git a/test/resources/2.wav b/test/resources/2.wav new file mode 100644 index 0000000000000000000000000000000000000000..62351fa50a08f71c84856b0daf762a594e957db2 GIT binary patch literal 36614 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 literal 0 HcmV?d00001