From 2d887aa48f9e148b3e8bfe03195ac2d37b872415 Mon Sep 17 00:00:00 2001 From: yukirij Date: Fri, 27 Sep 2024 14:08:55 -0700 Subject: [PATCH] Update margins and add E column label; change Turn term to Turns; fix placement bug due to check handling change. --- www/js/badge.js | 8 ++++++++ www/js/game.js | 3 ++- www/js/interface.js | 26 +++++++++++++++----------- www/js/language.js | 1 - www/js/ui.js | 2 +- 5 files changed, 26 insertions(+), 14 deletions(-) create mode 100644 www/js/badge.js diff --git a/www/js/badge.js b/www/js/badge.js new file mode 100644 index 0000000..c2435cb --- /dev/null +++ b/www/js/badge.js @@ -0,0 +1,8 @@ +class Badge { + +} + +function BADGE_UPDATE() +{ + +} diff --git a/www/js/game.js b/www/js/game.js index 980a2f3..6ff00ec 100644 --- a/www/js/game.js +++ b/www/js/game.js @@ -758,8 +758,9 @@ GAME.Game = class { // Check if position puts king in check. let checking = false; + let movements = [ ]; if(params.check !== false) { - let movements = this.movement_tiles(piece, tile_id, true); + movements = this.movement_tiles(piece, tile_id, true); for(let movement of movements) { if(movement.check) { checking = true; diff --git a/www/js/interface.js b/www/js/interface.js index 1c01bf9..2bdb4b2 100644 --- a/www/js/interface.js +++ b/www/js/interface.js @@ -130,7 +130,7 @@ const INTERFACE = { INTERFACE_DATA.hover = null; // Handle board area - if(event.offsetY >= INTERFACE_DATA.Ui.margin && event.offsetY < INTERFACE_DATA.Ui.margin + INTERFACE_DATA.Ui.area.y) { + if(event.offsetY >= INTERFACE_DATA.Ui.margin.t && event.offsetY < INTERFACE_DATA.Ui.margin.l + INTERFACE_DATA.Ui.area.y) { if(event.offsetX >= INTERFACE_DATA.Ui.offset.x && event.offsetX < INTERFACE_DATA.Ui.offset.x + INTERFACE_DATA.Ui.board_width) { let basis_x = INTERFACE_DATA.Ui.offset.x + halfradius; @@ -313,10 +313,14 @@ const INTERFACE = { let width = INTERFACE_DATA.canvas.width = INTERFACE_DATA.canvas.clientWidth; let height = INTERFACE_DATA.canvas.height = INTERFACE_DATA.canvas.clientHeight; - let margin = INTERFACE_DATA.Ui.margin = Math.floor(Math.min(width, height) / 96); + INTERFACE_DATA.Ui.margin.t = Math.floor(Math.min(width, height) / 96); + INTERFACE_DATA.Ui.margin.l = 2 * INTERFACE_DATA.Ui.margin.t; + INTERFACE_DATA.Ui.margin.r = INTERFACE_DATA.Ui.margin.t; + INTERFACE_DATA.Ui.margin.b = 3 * INTERFACE_DATA.Ui.margin.t; + let margin = INTERFACE_DATA.Ui.margin; - let gui_width = width - (margin * 2); - let gui_height = height - (margin * 2); + let gui_width = width - (margin.l + margin.r); + let gui_height = height - (margin.t + margin.b); if(gui_width < gui_height * INTERFACE.Ratio) { gui_height = Math.floor(gui_width / INTERFACE.Ratio); @@ -330,8 +334,8 @@ const INTERFACE = { INTERFACE_DATA.Ui.area.y = gui_height; INTERFACE_DATA.Ui.scale = gui_scale; - INTERFACE_DATA.Ui.offset.x = (width - gui_width) / 2; - INTERFACE_DATA.Ui.offset.y = (height - gui_height) / 2; + INTERFACE_DATA.Ui.offset.x = (INTERFACE_DATA.Ui.margin.l - INTERFACE_DATA.Ui.margin.r) + (width - gui_width) / 2; + INTERFACE_DATA.Ui.offset.y = (INTERFACE_DATA.Ui.margin.t - INTERFACE_DATA.Ui.margin.b) + (height - gui_height) / 2; INTERFACE_DATA.Ui.board_width = Math.ceil(INTERFACE.BoardWidth * gui_scale); INTERFACE_DATA.Ui.pool_offset = INTERFACE_DATA.Ui.offset.x + Math.floor(INTERFACE.PoolOffset * gui_scale); @@ -553,14 +557,14 @@ const INTERFACE = { ctx.fillStyle = INTERFACE.Color.Text; ctx.textBaseline = "top"; ctx.textAlign = "left"; - ctx.fillText(text, gui_margin, gui_margin); + ctx.fillText(text, gui_margin.t, gui_margin.t); } // Number of moves ctx.fillStyle = INTERFACE.Color.Text; ctx.textBaseline = "top"; ctx.textAlign = "right"; - ctx.fillText(GAME_DATA.turn, width - gui_margin, gui_margin); + ctx.fillText(GAME_DATA.turn, width - gui_margin.t, gui_margin.t); // Game state message let message = null; @@ -588,7 +592,7 @@ const INTERFACE = { if(message !== null) { ctx.textBaseline = "bottom"; ctx.textAlign = "left"; - ctx.fillText(message, gui_margin, height - gui_margin); + ctx.fillText(message, gui_margin.t, height - gui_margin.t); } // Draw tile numbers @@ -603,7 +607,7 @@ const INTERFACE = { ctx.fillStyle = INTERFACE.Color.TextDark; ctx.textBaseline = "top"; ctx.textAlign = "center"; - for(let i = 0; i < 4; ++i) { + for(let i = 0; i < 5; ++i) { let x = basis_x + (1.5 * radius * i); let y = basis_y + (gui_scale * (1.15 + i)); ctx.fillText(letters[i], x, y); @@ -977,7 +981,7 @@ const INTERFACE = { Ui: { scale: 0, - margin: 0, + margin: { t:0, l:0, r:0, b:0 }, offset: new MATH.Vec2(), area: new MATH.Vec2(), diff --git a/www/js/language.js b/www/js/language.js index 478e90c..4ffe036 100644 --- a/www/js/language.js +++ b/www/js/language.js @@ -37,7 +37,6 @@ LANGUAGE.Terms = { logout: new LANGUAGE.Term( "Logout", " ログアウト" ), extras: new LANGUAGE.Term( "Extras", " お負け" ), - turn: new LANGUAGE.Term( "Turn", "手番数" ), turns: new LANGUAGE.Term( "Turns", "手番数" ), viewers: new LANGUAGE.Term( "Viewers", "観戦者" ), diff --git a/www/js/ui.js b/www/js/ui.js index e38a191..9c4305a 100644 --- a/www/js/ui.js +++ b/www/js/ui.js @@ -240,7 +240,7 @@ const UI = { } let tbody = UI.table_content( - [ LANG("dawn"), LANG("dusk"), LANG("turn"), LANG("viewers"), "" ], + [ LANG("dawn"), LANG("dusk"), LANG("turns"), LANG("viewers"), "" ], rows, );