//@ts-check import Gale from "./lib/gale/gale.js"; import Van from "./lib/van/van.js"; import HMR from "./lib/van/hmr.js"; const css = Gale({ Board:{ padding: "1rem", background: "blue", color: "white" } }) const Components = { Title() { const titleString = Van.state("title"); return ()=> div({class:css("Board"), onclick(){ titleString.val = Math.random(); }}, titleString.val); } } const {div} = Van.tags; Van.add(document.querySelector("#app"), Components.Title()); const World = { Round: Van.state(0), Turn: Van.state(0), Energy: Van.state([4, 4, 4]) }; /** @typedef {[From:number, To:number]} Transfer */ /** @typedef {{Transfers:Transfer[], Power:number, Vector:number[], Charge:number, Effect:string}} Ability */ /** @type Ability */ const Ability = { Transfers:[], Power:1, Vector:[], Charge:0, Effect:"damage" }; /** @typedef {{}} Character */ function shuffleArray(array) { for (let i = array.length - 1; i > 0; i--) { let j = Math.floor(Math.random() * (i + 1)); [array[i], array[j]] = [array[j], array[i]]; } return array; }