diff options
-rw-r--r-- | play.css | 2 | ||||
-rw-r--r-- | play.js | 26 | ||||
-rw-r--r-- | rules.js | 51 |
3 files changed, 17 insertions, 62 deletions
@@ -121,7 +121,7 @@ body { min-height: 6px; } -.city_tip .piece_tip, .move_tip { cursor: pointer; } +.city_tip, .piece_tip, .move_tip { cursor: pointer; } .city_tip:hover, .piece_tip:hover, .move_tip:hover { text-decoration: underline; } #log .h { @@ -564,8 +564,8 @@ const ui = { document.getElementById("hand_france"), ], cities: [], - action_register: [], roads: [], + action_register: [], } function register_action(target, action, id) { @@ -1091,9 +1091,6 @@ function colorize(text) { text = text.replaceAll("\u2663", colorize_C) text = text.replaceAll("\u2665", colorize_H) text = text.replaceAll("\u2666", colorize_D) - -/* - */ return text } @@ -1133,7 +1130,7 @@ function player_from_power(pow) { return role } -function update_player_power_list(role, powers) { +function update_player_power_list(role) { if (roles[role]) { roles[role].stat.replaceChildren() for (let pow of all_powers) @@ -1148,7 +1145,7 @@ function update_player_active(name) { } function on_prompt(text) { - return colorize(view.prompt) + return colorize(text) } function on_update() { @@ -1433,22 +1430,6 @@ function sub_path(pieces_and_spaces) { return `<span onclick="on_click_city_tip(${x})" onmouseenter="on_focus_path_tip([${ps.join(",")}],[${ss.join(",")}])" onmouseleave="on_blur_path_tip()">${ps_name} to ${ss_name}.</span>` } -const suit_icon = [ - '<span class="suit spades">\u2660</span>', - '<span class="suit clubs">\u2663</span>', - '<span class="suit hearts">\u2665</span>', - '<span class="suit diamonds">\u2666</span>', - '<span class="suit reserve">R</span>', -] - -function sub_tc(_match, p1) { - let c = p1 | 0 - let d = to_deck(c) - let v = to_value(c) - let s = to_suit(c) - return `<span class="value deck_${d+1}">${v}</span>${suit_icon[s]}` -} - const strokes_of_fate_name = [ "Poems", "Lord Bute", @@ -1485,7 +1466,6 @@ function on_log(text) { text = colorize(text) text = text.replace(/S(\d+)/g, sub_space) text = text.replace(/P(\d+)/g, sub_piece) - text = text.replace(/C(\d+)/g, sub_tc) if (text.startsWith("@")) { p.className = "move_tip" @@ -339,12 +339,6 @@ function is_west_of(here, there) { return dx < 0 && Math.abs(dx) >= Math.abs(dy) } -function format_card_list(list) { - if (list.length > 0) - return list.map(format_card).join(", ") - return "nothing" -} - function format_card_list_prompt(list) { if (list.length > 0) return list.map(format_card_prompt).join(", ") @@ -357,36 +351,14 @@ function format_selected() { return game.selected.map(p => piece_name[p]).join(" and ") } -function log_selected() { - log(game.selected.map(p => "P" + p).join(" and ")) +function log_move_to(to) { + let from = game.pos[game.selected[0]] + log("@" + game.selected.join(",") + ";" + from + "," + to) } -function is_important_move(s) { - return set_has(game.move_conq, s) || set_has(game.move_reconq, s) || set_has(game.retro, s) -} - -function log_small_move_to(to) { - if (0) { - log_selected() - log(">from S" + game.pos[game.selected[0]]) - log(">to S" + s) - } else { - let from = game.pos[game.selected[0]] - log("@" + game.selected.join(",") + ";" + from + "," + to) - } -} - -function log_selected_move_path() { - if (0) { - log_selected() - log(">from S" + game.move_path[0]) - for (let i = 1; i < game.move_path.length; ++i) - if (is_important_move(game.move_path[i]) || i === game.move_path.length-1) - log(">to S" + game.move_path[i]) - } else { - if (game.move_path.length > 1) - log("@" + game.selected.join(",") + ";" + game.move_path.join(",")) - } +function log_move_path() { + if (game.move_path.length > 1) + log("@" + game.selected.join(",") + ";" + game.move_path.join(",")) } /* OBJECTIVES */ @@ -1830,7 +1802,7 @@ states.move_give = { } function end_move_piece() { - log_selected_move_path() + log_move_path() if (game.move_elim) { for (let p of game.move_elim) @@ -2084,7 +2056,10 @@ function end_recruit() { if (game.recruit) { if (game.recruit.used.length > 0) { log_br() - log("Recruited " + game.recruit.troops + " troops with " + game.recruit.used.map(format_card).join(", ") + ".") + if (game.recruit.troops > 0) + log("Recruited " + game.recruit.troops + " troops with " + game.recruit.used.map(format_card).join(", ") + ".") + else + log("Recruited with " + game.recruit.used.map(format_card).join(", ") + ".") map_for_each(game.recruit.pieces, (p,s) => { log("Re-entered P" + p + " at S" + s + ".") }) @@ -3863,7 +3838,7 @@ states.austria_may_move_laudon_by_one_city_immediately = { space(s) { push_undo() - log_small_move_to(s) + log_move_to(s) move_general_immediately(s) game.state = "laudon_done" @@ -4022,7 +3997,7 @@ states.move_to_any_empty_adjacent_city = { gen_action_space(next) }, space(s) { - log_small_move_to(s) + log_move_to(s) for (let p of game.selected) game.pos[p] = s game.state = "prussians_who_are_attacked_by_daun_may_move" |