611 lines
21 KiB
JavaScript
611 lines
21 KiB
JavaScript
const CONFIG_PIECES_STANDARD = [
|
|
new GAME.GamePiece(
|
|
"Militia",
|
|
new GAME.PieceMovement()
|
|
.add(0)
|
|
.add(1)
|
|
.add(5),
|
|
new GAME.PieceMovement()
|
|
.add(0)
|
|
.add(1)
|
|
.add(2)
|
|
.add(3)
|
|
.add(4)
|
|
.add(5),
|
|
),
|
|
new GAME.GamePiece(
|
|
"Lance",
|
|
new GAME.PieceMovement()
|
|
.add_stride(0)
|
|
.add(1)
|
|
.add(3)
|
|
.add(5),
|
|
new GAME.PieceMovement()
|
|
.add(0)
|
|
.add_stride(1, 1)
|
|
.add_stride(2, 1)
|
|
.add(3)
|
|
.add_stride(4, 1)
|
|
.add_stride(5, 1),
|
|
),
|
|
new GAME.GamePiece(
|
|
"Knight",
|
|
new GAME.PieceMovement()
|
|
.add(6)
|
|
.add(8)
|
|
.add(9)
|
|
.add(11)
|
|
.add(13)
|
|
.add(14)
|
|
.add(16)
|
|
.add(17),
|
|
new GAME.PieceMovement()
|
|
.add(6)
|
|
.add(8)
|
|
.add(9)
|
|
.add(11)
|
|
.add(13)
|
|
.add(14)
|
|
.add(16)
|
|
.add(17)
|
|
.add_alt(1),
|
|
),
|
|
new GAME.GamePiece(
|
|
"Tower",
|
|
new GAME.PieceMovement()
|
|
.add(0)
|
|
.add(1)
|
|
.add(3)
|
|
.add(5)
|
|
.add(6)
|
|
.add(11),
|
|
new GAME.PieceMovement()
|
|
.add(0)
|
|
.add(1)
|
|
.add(2)
|
|
.add(3)
|
|
.add(4)
|
|
.add(5)
|
|
.add(6)
|
|
.add(8)
|
|
.add(9)
|
|
.add(11),
|
|
),
|
|
new GAME.GamePiece(
|
|
"Castle",
|
|
new GAME.PieceMovement()
|
|
.add(0)
|
|
.add(1)
|
|
.add(2)
|
|
.add(4)
|
|
.add(5)
|
|
.add(7)
|
|
.add(10),
|
|
new GAME.PieceMovement()
|
|
.add(0)
|
|
.add(1)
|
|
.add(2)
|
|
.add(3)
|
|
.add(4)
|
|
.add(5)
|
|
.add(7)
|
|
.add(10)
|
|
.add_alt(2),
|
|
),
|
|
new GAME.GamePiece(
|
|
"Dragon",
|
|
new GAME.PieceMovement()
|
|
.add_stride(6)
|
|
.add_stride(7)
|
|
.add_stride(8)
|
|
.add_stride(9)
|
|
.add_stride(10)
|
|
.add_stride(11),
|
|
new GAME.PieceMovement()
|
|
.add(0)
|
|
.add(1)
|
|
.add(2)
|
|
.add(3)
|
|
.add(4)
|
|
.add(5)
|
|
.add_stride(6)
|
|
.add_stride(7)
|
|
.add_stride(8)
|
|
.add_stride(9)
|
|
.add_stride(10)
|
|
.add_stride(11),
|
|
),
|
|
new GAME.GamePiece(
|
|
"Behemoth",
|
|
new GAME.PieceMovement()
|
|
.add_stride(0)
|
|
.add_stride(1)
|
|
.add_stride(2)
|
|
.add_stride(3)
|
|
.add_stride(4)
|
|
.add_stride(5),
|
|
new GAME.PieceMovement()
|
|
.add_stride(0)
|
|
.add_stride(1)
|
|
.add_stride(2)
|
|
.add_stride(3)
|
|
.add_stride(4)
|
|
.add_stride(5)
|
|
.add(12)
|
|
.add(13)
|
|
.add(14)
|
|
.add(15)
|
|
.add(16)
|
|
.add(17)
|
|
),
|
|
new GAME.GamePiece(
|
|
"Hearth",
|
|
new GAME.PieceMovement()
|
|
.add(0)
|
|
.add(1)
|
|
.add(2)
|
|
.add(3)
|
|
.add(4)
|
|
.add(5)
|
|
.add(7)
|
|
.add(10),
|
|
new GAME.PieceMovement()
|
|
.add(0)
|
|
.add(1)
|
|
.add(2)
|
|
.add(3)
|
|
.add(4)
|
|
.add(5)
|
|
.add(7)
|
|
.add(10),
|
|
),
|
|
];
|
|
|
|
const CONFIG_LAYOUT_STANDARD = new GameConfig.Layout()
|
|
.add_piece(0, 0, false, new MATH.Vec2(0, 1))
|
|
.add_piece(0, 0, false, new MATH.Vec2(1, 1))
|
|
.add_piece(0, 0, false, new MATH.Vec2(2, 2))
|
|
.add_piece(0, 0, false, new MATH.Vec2(3, 2))
|
|
.add_piece(0, 0, false, new MATH.Vec2(4, 3))
|
|
.add_piece(0, 0, false, new MATH.Vec2(5, 3))
|
|
.add_piece(0, 0, false, new MATH.Vec2(6, 4))
|
|
.add_piece(0, 0, false, new MATH.Vec2(7, 4))
|
|
.add_piece(0, 0, false, new MATH.Vec2(8, 5))
|
|
.add_piece(1, 0, false, new MATH.Vec2(0, 0))
|
|
.add_piece(1, 0, false, new MATH.Vec2(8, 4))
|
|
.add_piece(2, 0, false, new MATH.Vec2(1, 0))
|
|
.add_piece(2, 0, false, new MATH.Vec2(7, 3))
|
|
.add_piece(3, 0, false, new MATH.Vec2(3, 0))
|
|
.add_piece(3, 0, false, new MATH.Vec2(5, 1))
|
|
.add_piece(4, 0, false, new MATH.Vec2(2, 0))
|
|
.add_piece(4, 0, false, new MATH.Vec2(6, 2))
|
|
.add_piece(5, 0, false, new MATH.Vec2(4, 2))
|
|
.add_piece(6, 0, false, new MATH.Vec2(4, 1))
|
|
.add_piece(7, 0, false, new MATH.Vec2(4, 0))
|
|
.mirror(1);
|
|
|
|
const CONFIG_POOL_DEMO = new Uint8Array([9, 4, 4, 4, 4, 2, 2, 9, 4, 4, 4, 4, 2, 2]);
|
|
const CONFIG_POOL_NONE = new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
|
|
|
|
const GAME_CONFIGS = {
|
|
// Standard
|
|
Standard: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_layout(CONFIG_LAYOUT_STANDARD),
|
|
|
|
// Militia
|
|
Guide_Militia: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(CONFIG_POOL_DEMO)
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(0, 0, false, new MATH.Vec2(4, 3))
|
|
.add_piece(0, 0, true, new MATH.Vec2(4, 5))
|
|
)
|
|
.set_rule("turn", false),
|
|
|
|
// Lance
|
|
Guide_Lance: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(CONFIG_POOL_DEMO)
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(1, 0, false, new MATH.Vec2(4, 3))
|
|
.add_piece(1, 0, true, new MATH.Vec2(4, 5))
|
|
)
|
|
.set_rule("turn", false),
|
|
|
|
// Knight
|
|
Guide_Knight: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(CONFIG_POOL_DEMO)
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(2, 0, false, new MATH.Vec2(3, 3))
|
|
.add_piece(2, 0, true, new MATH.Vec2(5, 5))
|
|
)
|
|
.set_rule("turn", false),
|
|
|
|
// Tower
|
|
Guide_Tower: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(CONFIG_POOL_DEMO)
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(3, 0, false, new MATH.Vec2(4, 3))
|
|
.add_piece(3, 0, true, new MATH.Vec2(4, 5))
|
|
)
|
|
.set_rule("turn", false),
|
|
|
|
// Castle
|
|
Guide_Castle: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(CONFIG_POOL_DEMO)
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(4, 0, false, new MATH.Vec2(4, 3))
|
|
.add_piece(4, 0, true, new MATH.Vec2(4, 5))
|
|
)
|
|
.set_rule("turn", false),
|
|
|
|
// Dragon
|
|
Guide_Dragon: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(CONFIG_POOL_DEMO)
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(5, 0, false, new MATH.Vec2(4, 3))
|
|
.add_piece(5, 0, true, new MATH.Vec2(4, 5))
|
|
)
|
|
.set_rule("turn", false),
|
|
|
|
// Behemoth
|
|
Guide_Behemoth: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(CONFIG_POOL_DEMO)
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(6, 0, false, new MATH.Vec2(4, 3))
|
|
.add_piece(6, 0, true, new MATH.Vec2(4, 5))
|
|
.add_piece(2, 0, false, new MATH.Vec2(5, 6))
|
|
.add_piece(2, 0, false, new MATH.Vec2(5, 3))
|
|
)
|
|
.set_rule("turn", false),
|
|
|
|
// Heart
|
|
Guide_Heart: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(CONFIG_POOL_DEMO)
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(7, 0, false, new MATH.Vec2(4, 3))
|
|
.add_piece(7, 1, true, new MATH.Vec2(3, 4))
|
|
.add_piece(1, 1, false, new MATH.Vec2(5, 6))
|
|
)
|
|
.set_rule("turn", false),
|
|
|
|
// Drop
|
|
Guide_Drop: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(new Uint8Array([5, 1, 1, 2, 2, 1, 1, 6, 2, 2, 1, 1, 1, 1]))
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(7, 0, false, new MATH.Vec2(6, 3))
|
|
.add_piece(0, 0, false, new MATH.Vec2(5, 4))
|
|
.add_piece(0, 0, false, new MATH.Vec2(6, 5))
|
|
.add_piece(0, 0, true, new MATH.Vec2(7, 7))
|
|
.add_piece(1, 0, false, new MATH.Vec2(8, 5))
|
|
.add_piece(0, 0, false, new MATH.Vec2(2, 2))
|
|
.add_piece(0, 1, false, new MATH.Vec2(2, 1))
|
|
.add_piece(3, 1, false, new MATH.Vec2(3, 2))
|
|
.add_piece(2, 0, false, new MATH.Vec2(3, 4))
|
|
.add_piece(0, 1, false, new MATH.Vec2(8, 7))
|
|
.add_piece(7, 1, false, new MATH.Vec2(4, 7))
|
|
.add_piece(4, 1, false, new MATH.Vec2(1, 4))
|
|
.add_piece(0, 1, false, new MATH.Vec2(0, 4))
|
|
)
|
|
.set_rule("turn", false),
|
|
|
|
// Promote
|
|
Guide_Promote: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(1, 0, false, new MATH.Vec2(0, 0))
|
|
.add_piece(1, 0, false, new MATH.Vec2(8, 4))
|
|
.add_piece(1, 1, false, new MATH.Vec2(0, 4))
|
|
.add_piece(1, 1, false, new MATH.Vec2(8, 8))
|
|
.add_piece(0, 1, false, new MATH.Vec2(8, 7))
|
|
.add_piece(0, 1, false, new MATH.Vec2(7, 7))
|
|
.add_piece(4, 1, false, new MATH.Vec2(2, 6))
|
|
.add_piece(5, 0, false, new MATH.Vec2(4, 2))
|
|
.add_piece(6, 0, false, new MATH.Vec2(4, 4))
|
|
.add_piece(4, 0, false, new MATH.Vec2(6, 7))
|
|
.add_piece(3, 0, false, new MATH.Vec2(5, 6))
|
|
.add_piece(2, 1, false, new MATH.Vec2(6, 3))
|
|
.add_piece(0, 1, false, new MATH.Vec2(3, 1))
|
|
)
|
|
.set_rule("turn", false),
|
|
|
|
// Check
|
|
Guide_Check: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(7, 0, false, new MATH.Vec2(4, 3))
|
|
.add_piece(4, 0, false, new MATH.Vec2(2, 3))
|
|
.add_piece(5, 0, false, new MATH.Vec2(5, 4))
|
|
.add_piece(0, 1, false, new MATH.Vec2(4, 4))
|
|
.add_piece(2, 1, false, new MATH.Vec2(5, 6))
|
|
),
|
|
|
|
Guide_Check2: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(new Uint8Array([1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]))
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(7, 0, false, new MATH.Vec2(4, 0))
|
|
.add_piece(3, 0, false, new MATH.Vec2(3, 0))
|
|
.add_piece(3, 0, false, new MATH.Vec2(5, 1))
|
|
.add_piece(1, 1, false, new MATH.Vec2(4, 4))
|
|
.add_piece(6, 1, true, new MATH.Vec2(7, 3))
|
|
.add_piece(1, 1, true, new MATH.Vec2(2, 0))
|
|
),
|
|
|
|
Guide_Check3: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(new Uint8Array([1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]))
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(7, 0, false, new MATH.Vec2(4, 2))
|
|
.add_piece(4, 0, false, new MATH.Vec2(6, 3))
|
|
.add_piece(3, 1, false, new MATH.Vec2(2, 2))
|
|
.add_piece(5, 1, false, new MATH.Vec2(1, 4))
|
|
.add_piece(1, 1, false, new MATH.Vec2(5, 5))
|
|
.add_piece(6, 1, true, new MATH.Vec2(4, 4))
|
|
),
|
|
|
|
Guide_Check4: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(new Uint8Array([1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]))
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(7, 0, true, new MATH.Vec2(4, 0))
|
|
.add_piece(0, 0, false, new MATH.Vec2(7, 4))
|
|
.add_piece(5, 1, true, new MATH.Vec2(3, 1))
|
|
.add_piece(6, 1, true, new MATH.Vec2(5, 3))
|
|
),
|
|
|
|
// Checkmate
|
|
Guide_Checkmate: new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(new Uint8Array([4, 1, 0, 2, 0, 0, 1, 9, 1, 0, 0, 2, 0, 0]))
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(7, 1, false, new MATH.Vec2(0, 4))
|
|
.add_piece(2, 1, false, new MATH.Vec2(1, 5))
|
|
.add_piece(5, 0, true, new MATH.Vec2(1, 3))
|
|
)
|
|
.set_rule("reverse", true),
|
|
|
|
// Trials
|
|
Guide_Trial: [
|
|
new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(CONFIG_POOL_NONE)
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(7, 1, false, new MATH.Vec2(4, 8))
|
|
.add_piece(5, 1, false, new MATH.Vec2(3, 7))
|
|
.add_piece(3, 0, false, new MATH.Vec2(4, 5))
|
|
)
|
|
.set_rule("par", 1)
|
|
.set_rule("cpu", true),
|
|
|
|
new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(CONFIG_POOL_NONE)
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(7, 1, false, new MATH.Vec2(4, 8))
|
|
.add_piece(6, 1, false, new MATH.Vec2(4, 6))
|
|
.add_piece(0, 1, false, new MATH.Vec2(4, 4))
|
|
|
|
.add_piece(5, 0, true, new MATH.Vec2(0, 4))
|
|
.add_piece(3, 0, false, new MATH.Vec2(4, 2)),
|
|
)
|
|
.set_rule("par", 2)
|
|
.set_rule("cpu", true),
|
|
|
|
new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(new Uint8Array([3, 1, 0, 2, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0]))
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(4, 1, false, new MATH.Vec2(2, 6))
|
|
.add_piece(7, 1, false, new MATH.Vec2(4, 7))
|
|
.add_piece(2, 1, false, new MATH.Vec2(4, 8))
|
|
.add_piece(0, 1, false, new MATH.Vec2(5, 6))
|
|
.add_piece(1, 1, false, new MATH.Vec2(5, 8))
|
|
.add_piece(3, 1, false, new MATH.Vec2(6, 8))
|
|
|
|
.add_piece(7, 0, false, new MATH.Vec2(5, 1))
|
|
|
|
.add_piece(5, 0, false, new MATH.Vec2(6, 2))
|
|
.add_piece(6, 0, true, new MATH.Vec2(6, 6))
|
|
.add_piece(3, 0, false, new MATH.Vec2(5, 5))
|
|
.add_piece(2, 0, true, new MATH.Vec2(4, 6))
|
|
|
|
.add_piece(2, 1, false, new MATH.Vec2(4, 1))
|
|
.add_piece(6, 1, true, new MATH.Vec2(6, 3))
|
|
.add_piece(5, 1, false, new MATH.Vec2(7, 5))
|
|
)
|
|
.set_rule("par", 1)
|
|
.set_rule("cpu", true),
|
|
|
|
new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(new Uint8Array([1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0]))
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(7, 1, false, new MATH.Vec2(4, 8))
|
|
.add_piece(4, 1, true, new MATH.Vec2(4, 7))
|
|
.add_piece(2, 1, false, new MATH.Vec2(5, 8))
|
|
.add_piece(2, 1, false, new MATH.Vec2(3, 5))
|
|
.add_piece(3, 0, true, new MATH.Vec2(2, 6))
|
|
.add_piece(6, 0, false, new MATH.Vec2(1, 5))
|
|
.add_piece(2, 0, true, new MATH.Vec2(7, 7))
|
|
)
|
|
.set_rule("par", 1)
|
|
.set_rule("cpu", true),
|
|
|
|
new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(CONFIG_POOL_NONE)
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(7, 1, false, new MATH.Vec2(4, 8))
|
|
.add_piece(3, 1, false, new MATH.Vec2(3, 7))
|
|
.add_piece(5, 1, false, new MATH.Vec2(2, 6))
|
|
.add_piece(1, 0, false, new MATH.Vec2(4, 5))
|
|
.add_piece(0, 0, false, new MATH.Vec2(4, 6))
|
|
)
|
|
.set_rule("par", 4)
|
|
.set_rule("cpu", true),
|
|
|
|
new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(new Uint8Array([1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0]))
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(7, 1, false, new MATH.Vec2(4, 8))
|
|
.add_piece(2, 1, false, new MATH.Vec2(3, 7))
|
|
.add_piece(3, 1, false, new MATH.Vec2(4, 6))
|
|
.add_piece(5, 1, true, new MATH.Vec2(2, 3))
|
|
.add_piece(2, 0, true, new MATH.Vec2(6, 7))
|
|
.add_piece(6, 0, false, new MATH.Vec2(4, 4))
|
|
.add_piece(5, 0, false, new MATH.Vec2(4, 2))
|
|
)
|
|
.set_rule("par", 2)
|
|
.set_rule("cpu", true),
|
|
|
|
new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(new Uint8Array([6, 1, 1, 1, 2, 1, 0, 2, 0, 0, 0, 0, 0, 0]))
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(7, 1, false, new MATH.Vec2(1, 5))
|
|
.add_piece(1, 1, false, new MATH.Vec2(1, 4))
|
|
.add_piece(0, 1, false, new MATH.Vec2(0, 4))
|
|
.add_piece(0, 1, false, new MATH.Vec2(1, 3))
|
|
.add_piece(3, 1, false, new MATH.Vec2(2, 4))
|
|
.add_piece(0, 1, false, new MATH.Vec2(3, 5))
|
|
.add_piece(6, 1, true, new MATH.Vec2(4, 5))
|
|
.add_piece(2, 1, false, new MATH.Vec2(5, 7))
|
|
.add_piece(0, 1, false, new MATH.Vec2(6, 6))
|
|
.add_piece(2, 1, false, new MATH.Vec2(7, 7))
|
|
|
|
.add_piece(1, 0, false, new MATH.Vec2(0, 0))
|
|
.add_piece(0, 0, false, new MATH.Vec2(0, 1))
|
|
.add_piece(2, 0, false, new MATH.Vec2(1, 0))
|
|
.add_piece(0, 0, false, new MATH.Vec2(1, 1))
|
|
.add_piece(4, 0, false, new MATH.Vec2(2, 0))
|
|
.add_piece(0, 0, false, new MATH.Vec2(2, 2))
|
|
.add_piece(3, 0, false, new MATH.Vec2(3, 0))
|
|
.add_piece(0, 0, false, new MATH.Vec2(3, 3))
|
|
.add_piece(7, 0, false, new MATH.Vec2(4, 0))
|
|
.add_piece(0, 0, false, new MATH.Vec2(4, 2))
|
|
.add_piece(3, 0, false, new MATH.Vec2(5, 1))
|
|
.add_piece(1, 0, false, new MATH.Vec2(5, 2))
|
|
.add_piece(4, 0, false, new MATH.Vec2(6, 3))
|
|
|
|
.add_piece(0, 0, true, new MATH.Vec2(3, 7))
|
|
.add_piece(5, 0, true, new MATH.Vec2(4, 6))
|
|
.add_piece(6, 0, false, new MATH.Vec2(4, 7))
|
|
)
|
|
.set_rule("par", 2)
|
|
.set_rule("cpu", true),
|
|
|
|
new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(new Uint8Array([2, 0, 2, 1, 1, 0, 1, 4, 0, 0, 0, 0, 0, 0]))
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(4, 0, false, new MATH.Vec2(3, 1))
|
|
.add_piece(7, 0, false, new MATH.Vec2(4, 0))
|
|
.add_piece(5, 0, false, new MATH.Vec2(6, 3))
|
|
.add_piece(0, 0, false, new MATH.Vec2(4, 4))
|
|
.add_piece(4, 0, false, new MATH.Vec2(6, 2))
|
|
.add_piece(1, 0, false, new MATH.Vec2(6, 4))
|
|
.add_piece(3, 0, false, new MATH.Vec2(6, 5))
|
|
.add_piece(2, 0, false, new MATH.Vec2(8, 5))
|
|
.add_piece(0, 0, false, new MATH.Vec2(7, 5))
|
|
.add_piece(0, 0, false, new MATH.Vec2(8, 6))
|
|
|
|
.add_piece(2, 0, false, new MATH.Vec2(2, 3))
|
|
.add_piece(0, 0, false, new MATH.Vec2(3, 4))
|
|
.add_piece(3, 0, false, new MATH.Vec2(3, 3))
|
|
.add_piece(6, 0, true, new MATH.Vec2(4, 8))
|
|
|
|
.add_piece(0, 1, false, new MATH.Vec2(0, 0))
|
|
.add_piece(1, 1, false, new MATH.Vec2(0, 2))
|
|
.add_piece(0, 1, true, new MATH.Vec2(1, 0))
|
|
.add_piece(1, 1, false, new MATH.Vec2(1, 5))
|
|
.add_piece(7, 1, false, new MATH.Vec2(3, 6))
|
|
.add_piece(0, 1, false, new MATH.Vec2(3, 7))
|
|
.add_piece(0, 1, false, new MATH.Vec2(4, 5))
|
|
.add_piece(0, 1, false, new MATH.Vec2(5, 6))
|
|
.add_piece(4, 1, false, new MATH.Vec2(5, 8))
|
|
.add_piece(0, 1, false, new MATH.Vec2(6, 6))
|
|
.add_piece(5, 1, false, new MATH.Vec2(1, 3))
|
|
.add_piece(3, 1, false, new MATH.Vec2(6, 8))
|
|
.add_piece(0, 1, false, new MATH.Vec2(7, 7))
|
|
.add_piece(2, 1, false, new MATH.Vec2(7, 8))
|
|
.add_piece(0, 1, false, new MATH.Vec2(8, 7))
|
|
.add_piece(1, 1, false, new MATH.Vec2(8, 8))
|
|
)
|
|
.set_rule("par", 4)
|
|
.set_rule("cpu", true),
|
|
|
|
new GameConfig()
|
|
.set_pieces(CONFIG_PIECES_STANDARD)
|
|
.set_pool(new Uint8Array([0, 1, 1, 2, 2, 0, 0, 7, 0, 1, 0, 0, 0, 0]))
|
|
.set_layout(
|
|
new GameConfig.Layout()
|
|
.add_piece(7, 0, false, new MATH.Vec2(4, 0))
|
|
.add_piece(5, 0, false, new MATH.Vec2(3, 0))
|
|
.add_piece(0, 0, false, new MATH.Vec2(3, 2))
|
|
.add_piece(0, 0, false, new MATH.Vec2(4, 3))
|
|
.add_piece(6, 0, false, new MATH.Vec2(4, 5))
|
|
.add_piece(0, 0, false, new MATH.Vec2(5, 3))
|
|
.add_piece(0, 0, false, new MATH.Vec2(5, 5))
|
|
.add_piece(4, 0, false, new MATH.Vec2(6, 3))
|
|
.add_piece(3, 0, false, new MATH.Vec2(6, 4))
|
|
.add_piece(2, 0, true, new MATH.Vec2(7, 3))
|
|
.add_piece(0, 0, false, new MATH.Vec2(7, 5))
|
|
.add_piece(1, 0, false, new MATH.Vec2(8, 4))
|
|
.add_piece(0, 0, false, new MATH.Vec2(8, 5))
|
|
|
|
.add_piece(1, 0, true, new MATH.Vec2(5, 8))
|
|
|
|
.add_piece(6, 1, true, new MATH.Vec2(0, 0))
|
|
.add_piece(1, 1, false, new MATH.Vec2(0, 2))
|
|
.add_piece(5, 1, false, new MATH.Vec2(0, 3))
|
|
.add_piece(0, 1, false, new MATH.Vec2(1, 3))
|
|
.add_piece(0, 1, false, new MATH.Vec2(2, 4))
|
|
.add_piece(0, 1, false, new MATH.Vec2(3, 4))
|
|
.add_piece(3, 1, false, new MATH.Vec2(3, 7))
|
|
|
|
.add_piece(4, 1, false, new MATH.Vec2(4, 6))
|
|
.add_piece(2, 1, false, new MATH.Vec2(5, 6))
|
|
.add_piece(0, 1, false, new MATH.Vec2(6, 6))
|
|
.add_piece(7, 1, false, new MATH.Vec2(6, 7))
|
|
.add_piece(0, 1, false, new MATH.Vec2(7, 7))
|
|
.add_piece(0, 1, false, new MATH.Vec2(8, 7))
|
|
.add_piece(1, 1, false, new MATH.Vec2(8, 8))
|
|
)
|
|
.set_rule("par", 4)
|
|
.set_rule("cpu", true),
|
|
],
|
|
};
|