class GamePieceMove { } class GamePiece { constructor(name, assets, moves, promote_moves) { this.name = name; this.assets = assets; this.moves = moves; this.pmoves = promote_moves; } } let GAME_DATA = { board: { tiles: [ ], }, pieces: [ new PieceDef("Militia「兵」", "♟︎", // ♟︎士 ["asset/militia_dusk.svg", "asset/militia_dawn.svg"], new Move() .add(0) .add(1) .add(5), new Move() .add(0) .add(1) .add(2) .add(4) .add(5) ), new PieceDef("Knight「騎」", "♞", // ♞馬 ["asset/knight_dusk.svg", "asset/knight_dawn.svg"], new Move() .add(3) .add(6) .add(11) .add(13) .add(17), new Move() .add(3) .add(6) .add(7) .add(10) .add(11) .add(13) .add(14) .add(16) .add(17) ), new PieceDef("Lance「槍」", "♛", // ♛槍 ["asset/lance_dusk.svg", "asset/lance_dawn.svg"], new Move() .add(0, true) .add(1) .add(5), new Move() .add(0, true) .add(1, true) .add(2, true) .add(3, true) .add(4, true) .add(5, true) ), new PieceDef("Tower「楼」", "♖", // ♖高 ["asset/tower_dusk.svg", "asset/tower_dawn.svg"], new Move() .add(0) .add(1) .add(3) .add(5) .add(6) .add(11), new Move() .add(0) .add(1) .add(2) .add(3) .add(4) .add(5) .add(6) .add(8) .add(9) .add(11) ), new PieceDef("Castle「城」", "♜", // ♜城 ["asset/castle_dusk.svg", "asset/castle_dawn.svg"], new Move() .add(0) .add(1) .add(2) .add(4) .add(5) .add(7) .add(10), new Move() .add(0) .add(1) .add(2) .add(3) .add(4) .add(5) .add(7, true) .add(10, true) ), new PieceDef("Dragon「竜」", "♝", // ♝竜 ["asset/dragon_dusk.svg", "asset/dragon_dawn.svg"], new Move() .add(6, true) .add(7, true) .add(8, true) .add(9, true) .add(10, true) .add(11, true), new Move() .add(0, true) .add(1, true) .add(2, true) .add(3, true) .add(4, true) .add(5, true) .add(6, true) .add(7, true) .add(8, true) .add(9, true) .add(10, true) .add(11, true) ), new PieceDef("King「王」", "♚", // ♚王 ["asset/king_dusk.svg", "asset/king_dawn.svg"], new Move() .add(0) .add(1) .add(2) .add(3) .add(4) .add(5) .add(7) .add(10) ), ], }; const GAME = { init() { GAME_DATA.board.tiles }, };