Improving repl more

This commit is contained in:
dylan
2023-05-04 20:14:48 -07:00
parent dca54e76ec
commit 2a7003b443
7 changed files with 77 additions and 38 deletions

View File

@ -1,10 +1,12 @@
import {
setPixelsInRect,
clearScreen,
fillRect,
} from "./window.ts";
import { font } from "./font.ts";
import { keyDown, keyPressed, keyReleased } from "./keyboard.ts";
// import { keyDown, keyPressed, keyReleased } from "./keyboard.ts";
import { addToContext } from "./runcode.ts";
import { resetRepl } from "./repl.ts";
// deno-fmt-ignore
const sprites = [
@ -40,33 +42,33 @@ const sprites = [
],
]
const drawSprite = (x: number, y: number, spr: number) => {
export const drawSprite = (x: number, y: number, spr: number) => {
setPixelsInRect(x, y, 8, sprites[spr]);
}
const drawChar = (x: number, y: number, char: string) => {
export const drawChar = (x: number, y: number, char: string) => {
setPixelsInRect(x, y, 4, font[char]);
}
const drawText = (x: number, y: number, text: string) => {
export const drawText = (x: number, y: number, text: string) => {
[...text].forEach((char, i) => {
drawChar(x+4*i, y, char);
});
}
const drawRect = (x: number, y: number, w: number, h: number, color: number) => {
setPixelsInRect(x, y, w, Array(w*h).fill(color));
}
const faux = {
clear_screen: clearScreen,
draw_sprite: drawSprite,
draw_text: drawText,
draw_rect: drawRect,
key_down: keyDown,
key_pressed: keyPressed,
key_released: keyReleased,
cls: () => {
resetRepl();
clearScreen();
},
spr: drawSprite,
txt: drawText,
rect: fillRect,
// key_down: keyDown,
// key_pressed: keyPressed,
// key_released: keyReleased,
log: console.log,
JSON: JSON,
};
for (const key in faux) {