Make changes playable

This commit is contained in:
dylan 2023-05-05 12:21:14 -07:00
parent 99655e663c
commit b58a0d8cb1
2 changed files with 14 additions and 10 deletions

@ -1,10 +1,9 @@
import { clearScreen, fillRect } from "./window.ts"; import { clearScreen, fillRect } from "./window.ts";
import { font, fontWidth, fontHeight } from "./font.ts"; import { fontWidth, fontHeight } from "./font.ts";
import { drawText } from "./builtins.ts"; import { drawText } from "./builtins.ts";
import { COLOR } from "./colors.ts"; import { COLOR } from "./colors.ts";
import { getCart } from "./cart.ts";
import {getSheet, setSheet} from "./sheet.ts"; import {getSheet, setSheet} from "./sheet.ts";
import { K, getKeyboardString, getKeysPressed, keyDown, keyPressed, shiftKeyDown } from "./keyboard.ts"; import { K, getKeyboardString, keyPressed, shiftKeyDown } from "./keyboard.ts";
// deno-lint-ignore prefer-const // deno-lint-ignore prefer-const
let tab: "code" | "sprite" | "map" | "sfx" | "music" = "code"; let tab: "code" | "sprite" | "map" | "sfx" | "music" = "code";
@ -150,7 +149,7 @@ const drawCodeField = (code: string, x: number, y: number, w: number, h: number)
const update = () => { const update = () => {
if (tab === "code") { if (tab === "code") {
const {code, anchor, focus, focusX, focusY} = codeTabState; const { focus, focusX, focusY} = codeTabState;
const keyboardString = getKeyboardString(); const keyboardString = getKeyboardString();
if (keyboardString) { if (keyboardString) {
codeTabState.insertText(keyboardString); codeTabState.insertText(keyboardString);

@ -9,13 +9,16 @@ import { repl, resetRepl } from "./repl.ts";
import { addToContext } from "./runcode.ts"; import { addToContext } from "./runcode.ts";
import { editmode } from "./editmode.ts"; import { editmode } from "./editmode.ts";
const game = codeSheet(0); // deno-lint-ignore no-explicit-any
let game: any = null;
game.init();
let mode: "play" | "edit" | "repl" = "repl"; let mode: "play" | "edit" | "repl" = "repl";
addToContext("play", () => {mode = "play"}); addToContext("play", () => {
mode = "play";
game = codeSheet(0);
game.init();
});
clearScreen(); clearScreen();
@ -37,8 +40,10 @@ await mainloop((_t) => {
mode = modeTo; mode = modeTo;
} else { } else {
if (mode === "play") { if (mode === "play") {
if (game) {
game.update(); game.update();
game.draw(); game.draw();
}
frame(); frame();
} else if (mode === "repl") { } else if (mode === "repl") {
repl.update(); repl.update();