Add debug comments; improve mouse button handling.
This commit is contained in:
parent
c3e2e3d5e1
commit
a8869efebd
@ -13,6 +13,12 @@ impl UserStatus {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone)]
|
||||||
|
pub struct UserStatistics {
|
||||||
|
pub games_played:u32,
|
||||||
|
pub games_won:u32,
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct User {
|
pub struct User {
|
||||||
pub id:u32,
|
pub id:u32,
|
||||||
|
@ -142,7 +142,11 @@ async fn handle_tls(stream:TlsStream, addr:SocketAddr, args:HttpServiceArgs) ->
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
** [multi_thread, worker_threads]
|
||||||
|
** Workaround for single core computer, where listening tasks blocked
|
||||||
|
** client-handling and data-processing tasks.
|
||||||
|
*/
|
||||||
#[tokio::main(flavor = "multi_thread", worker_threads = 12)]
|
#[tokio::main(flavor = "multi_thread", worker_threads = 12)]
|
||||||
async fn main()
|
async fn main()
|
||||||
{
|
{
|
||||||
|
@ -233,12 +233,17 @@ const INTERFACE = {
|
|||||||
// Otherwise, switch selection.
|
// Otherwise, switch selection.
|
||||||
let result = 0;
|
let result = 0;
|
||||||
if(INTERFACE_DATA.select !== null) {
|
if(INTERFACE_DATA.select !== null) {
|
||||||
|
console.log("Select not null");
|
||||||
|
|
||||||
// Play selection.
|
// Play selection.
|
||||||
if(INTERFACE_DATA.hover.source == 0 && (INTERFACE_DATA.mode == INTERFACE.Mode.Local || 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))) {
|
||||||
|
console.log("D1");
|
||||||
|
|
||||||
let tile_state = INTERFACE_DATA.Game.board_state[INTERFACE_DATA.hover.tile][1];
|
let tile_state = INTERFACE_DATA.Game.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);
|
||||||
|
console.log("RES " + result);
|
||||||
if(INTERFACE_DATA.select.source == 1) {
|
if(INTERFACE_DATA.select.source == 1) {
|
||||||
|
console.log("SRC1");
|
||||||
let pool_selected = +(INTERFACE_DATA.select.tile >= 7);
|
let pool_selected = +(INTERFACE_DATA.select.tile >= 7);
|
||||||
|
|
||||||
pool_selected ^= (INTERFACE_DATA.player & 1);
|
pool_selected ^= (INTERFACE_DATA.player & 1);
|
||||||
@ -247,6 +252,7 @@ const INTERFACE = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if((GAME_DATA.turn & 1) != pool_selected) {
|
if((GAME_DATA.turn & 1) != pool_selected) {
|
||||||
|
console.log("NOT POOL");
|
||||||
result = 0;
|
result = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -254,8 +260,11 @@ const INTERFACE = {
|
|||||||
|
|
||||||
// Alt move selection.
|
// Alt move selection.
|
||||||
else if(INTERFACE_DATA.select.source == 0 && INTERFACE_DATA.hover.source == 1) {
|
else if(INTERFACE_DATA.select.source == 0 && INTERFACE_DATA.hover.source == 1) {
|
||||||
|
console.log("D2");
|
||||||
let alt_piece = INTERFACE.selection_has_alt(INTERFACE_DATA.select);
|
let alt_piece = INTERFACE.selection_has_alt(INTERFACE_DATA.select);
|
||||||
if(alt_piece !== null) {
|
if(alt_piece !== null) {
|
||||||
|
console.log("HAS ALT");
|
||||||
|
|
||||||
let pool_player = Math.floor(INTERFACE_DATA.hover.tile / 7);
|
let pool_player = Math.floor(INTERFACE_DATA.hover.tile / 7);
|
||||||
pool_player ^= INTERFACE_DATA.player & 1;
|
pool_player ^= INTERFACE_DATA.player & 1;
|
||||||
if(INTERFACE_DATA.player == 2) { pool_player ^= INTERFACE_DATA.rotate; }
|
if(INTERFACE_DATA.player == 2) { pool_player ^= INTERFACE_DATA.rotate; }
|
||||||
@ -271,7 +280,7 @@ const INTERFACE = {
|
|||||||
// Handle player action.
|
// Handle player action.
|
||||||
switch(result) {
|
switch(result) {
|
||||||
case 1: {
|
case 1: {
|
||||||
console.log("D1");
|
console.log("ACT1");
|
||||||
let source = INTERFACE_DATA.select.source;
|
let source = INTERFACE_DATA.select.source;
|
||||||
if(source == 0 && INTERFACE_DATA.alt_mode) {
|
if(source == 0 && INTERFACE_DATA.alt_mode) {
|
||||||
source = 2;
|
source = 2;
|
||||||
@ -289,7 +298,7 @@ const INTERFACE = {
|
|||||||
} break;
|
} break;
|
||||||
|
|
||||||
case 0: {
|
case 0: {
|
||||||
console.log("D2");
|
console.log("ACT2");
|
||||||
// Handle new selection.
|
// Handle new selection.
|
||||||
INTERFACE_DATA.select = null;
|
INTERFACE_DATA.select = null;
|
||||||
INTERFACE_DATA.alt_mode = false;
|
INTERFACE_DATA.alt_mode = false;
|
||||||
@ -324,8 +333,7 @@ const INTERFACE = {
|
|||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
// Aux button
|
default: {
|
||||||
case 1: {
|
|
||||||
INTERFACE_DATA.select = null;
|
INTERFACE_DATA.select = null;
|
||||||
} break;
|
} break;
|
||||||
}
|
}
|
||||||
@ -333,24 +341,31 @@ const INTERFACE = {
|
|||||||
INTERFACE.game_step();
|
INTERFACE.game_step();
|
||||||
},
|
},
|
||||||
|
|
||||||
contextmenu() {
|
contextmenu(event) {
|
||||||
INTERFACE_DATA.select = null;
|
INTERFACE_DATA.select = null;
|
||||||
return false;
|
if(!event.ctrlKey) {
|
||||||
|
event.preventDefault();
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
release() {
|
release(event) {
|
||||||
if(INTERFACE_DATA.hover !== null
|
if(event.button == 0) {
|
||||||
&& !INTERFACE.Ui.match_select(INTERFACE_DATA.hover, INTERFACE_DATA.clicked)
|
if(INTERFACE_DATA.hover !== null
|
||||||
){
|
&& !INTERFACE.Ui.match_select(INTERFACE_DATA.hover, INTERFACE_DATA.clicked)
|
||||||
if(INTERFACE.Ui.match_select(INTERFACE_DATA.hover, INTERFACE_DATA.select)) {
|
){
|
||||||
INTERFACE_DATA.select = null;
|
if(INTERFACE.Ui.match_select(INTERFACE_DATA.hover, INTERFACE_DATA.select)) {
|
||||||
INTERFACE_DATA.alt_mode = false;
|
INTERFACE_DATA.select = null;
|
||||||
INTERFACE.game_step();
|
INTERFACE_DATA.alt_mode = false;
|
||||||
} else {
|
INTERFACE.game_step();
|
||||||
INTERFACE.click({button:0});
|
} else {
|
||||||
|
INTERFACE.click({button:0});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
INTERFACE_DATA.clicked = null;
|
||||||
}
|
}
|
||||||
INTERFACE_DATA.clicked = null;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
resize() {
|
resize() {
|
||||||
@ -1460,6 +1475,7 @@ const INTERFACE = {
|
|||||||
process(play) {
|
process(play) {
|
||||||
let valid = true;
|
let valid = true;
|
||||||
|
|
||||||
|
console.log("PRC " + play.source);
|
||||||
switch(play.source) {
|
switch(play.source) {
|
||||||
case 0:
|
case 0:
|
||||||
case 2: {
|
case 2: {
|
||||||
@ -1473,6 +1489,7 @@ const INTERFACE = {
|
|||||||
valid = true;
|
valid = true;
|
||||||
} break;
|
} break;
|
||||||
}
|
}
|
||||||
|
console.log("PRC V=" + valid);
|
||||||
|
|
||||||
if(valid) {
|
if(valid) {
|
||||||
// Send message to server for online game.
|
// Send message to server for online game.
|
||||||
|
@ -16,7 +16,7 @@ LANGUAGE.Terms = {
|
|||||||
dusk: new LANGUAGE.Term( "Dusk", "黄昏" ),
|
dusk: new LANGUAGE.Term( "Dusk", "黄昏" ),
|
||||||
|
|
||||||
handle: new LANGUAGE.Term( "Handle", "ハンドル" ),
|
handle: new LANGUAGE.Term( "Handle", "ハンドル" ),
|
||||||
secret: new LANGUAGE.Term( "Secret", "秘文" ),
|
secret: new LANGUAGE.Term( "Password", "秘文" ),
|
||||||
invitation: new LANGUAGE.Term( "Invitation", "招待" ),
|
invitation: new LANGUAGE.Term( "Invitation", "招待" ),
|
||||||
|
|
||||||
reconnect: new LANGUAGE.Term( "Reconnect", "再接続" ),
|
reconnect: new LANGUAGE.Term( "Reconnect", "再接続" ),
|
||||||
|
@ -3,4 +3,5 @@ document.addEventListener("DOMContentLoaded", () => {
|
|||||||
LOAD(SCENES.Init);
|
LOAD(SCENES.Init);
|
||||||
|
|
||||||
document.addEventListener("beforeunload", UNLOAD);
|
document.addEventListener("beforeunload", UNLOAD);
|
||||||
|
window.addEventListener("popstate", LOAD_URL);
|
||||||
});
|
});
|
||||||
|
@ -1216,6 +1216,15 @@ function LOAD_URL() {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
|
case "u": {
|
||||||
|
if(parts[2]) {
|
||||||
|
LOAD(SCEENS.Profile, {
|
||||||
|
handle:parts[2],
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LOAD(SCENES.Browse);
|
LOAD(SCENES.Browse);
|
||||||
|
@ -557,6 +557,8 @@ function MESSAGE(event) {
|
|||||||
|
|
||||||
if(test_result == 0) {
|
if(test_result == 0) {
|
||||||
console.log("BD " + text);
|
console.log("BD " + text);
|
||||||
|
} else {
|
||||||
|
console.log("OK " + text);
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
@ -581,7 +583,11 @@ function MESSAGE_COMPOSE(data) {
|
|||||||
length += data[i].length;
|
length += data[i].length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log("MSG = " + raw);
|
||||||
|
|
||||||
SOCKET.send(raw);
|
SOCKET.send(raw);
|
||||||
|
} else {
|
||||||
|
console.log("No Socket");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ const UI = {
|
|||||||
password(id) {
|
password(id) {
|
||||||
let input = document.createElement("input");
|
let input = document.createElement("input");
|
||||||
input.setAttribute("type", "password");
|
input.setAttribute("type", "password");
|
||||||
input.setAttribute("placeholder", "••••••••••••");
|
input.setAttribute("placeholder", "◦◦◦◦");
|
||||||
if(id !== null) { input.setAttribute("id", id); }
|
if(id !== null) { input.setAttribute("id", id); }
|
||||||
return input;
|
return input;
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user