import * as world from "./world.mjs"; import { on_press } from "./input.mjs"; import * as entity from "./entity.mjs"; const player = entity.create(world.get_root(), 2, 1, "#080"); export function move (d_x, d_y) { entity.move(player, d_x, d_y); } on_press("ArrowLeft", _ => { move(-1, 0); }); on_press("ArrowRight", _ => { move(1, 0); }); on_press("ArrowUp", _ => { move(0, -1); }); on_press("ArrowDown", _ => { move(0, 1); }); on_press(" ", _ => { world.set_tile(player.box, player.x, player.y, { type: "box", box: world.create_box(player.box), }); }); function clear_tile (x, y) { world.clear_tile(player.box, x, y); } on_press("Backspace", _ => { clear_tile(player.x, player.y); clear_tile(player.x + 1, player.y); clear_tile(player.x - 1, player.y); }); export function get_player_box () { return player.box; } function set_place_key (key, tile) { on_press(key, _ => { world.set_tile(player.box, player.x, player.y, structuredClone(tile)); }); } function set_painting_key (key, color) { set_place_key(key, { type: "paint", color, }); } // RGB set_painting_key("q", "#f00"); set_painting_key("w", "#0f0"); set_painting_key("e", "#00f"); // YCM set_painting_key("a", "#ff0"); set_painting_key("s", "#0ff"); set_painting_key("d", "#f0f"); // background colors set_painting_key("z", "#888"); set_painting_key("x", "#aaa"); // black and white set_painting_key("c", "#000"); set_painting_key("v", "#fff"); // grass test set_place_key("g", { type: "grass", });