binmat
Version:
binmat simulator
113 lines (112 loc) • 1.33 kB
JavaScript
import { shuffle } from "@samual/lib/shuffle"
const Cards = [
"2&",
"3&",
"4&",
"5&",
"6&",
"7&",
"8&",
"9&",
"a&",
"@&",
"*&",
"?&",
">&",
"2%",
"3%",
"4%",
"5%",
"6%",
"7%",
"8%",
"9%",
"a%",
"@%",
"*%",
"?%",
">%",
"2+",
"3+",
"4+",
"5+",
"6+",
"7+",
"8+",
"9+",
"a+",
"@+",
"*+",
"?+",
">+",
"2!",
"3!",
"4!",
"5!",
"6!",
"7!",
"8!",
"9!",
"a!",
"@!",
"*!",
"?!",
">!",
"2^",
"3^",
"4^",
"5^",
"6^",
"7^",
"8^",
"9^",
"a^",
"@^",
"*^",
"?^",
">^",
"2#",
"3#",
"4#",
"5#",
"6#",
"7#",
"8#",
"9#",
"a#",
"@#",
"*#",
"?#",
">#"
]
function makeState(deck = shuffle([...Cards])) {
return {
attackerStacks: [[], [], [], [], [], []],
defenderStacks: [
{ cards: [], isFaceUp: !1 },
{ cards: [], isFaceUp: !1 },
{ cards: [], isFaceUp: !1 },
{ cards: [], isFaceUp: !1 },
{ cards: [], isFaceUp: !1 },
{ cards: [], isFaceUp: !1 }
],
laneDecks: [
deck.slice(0, 13),
deck.slice(13, 26),
deck.slice(26, 39),
deck.slice(39, 52),
deck.slice(52, 65),
deck.slice(65)
],
laneDiscardPiles: [[], [], [], [], [], []],
attackerDeck: [],
attackerDiscardPile: [],
attackerHand: [],
defenderHand: [],
turn: 0,
turns: 110,
attackerPassedLastTurn: !1,
defenderPassedLastTurn: !1
}
}
export { Cards, makeState }