From ba828d682c5d3d92bec5c819662c057fbd1a2b69 Mon Sep 17 00:00:00 2001 From: Daanish Date: Sat, 28 Mar 2026 12:22:58 +0000 Subject: [PATCH] Add new chest assets --- assets/images/chest.aseprite | Bin 0 -> 525 bytes assets/images/chest.png | Bin 0 -> 367 bytes assets/images/inventory.aseprite | Bin 3627 -> 3417 bytes game/maze.rb | 2 ++ game/placeables/base.rb | 10 +++++----- 5 files changed, 7 insertions(+), 5 deletions(-) create mode 100644 assets/images/chest.aseprite create mode 100644 assets/images/chest.png diff --git a/assets/images/chest.aseprite b/assets/images/chest.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..471db92417826af197d04a913472ebd6a35d73ab GIT binary patch literal 525 zcmd;OVqkc%l#xM%L4-kpfsuiMA%y`MC@?UB1Q`Sv1dxTP#_nZgVEFZs1#Bw|0|SE? z0|NuQ0@z9!?S*WGMo7{AZwq2 z`IJ2GO#L8l6(bu(#sZr+anf8_0ufQeZ~1`#;D<3_gjKsYMEg_ZS!$SV4|pU}E^s1XCr#AjD8H zCpn>kp_=#O|0xMJ58i|zJFUL(3<#aNW;X`boH)3)+>o?Pe#wXKE>AwOl70|1wY BmJR>_ literal 0 HcmV?d00001 diff --git a/assets/images/chest.png b/assets/images/chest.png new file mode 100644 index 0000000000000000000000000000000000000000..72e75e43570539516a7ce389e39a8515ae7a5c9b GIT binary patch literal 367 zcmeAS@N?(olHy`uVBq!ia0y~yU=RUe4mJh`hTcwDUIqpR#^NA%Cx&(BWL`2bFlu_b zIEGmCCMQU|X%IZN;kv+o|4v8t{5>ft2?+@aj$&_Cl_r8%KRz{0)^M&+*=KBEU|=xC z^nGKup<|}+42F$uiGiy-A3DuwihRv4n3@o^K(>uJVu6~rGPhSZr}2x`9flwsF?&99 zsY~-}7%NoH%wjlt+D7QUX=%rI9`^0_()t3=U0*I9#wY_29CE&oixEBwu7NYD&~N7a=D8AXz~C!Qs=#*bJ0f z8yg!PLmK8gx^+mOn=bh1;HhJ50Wm+`|F3VW|KF*vykVtl;le2!1P*WB{$Apb&XosA zY#yIpyb)i2-_V1D^O2cA-iz1eE;|FfA~>9T1f%1YG2Ch0`9W_gPYMHrv0CUx(dk8R R85kHCJYD@<);T3K0RTQPlCS^( literal 0 HcmV?d00001 diff --git a/assets/images/inventory.aseprite b/assets/images/inventory.aseprite index 7f060a2e6044108ab9f866629b6382ff6331716d..29efdf3438df93cdc9f26cdd045407862a33ae66 100644 GIT binary patch literal 3417 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 literal 3627 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 qW<OQ#u diff --git a/game/maze.rb b/game/maze.rb index 20f539f..51ea6f4 100644 --- a/game/maze.rb +++ b/game/maze.rb @@ -6,6 +6,8 @@ class Maze @spritesheet = Gosu::Image.load_tiles("assets/images/walls.png", 20, 40, retro: true) puts @spritesheet.size + $bus.on(:maze_size) { [80, 80] } + $bus.on(:maze_solve) do |x1, y1, x2, y2| next @maze.solve(x1, y1, x2, y2) end diff --git a/game/placeables/base.rb b/game/placeables/base.rb index f28174e..2f404ca 100644 --- a/game/placeables/base.rb +++ b/game/placeables/base.rb @@ -87,11 +87,11 @@ class ObjectHandler def initialize start_room_coords = $bus.get(:start_room_coords) - @objects = [ - Torch.new(start_room_coords[0] / 2 - 1, start_room_coords[1] / 2 - 1), - Torch.new(start_room_coords[0] / 2 + 3, start_room_coords[1] / 2), - Torch.new(start_room_coords[0] / 2, start_room_coords[1] / 2 - 1), - ] + @objects = [] + end + + def spawn_chests! + world_size = $bus.get(:maze_size) || [0, 0] end def add(object)