puzzlescript
Version:
Play PuzzleScript games in your terminal!
704 lines (699 loc) • 13 kB
text/typescript
import { IGameCode } from './models/BaseForLines'
import { HexColor } from './models/colors'
import { GameSpritePixels } from './models/tile'
const letters: Map<string, number[][]> = new Map()
function toSprite(source: IGameCode, char: string, pixels: number[][]) {
const white = new HexColor(source, '#ffffff')
const black = new HexColor(source, '#000000')
const pixels2 = pixels.map((row) => row.map((index) => {
if (index === 0) {
return black
} else {
return white
}
}))
return new GameSpritePixels(source, `letterchar="${char}"`, '', pixels2)
}
function makeLetter(char: string, pixels: number[][]) {
letters.set(char, pixels)
}
export function getLetterSprites(source: IGameCode) {
const sprites = new Map<string, GameSpritePixels>()
for (const [char, pixels] of letters.entries()) {
const sprite = toSprite(source, char, pixels)
sprites.set(char, sprite)
}
return sprites
}
makeLetter('a', [
[],
[],
[],
[],
[]
])
makeLetter('b', [
[],
[],
[],
[],
[]
])
makeLetter('c', [
[],
[],
[],
[],
[]
])
makeLetter('d', [
[],
[],
[],
[],
[]
])
makeLetter('e', [
[],
[],
[],
[],
[]
])
makeLetter('f', [
[],
[],
[],
[],
[]
])
makeLetter('g', [
[],
[],
[],
[],
[]
])
makeLetter('h', [
[],
[],
[],
[],
[]
])
makeLetter('i', [
[],
[],
[],
[],
[]
])
makeLetter('j', [
[],
[],
[],
[],
[]
])
makeLetter('k', [
[],
[],
[],
[],
[]
])
makeLetter('l', [
[],
[],
[],
[],
[]
])
makeLetter('m', [
[],
[],
[],
[],
[]
])
makeLetter('n', [
[],
[],
[],
[],
[]
])
makeLetter('o', [
[],
[],
[],
[],
[]
])
makeLetter('p', [
[],
[],
[],
[],
[]
])
makeLetter('q', [
[],
[],
[],
[],
[]
])
makeLetter('r', [
[],
[],
[],
[],
[]
])
makeLetter('s', [
[],
[],
[],
[],
[]
])
makeLetter('t', [
[],
[],
[],
[],
[]
])
makeLetter('u', [
[],
[],
[],
[],
[]
])
makeLetter('v', [
[],
[],
[],
[],
[]
])
makeLetter('w', [
[],
[],
[],
[],
[]
])
makeLetter('x', [
[],
[],
[],
[],
[]
])
makeLetter('y', [
[],
[],
[],
[],
[]
])
makeLetter('z', [
[],
[],
[],
[],
[]
])
makeLetter('A', [
[],
[],
[],
[],
[]
])
makeLetter('B', [
[],
[],
[],
[],
[]
])
makeLetter('C', [
[],
[],
[],
[],
[]
])
makeLetter('D', [
[],
[],
[],
[],
[]
])
makeLetter('E', [
[],
[],
[],
[],
[]
])
makeLetter('F', [
[],
[],
[],
[],
[]
])
makeLetter('G', [
[],
[],
[],
[],
[]
])
makeLetter('H', [
[],
[],
[],
[],
[]
])
makeLetter('I', [
[],
[],
[],
[],
[]
])
makeLetter('J', [
[],
[],
[],
[],
[]
])
makeLetter('K', [
[],
[],
[],
[],
[]
])
makeLetter('L', [
[],
[],
[],
[],
[]
])
makeLetter('M', [
[],
[],
[],
[],
[]
])
makeLetter('N', [
[],
[],
[],
[],
[]
])
makeLetter('O', [
[],
[],
[],
[],
[]
])
makeLetter('P', [
[],
[],
[],
[],
[]
])
makeLetter('Q', [
[],
[],
[],
[],
[]
])
makeLetter('R', [
[],
[],
[],
[],
[]
])
makeLetter('S', [
[],
[],
[],
[],
[]
])
makeLetter('T', [
[],
[],
[],
[],
[]
])
makeLetter('U', [
[],
[],
[],
[],
[]
])
makeLetter('V', [
[],
[],
[],
[],
[]
])
makeLetter('W', [
[],
[],
[],
[],
[]
])
makeLetter('X', [
[],
[],
[],
[],
[]
])
makeLetter('Y', [
[],
[],
[],
[],
[]
])
makeLetter('Z', [
[],
[],
[],
[],
[]
])
makeLetter('0', [
[],
[],
[],
[],
[]
])
makeLetter('1', [
[],
[],
[],
[],
[]
])
makeLetter('2', [
[],
[],
[],
[],
[]
])
makeLetter('3', [
[],
[],
[],
[],
[]
])
makeLetter('4', [
[],
[],
[],
[],
[]
])
makeLetter('5', [
[],
[],
[],
[],
[]
])
makeLetter('6', [
[],
[],
[],
[],
[]
])
makeLetter('7', [
[],
[],
[],
[],
[]
])
makeLetter('8', [
[],
[],
[],
[],
[]
])
makeLetter('9', [
[],
[],
[],
[],
[]
])
makeLetter('.', [
[],
[],
[],
[],
[]
])
makeLetter(',', [
[],
[],
[],
[],
[]
])
makeLetter(';', [
[],
[],
[],
[],
[]
])
makeLetter(':', [
[],
[],
[],
[],
[]
])
makeLetter('?', [
[],
[],
[],
[],
[]
])
makeLetter('!', [
[],
[],
[],
[],
[]
])
makeLetter('@', [
[],
[],
[],
[],
[]
])
makeLetter('£', [
[],
[],
[],
[],
[]
])
makeLetter('$', [
[],
[],
[],
[],
[]
])
makeLetter('%', [
[],
[],
[],
[],
[]
])
makeLetter('^', [
[],
[],
[],
[],
[]
])
makeLetter('&', [
[],
[],
[],
[],
[]
])
makeLetter('*', [
[],
[],
[],
[],
[]
])
makeLetter('(', [
[],
[],
[],
[],
[]
])
makeLetter(')', [
[],
[],
[],
[],
[]
])
makeLetter('+', [
[],
[],
[],
[],
[]
])
makeLetter('-', [
[],
[],
[],
[],
[]
])
makeLetter('_', [
[],
[],
[],
[],
[]
])
makeLetter('=', [
[],
[],
[],
[],
[]
])
makeLetter(' ', [
[],
[],
[],
[],
[]
])
makeLetter('{', [
[],
[],
[],
[],
[]
])
makeLetter('}', [
[],
[],
[],
[],
[]
])
makeLetter('[', [
[],
[],
[],
[],
[]
])
makeLetter(']', [
[],
[],
[],
[],
[]
])
makeLetter('\'', [
[],
[],
[],
[],
[]
])
makeLetter('"', [
[],
[],
[],
[],
[]
])
makeLetter('/', [
[],
[],
[],
[],
[]
])
makeLetter('\\', [
[],
[],
[],
[],
[]
])
makeLetter('|', [
[],
[],
[],
[],
[]
])
makeLetter('<', [
[],
[],
[],
[],
[]
])
makeLetter('>', [
[],
[],
[],
[],
[]
])
makeLetter('~', [
[],
[],
[],
[],
[]
])
makeLetter('`', [
[],
[],
[],
[],
[]
])
makeLetter('#', [
[],
[],
[],
[],
[]
])