# Hurry Curry! - a game about cooking # Copyright (C) 2025 Hurry Curry! contributors # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, version 3 of the License only. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # extends Node3D @onready var map: Map = $Map func _ready() -> void: init_map() func init_map(): var map_tile = func (t): match t: ".": return "floor" "=": return "counter" "s": return "stove" "c": return "chair" "t": return "table" "o": return "oven" "#": return "wall" _: push_error("unknown tile: ", t) var tiles = [ "...............", "###############", "=oo==ss===.ctc#", "..............#", ".............=#", ".............=#", ".............=#" ].map(func (l): return Array(l.split("")).map(map_tile)) var gt = func (e): return null if e[1] >= tiles.size() else null if e[0] >= tiles[e[1]].size() else tiles[e[1]][e[0]] var co = Vector2i(floor(tiles[0].size() / 2), floor(tiles.size() - 2)) for y in tiles.size(): for x in tiles[y].size(): map.set_tile(Vector2i(x,y) - co, gt.call([x,y]), [[x,y-1],[x-1,y],[x,y+1],[x+1,y]].map(gt)) map.flush()