summaryrefslogtreecommitdiff
path: root/play.js
diff options
context:
space:
mode:
authorTor Andersson <tor@ccxvii.net>2024-05-28 14:53:47 +0200
committerTor Andersson <tor@ccxvii.net>2024-05-30 21:59:25 +0200
commitd37d90c3efb0bd05f1e921bd7f5186954d8e6a7b (patch)
tree917860146a1e4176c0891449b7a02c5b50e75067 /play.js
parentf34c5dc29648a49ef1b128fef33e0748c811c991 (diff)
downloadfriedrich-d37d90c3efb0bd05f1e921bd7f5186954d8e6a7b.tar.gz
show moving/unmoving stack split. detach buttons.
Diffstat (limited to 'play.js')
-rw-r--r--play.js54
1 files changed, 47 insertions, 7 deletions
diff --git a/play.js b/play.js
index 039e1a5..dde9f1e 100644
--- a/play.js
+++ b/play.js
@@ -704,15 +704,26 @@ function on_blur_piece() {
/* UPDATE UI */
function layout_general_offset(g, s) {
- let n = 0
- for (let i = g+1; i < 24; ++i) {
- if (view.pos[i] === s) {
+ // if not selected: number of unselected generals below us
+ // if not selected: (number of unselected generals + 1) + number of selected generals below us
+ if (!set_has(view.selected, g)) {
+ let n = 0
+ for (let i = g+1; i < 24; ++i)
+ if (view.pos[i] === s && !set_has(view.selected, i))
+ ++n
+ return n
+ } else {
+ let n = 0
+ for (let i = 0; i < 24; ++i)
+ if (view.pos[i] === s && !set_has(view.selected, i))
+ ++n
+ if (n > 0)
++n
- if (is_action("piece", i))
+ for (let i = g+1; i < 24; ++i)
+ if (view.pos[i] === s && set_has(view.selected, i))
++n
- }
+ return n
}
- return n
}
function layout_general_count(g, s) {
@@ -952,11 +963,13 @@ function on_update() {
for (let v = 16; v >= 0; --v)
action_button_with_argument("value", v, v)
+ for (let p = 0; p < 24; ++p)
+ action_button_with_argument("detach", p, "Detach " + piece_button_name[p])
+
action_button("take", "Take")
action_button("give", "Give")
action_button("recruit", "Recruit")
action_button("transfer", "Transfer")
- action_button("detach", "Detach")
action_button("stop", "Stop")
action_button("pass", "Pass")
@@ -1036,6 +1049,33 @@ const piece_power = [
P_FRANCE,
]
+const piece_button_name = [
+ "P1",
+ "P2",
+ "P3",
+ "P4",
+ "P5",
+ "P6",
+ "P7",
+ "P8",
+ "H1",
+ "H2",
+ "R1",
+ "R2",
+ "R3",
+ "R4",
+ "S1",
+ "A1",
+ "A2",
+ "A3",
+ "A4",
+ "A5",
+ "IA1",
+ "F1",
+ "F2",
+ "F3",
+]
+
const piece_tooltip_name = [
"P1 Friedrich",
"P2 Winterfeldt",