Change practice auto language; add rotation persistence between games and review.
This commit is contained in:
parent
06069dc354
commit
6e29ae42e8
@ -749,8 +749,8 @@ const INTERFACE = {
|
|||||||
|
|
||||||
if(INTERFACE_DATA.Game.auto !== null) {
|
if(INTERFACE_DATA.Game.auto !== null) {
|
||||||
switch(INTERFACE_DATA.Game.auto) {
|
switch(INTERFACE_DATA.Game.auto) {
|
||||||
case 0: message = LANG("auto") + " " + LANG("dawn"); break;
|
case 0: message = LANG("cpu") + " " + LANG("dawn"); break;
|
||||||
case 1: message = LANG("auto") + " " + LANG("dusk"); break;
|
case 1: message = LANG("cpu") + " " + LANG("dusk"); break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1138,20 +1138,17 @@ const INTERFACE = {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
init(token, mode) {
|
init(token, mode, params={}) {
|
||||||
GAME.init();
|
GAME.init();
|
||||||
|
|
||||||
let player = 2;
|
let player = 2;
|
||||||
|
|
||||||
let dawn = null;
|
|
||||||
let dusk = null;
|
|
||||||
|
|
||||||
INTERFACE_DATA = {
|
INTERFACE_DATA = {
|
||||||
canvas: document.getElementById("game"),
|
canvas: document.getElementById("game"),
|
||||||
context: null,
|
context: null,
|
||||||
|
|
||||||
player: player,
|
player: player,
|
||||||
rotate: 0,
|
rotate: params.rotate !== undefined? params.rotate : 0,
|
||||||
mirror: false,
|
mirror: false,
|
||||||
|
|
||||||
hover: null,
|
hover: null,
|
||||||
@ -1308,8 +1305,13 @@ const INTERFACE = {
|
|||||||
|
|
||||||
switch(code) {
|
switch(code) {
|
||||||
case OpCode.GameState: {
|
case OpCode.GameState: {
|
||||||
|
INTERFACE_DATA.player = data.player;
|
||||||
|
|
||||||
|
if(INTERFACE_DATA.rotate >= 2) {
|
||||||
|
INTERFACE_DATA.rotate = (INTERFACE_DATA.rotate & 1) ^ (data.player & 1);
|
||||||
|
}
|
||||||
|
|
||||||
if(INTERFACE_DATA.mode == INTERFACE.Mode.Player) {
|
if(INTERFACE_DATA.mode == INTERFACE.Mode.Player) {
|
||||||
INTERFACE_DATA.player = data.player;
|
|
||||||
if(data.undo > 0) {
|
if(data.undo > 0) {
|
||||||
if((1 << INTERFACE_DATA.player) == data.undo) {
|
if((1 << INTERFACE_DATA.player) == data.undo) {
|
||||||
INTERFACE_DATA.Ui.request_undo = 1;
|
INTERFACE_DATA.Ui.request_undo = 1;
|
||||||
|
@ -53,6 +53,7 @@ LANGUAGE.Terms = {
|
|||||||
undo: new LANGUAGE.Term( "Undo", "待った" ),
|
undo: new LANGUAGE.Term( "Undo", "待った" ),
|
||||||
reset: new LANGUAGE.Term( "Reset", "リセット" ),
|
reset: new LANGUAGE.Term( "Reset", "リセット" ),
|
||||||
auto: new LANGUAGE.Term( "Auto", "自動" ),
|
auto: new LANGUAGE.Term( "Auto", "自動" ),
|
||||||
|
cpu: new LANGUAGE.Term("CPU", "CPU"),
|
||||||
|
|
||||||
users: new LANGUAGE.Term( "Users", "ユーザー" ),
|
users: new LANGUAGE.Term( "Users", "ユーザー" ),
|
||||||
requests: new LANGUAGE.Term( "Requests", "挑戦状" ),
|
requests: new LANGUAGE.Term( "Requests", "挑戦状" ),
|
||||||
|
@ -587,10 +587,12 @@ const SCENES = {
|
|||||||
this.mode = null;
|
this.mode = null;
|
||||||
this.token = null;
|
this.token = null;
|
||||||
this.turn = null;
|
this.turn = null;
|
||||||
|
this.rotate = 0;
|
||||||
}
|
}
|
||||||
load(data) {
|
load(data) {
|
||||||
this.mode = data.mode;
|
this.mode = data.mode;
|
||||||
this.token = data.token;
|
this.token = data.token;
|
||||||
|
if(data.rotate !== undefined) { this.rotate = data.rotate; }
|
||||||
if(data.turn !== undefined) { this.turn = data.turn; }
|
if(data.turn !== undefined) { this.turn = data.turn; }
|
||||||
MESSAGE_SESSION_VIEW(this.token, this.mode == INTERFACE.Mode.Player);
|
MESSAGE_SESSION_VIEW(this.token, this.mode == INTERFACE.Mode.Player);
|
||||||
return true;
|
return true;
|
||||||
@ -604,6 +606,7 @@ const SCENES = {
|
|||||||
token:this.token,
|
token:this.token,
|
||||||
view:data,
|
view:data,
|
||||||
turn:this.turn,
|
turn:this.turn,
|
||||||
|
rotate:this.rotate,
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
LOAD(SCENES.Browse);
|
LOAD(SCENES.Browse);
|
||||||
@ -650,6 +653,7 @@ const SCENES = {
|
|||||||
LOAD(SCENES.GameLoad, {
|
LOAD(SCENES.GameLoad, {
|
||||||
token:this.token,
|
token:this.token,
|
||||||
mode:INTERFACE.Mode.Player,
|
mode:INTERFACE.Mode.Player,
|
||||||
|
rotate:2 + ((INTERFACE_DATA.player & 1) ^ INTERFACE_DATA.rotate),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
callback_resume = callback_resume.bind({
|
callback_resume = callback_resume.bind({
|
||||||
@ -662,6 +666,7 @@ const SCENES = {
|
|||||||
LOAD(SCENES.GameLoad, {
|
LOAD(SCENES.GameLoad, {
|
||||||
token:this.token,
|
token:this.token,
|
||||||
mode:INTERFACE.Mode.Review,
|
mode:INTERFACE.Mode.Review,
|
||||||
|
rotate:2 + ((INTERFACE_DATA.player & 1) ^ INTERFACE_DATA.rotate),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
callback_review = callback_review.bind({
|
callback_review = callback_review.bind({
|
||||||
@ -686,6 +691,7 @@ const SCENES = {
|
|||||||
token:this.token,
|
token:this.token,
|
||||||
history:INTERFACE_DATA.Game.history,
|
history:INTERFACE_DATA.Game.history,
|
||||||
turn:turn,
|
turn:turn,
|
||||||
|
rotate:(INTERFACE_DATA.player & 1) ^ INTERFACE_DATA.rotate,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
play_callback = play_callback.bind({
|
play_callback = play_callback.bind({
|
||||||
@ -725,7 +731,9 @@ const SCENES = {
|
|||||||
MAIN.appendChild(canvas);
|
MAIN.appendChild(canvas);
|
||||||
|
|
||||||
// Interface
|
// Interface
|
||||||
INTERFACE.init(data.token, data.mode);
|
INTERFACE.init(data.token, data.mode, {
|
||||||
|
rotate:data.rotate,
|
||||||
|
});
|
||||||
if(data.turn !== null) {
|
if(data.turn !== null) {
|
||||||
INTERFACE_DATA.Replay.turn = data.turn;
|
INTERFACE_DATA.Replay.turn = data.turn;
|
||||||
}
|
}
|
||||||
@ -752,24 +760,23 @@ const SCENES = {
|
|||||||
let buttons_top = [
|
let buttons_top = [
|
||||||
UI.button(LANG("rotate"), () => { INTERFACE.rotate(); }),
|
UI.button(LANG("rotate"), () => { INTERFACE.rotate(); }),
|
||||||
UI.button(LANG("mirror"), () => { INTERFACE.mirror(); }),
|
UI.button(LANG("mirror"), () => { INTERFACE.mirror(); }),
|
||||||
UI.button(LANG("auto"), () => { INTERFACE.auto(); }),
|
UI.button(LANG("cpu"), () => { INTERFACE.auto(); }),
|
||||||
];
|
];
|
||||||
|
|
||||||
if(data !== null) {
|
if(data !== null) {
|
||||||
if(data.history.length > 0) {
|
let callback_review = function() {
|
||||||
let callback_review = function() {
|
LOAD(SCENES.GameLoad, {
|
||||||
LOAD(SCENES.GameLoad, {
|
token:this.token,
|
||||||
token:this.token,
|
mode:INTERFACE.Mode.Review,
|
||||||
mode:INTERFACE.Mode.Review,
|
turn:INTERFACE_DATA.Game.history_begin.length,
|
||||||
turn:INTERFACE_DATA.Game.history_begin.length,
|
rotate:2 + INTERFACE_DATA.rotate,
|
||||||
});
|
|
||||||
}
|
|
||||||
callback_review = callback_review.bind({
|
|
||||||
token: data.token,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
buttons_top.push(UI.button(LANG("review"), callback_review));
|
|
||||||
}
|
}
|
||||||
|
callback_review = callback_review.bind({
|
||||||
|
token: data.token,
|
||||||
|
});
|
||||||
|
|
||||||
|
buttons_top.push(UI.button(LANG("review"), callback_review));
|
||||||
}
|
}
|
||||||
|
|
||||||
let buttons_bottom = [ ];
|
let buttons_bottom = [ ];
|
||||||
@ -783,7 +790,14 @@ const SCENES = {
|
|||||||
canvas.setAttribute("id", "game");
|
canvas.setAttribute("id", "game");
|
||||||
MAIN.appendChild(canvas);
|
MAIN.appendChild(canvas);
|
||||||
|
|
||||||
INTERFACE.init(data, INTERFACE.Mode.Local);
|
let params = {};
|
||||||
|
if(data !== null) {
|
||||||
|
params = {
|
||||||
|
rotate:data.rotate !== undefined? data.rotate : 0,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
INTERFACE.init(data, INTERFACE.Mode.Local, params);
|
||||||
if(data !== null) {
|
if(data !== null) {
|
||||||
for(let i = 0; i < data.turn; ++i) {
|
for(let i = 0; i < data.turn; ++i) {
|
||||||
INTERFACE_DATA.Game.history_begin.push(data.history[i]);
|
INTERFACE_DATA.Game.history_begin.push(data.history[i]);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user