Change practice player to 2.
This commit is contained in:
parent
b3a1ef8dd7
commit
d78722ca51
@ -216,7 +216,7 @@ const INTERFACE = {
|
|||||||
if(INTERFACE_DATA.select !== null) {
|
if(INTERFACE_DATA.select !== null) {
|
||||||
|
|
||||||
// Play selection.
|
// Play selection.
|
||||||
if(INTERFACE_DATA.hover.source == 0 && INTERFACE_DATA.player == (GAME_DATA.turn & 1)) {
|
if(INTERFACE_DATA.hover.source == 0 && (INTERFACE_DATA.mode == INTERFACE.Mode.Local || INTERFACE_DATA.player == (GAME_DATA.turn & 1))) {
|
||||||
let tile_state = INTERFACE_DATA.board_state[INTERFACE_DATA.hover.tile][1];
|
let tile_state = INTERFACE_DATA.board_state[INTERFACE_DATA.hover.tile][1];
|
||||||
result = +(tile_state == INTERFACE.TileStatus.Valid || tile_state == INTERFACE.TileStatus.Threat);
|
result = +(tile_state == INTERFACE.TileStatus.Valid || tile_state == INTERFACE.TileStatus.Threat);
|
||||||
}
|
}
|
||||||
@ -477,8 +477,6 @@ const INTERFACE = {
|
|||||||
ctx.font = Math.ceil(gui_scale / 2) + "px sans-serif";
|
ctx.font = Math.ceil(gui_scale / 2) + "px sans-serif";
|
||||||
|
|
||||||
let player_identity = GAME.Const.Player.Dawn;
|
let player_identity = GAME.Const.Player.Dawn;
|
||||||
let player_color = INTERFACE.Color.Dawn;
|
|
||||||
let opponent_color = INTERFACE.Color.Dusk;
|
|
||||||
|
|
||||||
if(INTERFACE_DATA.player == 1 || (INTERFACE_DATA.player == 2 && INTERFACE_DATA.rotate == 1)) {
|
if(INTERFACE_DATA.player == 1 || (INTERFACE_DATA.player == 2 && INTERFACE_DATA.rotate == 1)) {
|
||||||
player_identity = GAME.Const.Player.Dusk;
|
player_identity = GAME.Const.Player.Dusk;
|
||||||
@ -929,9 +927,7 @@ const INTERFACE = {
|
|||||||
GAME.init();
|
GAME.init();
|
||||||
|
|
||||||
let player = 2;
|
let player = 2;
|
||||||
if(mode == INTERFACE.Mode.Local) { player = 0; }
|
|
||||||
|
|
||||||
let history = [ ];
|
|
||||||
let dawn = null;
|
let dawn = null;
|
||||||
let dusk = null;
|
let dusk = null;
|
||||||
|
|
||||||
@ -955,7 +951,7 @@ const INTERFACE = {
|
|||||||
resign:false,
|
resign:false,
|
||||||
resign_warn:false,
|
resign_warn:false,
|
||||||
|
|
||||||
history: history,
|
history: [ ],
|
||||||
history_begin: [ ],
|
history_begin: [ ],
|
||||||
|
|
||||||
replay_turn: 0,
|
replay_turn: 0,
|
||||||
@ -1015,12 +1011,15 @@ const INTERFACE = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
reset() {
|
reset() {
|
||||||
GAME.init();
|
|
||||||
INTERFACE_DATA.history = INTERFACE_DATA.history_begin;
|
|
||||||
INTERFACE_DATA.player = 0;
|
|
||||||
INTERFACE_DATA.rotate = 0;
|
|
||||||
INTERFACE_DATA.auto_mode = null;
|
INTERFACE_DATA.auto_mode = null;
|
||||||
INTERFACE.draw();
|
|
||||||
|
GAME.init();
|
||||||
|
INTERFACE_DATA.history = [ ];
|
||||||
|
for(let i = 0; i < INTERFACE_DATA.history_begin.length; ++i) {
|
||||||
|
INTERFACE_DATA.history.push(INTERFACE_DATA.history_begin[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
INTERFACE.replay_jump(INTERFACE_DATA.history.length, false);
|
||||||
},
|
},
|
||||||
|
|
||||||
message(code, data) {
|
message(code, data) {
|
||||||
@ -1078,32 +1077,50 @@ const INTERFACE = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
process(play) {
|
process(play) {
|
||||||
// Send message to server for online game.
|
let valid = true;
|
||||||
switch(INTERFACE_DATA.mode) {
|
|
||||||
// Apply action and change turn for local game.
|
|
||||||
case INTERFACE.Mode.Local: {
|
|
||||||
INTERFACE.history_push(play, true);
|
|
||||||
|
|
||||||
INTERFACE_DATA.player = +(!INTERFACE_DATA.player);
|
switch(play.source) {
|
||||||
INTERFACE_DATA.rotate = +(!INTERFACE_DATA.rotate);
|
case 0: {
|
||||||
|
let piece_id = GAME_DATA.board.tiles[play.from].piece;
|
||||||
INTERFACE.draw();
|
let piece = GAME_DATA.board.pieces[piece_id];
|
||||||
|
valid = piece.player == (GAME_DATA.turn & 1);
|
||||||
if(INTERFACE_DATA.auto_mode !== null && INTERFACE_DATA.auto_mode == (GAME_DATA.turn & 1)) {
|
|
||||||
setTimeout(INTERFACE.auto_play, 1000);
|
|
||||||
}
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
// Send action to server for validation.
|
case 1: {
|
||||||
case INTERFACE.Mode.Player: {
|
let player = play.from / 7;
|
||||||
let move_data = play.source | (play.from << 1) | (play.to << 7);
|
valid = player == (GAME_DATA.turn & 1);
|
||||||
MESSAGE_COMPOSE([
|
|
||||||
PACK.u16(OpCode.GamePlay),
|
|
||||||
PACK.u16(0),
|
|
||||||
PACK.u16(GAME_DATA.turn),
|
|
||||||
PACK.u16(move_data),
|
|
||||||
]);
|
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
|
case 2: {
|
||||||
|
valid = INTERFACE_DATA.mode == INTERFACE.Mode.Player;
|
||||||
|
} break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(valid) {
|
||||||
|
// Send message to server for online game.
|
||||||
|
switch(INTERFACE_DATA.mode) {
|
||||||
|
// Apply action and change turn for local game.
|
||||||
|
case INTERFACE.Mode.Local: {
|
||||||
|
INTERFACE.history_push(play, true);
|
||||||
|
|
||||||
|
INTERFACE.draw();
|
||||||
|
|
||||||
|
if(INTERFACE_DATA.auto_mode !== null && INTERFACE_DATA.auto_mode == (GAME_DATA.turn & 1)) {
|
||||||
|
setTimeout(INTERFACE.auto_play, 1000);
|
||||||
|
}
|
||||||
|
} break;
|
||||||
|
|
||||||
|
// Send action to server for validation.
|
||||||
|
case INTERFACE.Mode.Player: {
|
||||||
|
let move_data = play.source | (play.from << 1) | (play.to << 7);
|
||||||
|
MESSAGE_COMPOSE([
|
||||||
|
PACK.u16(OpCode.GamePlay),
|
||||||
|
PACK.u16(0),
|
||||||
|
PACK.u16(GAME_DATA.turn),
|
||||||
|
PACK.u16(move_data),
|
||||||
|
]);
|
||||||
|
} break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -1162,7 +1179,7 @@ const INTERFACE = {
|
|||||||
turn = +turn;
|
turn = +turn;
|
||||||
|
|
||||||
if(turn >= 0 && turn <= INTERFACE_DATA.history.length) {
|
if(turn >= 0 && turn <= INTERFACE_DATA.history.length) {
|
||||||
if(turn < INTERFACE_DATA.replay_turn) {
|
if(turn <= INTERFACE_DATA.replay_turn) {
|
||||||
INTERFACE_DATA.replay_turn = 0;
|
INTERFACE_DATA.replay_turn = 0;
|
||||||
GAME.init();
|
GAME.init();
|
||||||
}
|
}
|
||||||
|
@ -658,10 +658,9 @@ const SCENES = {
|
|||||||
INTERFACE.init(null, INTERFACE.Mode.Local);
|
INTERFACE.init(null, INTERFACE.Mode.Local);
|
||||||
if(data !== null) {
|
if(data !== null) {
|
||||||
for(let i = 0; i < data.turn; ++i) {
|
for(let i = 0; i < data.turn; ++i) {
|
||||||
INTERFACE.process(data.history[i]);
|
|
||||||
INTERFACE_DATA.history_begin.push(data.history[i]);
|
INTERFACE_DATA.history_begin.push(data.history[i]);
|
||||||
}
|
}
|
||||||
INTERFACE.draw();
|
INTERFACE.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
history.pushState(null, "Dzura - Practice", "/practice/");
|
history.pushState(null, "Dzura - Practice", "/practice/");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user