X-Git-Url: https://plomlompom.com/repos/berlin_corona.txt?a=blobdiff_plain;f=rogue_chat.html;h=26e6bf802f91389628bb286db555c2f64ca70a12;hb=aaaa37601edeb1faa412780fee546e32bf92f4d2;hp=3f281579afa8e5dcf0edcaedcc00aad23994303d;hpb=4a49836086c55c2736bcc7def243f6c4a72ae690;p=plomrogue2 diff --git a/rogue_chat.html b/rogue_chat.html index 3f28157..26e6bf8 100644 --- a/rogue_chat.html +++ b/rogue_chat.html @@ -970,7 +970,7 @@ let tui = { recalc_input_lines: function() { if (this.mode.has_input_prompt) { let _ = null; - [this.input_lines, _] = this.msg_into_lines_of_width(this.input_prompt + this.inputEl.value, this.window_width); + [this.input_lines, _] = this.msg_into_lines_of_width(this.input_prompt + this.inputEl.value + '█', this.window_width); } else { this.input_lines = []; } @@ -1045,7 +1045,7 @@ let tui = { }, pick_selectable: function(task_name) { const i = parseInt(this.inputEl.value); - if (isNaN(i) || i < 0 || i >= this.selectables.length) { + if (isNaN(this.inputEl.value) || i < 0 || i >= this.selectables.length) { tui.log_msg('? invalid index, aborted'); } else { server.send(['TASK:' + task_name, tui.selectables[i]]); @@ -1055,7 +1055,7 @@ let tui = { }, enter_ascii_art: function(command) { if (this.inputEl.value.length != 6) { - this.log_msg('? wrong input length, try again'); + this.log_msg('? wrong input length, must be 6; try again'); return; } this.log_msg(' ' + this.inputEl.value); @@ -1554,7 +1554,7 @@ document.onclick = function() { }; tui.inputEl.addEventListener('keydown', (event) => { tui.show_help = false; - if (event.key == 'Enter') { + if (['Enter', 'ArrowLeft', 'ArrowRight'].includes(event.key)) { event.preventDefault(); } if ((!tui.mode.is_intro && event.key == 'Escape') @@ -1801,15 +1801,17 @@ for (const move_button of document.querySelectorAll('[id*="_move_"]')) { }; let direction = move_button.id.split('_')[2].toUpperCase(); let move_repeat; + function move() { + if (tui.mode.available_actions.includes("move")) { + server.send(['TASK:MOVE', direction]); + } else if (tui.mode.available_actions.includes("move_explorer")) { + explorer.move(direction); + tui.full_refresh(); + }; + } move_button.onmousedown = function() { - move_repeat = window.setInterval(function() { - if (tui.mode.available_actions.includes("move")) { - server.send(['TASK:MOVE', direction]); - } else if (tui.mode.available_actions.includes("move_explorer")) { - explorer.move(direction); - tui.full_refresh(); - }; - }, 100); + move(); + move_repeat = window.setInterval(move, 100); }; move_button.onmouseup = function() { window.clearInterval(move_repeat);