X-Git-Url: https://plomlompom.com/repos/%7B%7B%20web_path%20%7D%7D/decks/%7B%7Bdeck_id%7D%7D/cards/%7B%7Bcard_id%7D%7D/static/git-logo.png?a=blobdiff_plain;f=new2%2Frogue_chat_nocanvas_monochrome.html;h=bea6f0a7bcb8a3c13107cc2991888cd238875d9c;hb=26f34308d92c8cd30007feff4a1201b8bf0fb185;hp=eaa180d03157dfae3b997c6a0862a74aba0d34aa;hpb=859f7be1bcd0313d0ed5dd5510968cbb18c9b343;p=plomrogue2-experiments diff --git a/new2/rogue_chat_nocanvas_monochrome.html b/new2/rogue_chat_nocanvas_monochrome.html index eaa180d..bea6f0a 100644 --- a/new2/rogue_chat_nocanvas_monochrome.html +++ b/new2/rogue_chat_nocanvas_monochrome.html @@ -153,14 +153,15 @@ let tui = { }; map_lines.push(line); let player_position = [0,0]; + let center_pos = [Math.floor(game.map_size[0] / 2), + Math.floor(game.map_size[1] / 2)]; for (const thing_id in game.things) { let t = game.things[thing_id]; map_lines[t[0]][t[1]] = '@'; if (game.player_id == thing_id) { - player_position = t; + center_pos = t; } }; - let center_pos = player_position; if (tui.mode == 'study' || tui.mode == 'annotate') { map_lines[explorer.position[0]][explorer.position[1]] = '?'; center_pos = explorer.position; @@ -220,8 +221,8 @@ let tui = { tui.log_msg("/login USER - register as USER"); tui.log_msg("/msg USER TEXT - send TEXT to USER"); tui.log_msg("/help - show this help"); - tui.log_msg("/play - switch to play mode"); - tui.log_msg("/study - switch to study mode"); + tui.log_msg("/play or /p - switch to play mode"); + tui.log_msg("/study or /s - switch to study mode"); tui.log_msg(""); tui.log_msg("play mode commands:"); tui.log_msg("w, a, s, d - move avatar"); @@ -271,6 +272,10 @@ tui.log_help(); tui.full_refresh(); let websocket = new WebSocket(websocket_location); +websocket.onopen = function (event) { + window.setInterval(function() { websocket.send('PING') }, 30000); + websocket.send('GET_GAMESTATE'); +} websocket.onmessage = function (event) { let tokens = parser.tokenize(event.data)[0]; if (tokens[0] === 'TURN') { @@ -390,9 +395,9 @@ document.addEventListener('keydown', (event) => { let [tokens, token_starts] = parser.tokenize(tui.input_line); if (tokens.length > 0 && tokens[0].length > 0) { if (tokens[0][0] == '/') { - if (tokens[0] == '/play') { + if (tokens[0] == '/play' || tokens[0] == '/p') { tui.switch_mode('play'); - } else if (tokens[0] == '/study') { + } else if (tokens[0] == '/study' || tokens[0] == '/s') { tui.switch_mode('study'); } else if (tokens[0] == '/help') { tui.log_help(); @@ -443,10 +448,10 @@ document.addEventListener('keydown', (event) => { websocket.send('TASK:MOVE DOWN'); }; } else if (tui.mode == 'edit') { - if (event.key.length === 1) { + if (event.key != "Shift" && event.key.length == 1) { websocket.send("TASK:WRITE " + quote(event.key)); + tui.switch_mode('play'); } - tui.switch_mode('play'); } else if (tui.mode == 'study') { if (event.key === 'c') { tui.switch_mode('chat'); @@ -481,7 +486,5 @@ document.addEventListener('keydown', (event) => { } } }, false); - -window.setInterval(function() { websocket.send('PING') }, 30000);