From 35b8ce3ef5bbfcd2bed66e97fc416e99ee4ccce0 Mon Sep 17 00:00:00 2001 From: bozarre Date: Sun, 28 Dec 2025 19:20:39 +0100 Subject: [PATCH] building creation/replace/destroy --- choco.lua | 30 ++++++++++++++++++++++++---- world.lua | 58 ++++++++++++++++++++++++++++++++----------------------- 2 files changed, 60 insertions(+), 28 deletions(-) diff --git a/choco.lua b/choco.lua index a124595..24fb159 100644 --- a/choco.lua +++ b/choco.lua @@ -1,10 +1,10 @@ function _init() + world_init() playercontroler_init() - worldtiles = {} end function _update() - if (btnp(5)) compute_effect_array(worldtiles) + world_update() playercontroler_update() end @@ -12,7 +12,29 @@ function _draw() cls(0) map(0, 0, 0, 8, 64, 64) camera(0,0) - draw_array(worldtiles) draw_ressource_bar() + world_draw() playercontroler_draw() -end \ No newline at end of file +end + +ressources = +{ + fruits = + { + quantity = 5, + sprite = 33, + x = 70 + }, + money = + { + quantity = 100, + sprite = 35, + x = 0 + }, + jam = + { + quantity = 0, + sprite = 34, + x = 100 + } +} \ No newline at end of file diff --git a/world.lua b/world.lua index 3101de0..34e85be 100644 --- a/world.lua +++ b/world.lua @@ -1,25 +1,20 @@ +function world_init() + worldtiles = {} + --test start + bob = build(3,2,buildings.jam_workshop) + bob = replace(bob, buildings.city) + destroy(bob) + --test end +end + +function world_update() + if (btnp(5)) compute_effect_array(worldtiles) +end + +function world_draw() + draw_array(worldtiles) +end -ressources = -{ - fruits = - { - quantity = 5, - sprite = 33, - x = 70 - }, - money = - { - quantity = 100, - sprite = 35, - x = 0 - }, - jam = - { - quantity = 0, - sprite = 34, - x = 100 - } -} buildings = { jam_workshop = @@ -33,8 +28,8 @@ buildings = { city = { sprite = 5, - inputs = {}, - outputs = {} + inputs = {jam = 1}, + outputs = {money = 1} }, } @@ -72,7 +67,7 @@ function new_worldtile(x, y, building) worldtile.y = y worldtile.building = building worldtile.draw = function(this) - spr(worldtile.bulding.sprite,worldtile.x*2*8,8+worldtile.y*2*8, 2, 2) + spr(worldtile.building.sprite,worldtile.x*2*8,8+worldtile.y*2*8, 2, 2) end worldtile.compute_effet = function(this) for _,input in pairs(worldtile.building.inputs) do @@ -81,3 +76,18 @@ function new_worldtile(x, y, building) end return worldtile end + +function build(x, y, building) + newtile = new_worldtile(x,y,building) + add(worldtiles, newtile) + return newtile +end + +function destroy(worldtile) + del(worldtiles, worldtile) +end + +function replace(worldtile, building) + destroy(worldtile) + return build(worldtile.x, worldtile.y, building) +end \ No newline at end of file