home
·
contact
·
privacy
projects
/
plomrogue2-experiments
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
33bfdaf
)
Improve rogue chat interface.
author
Christian Heller
<c.heller@plomlompom.de>
Sun, 25 Oct 2020 00:12:47 +0000
(
02:12
+0200)
committer
Christian Heller
<c.heller@plomlompom.de>
Sun, 25 Oct 2020 00:12:47 +0000
(
02:12
+0200)
new2/rogue_chat.html
patch
|
blob
|
history
diff --git
a/new2/rogue_chat.html
b/new2/rogue_chat.html
index 6fec9085a43d82bf095cabb89f8ee8f1013041ad..dde77beb49459827ca7f40cce210b45d6257ccad 100644
(file)
--- a/
new2/rogue_chat.html
+++ b/
new2/rogue_chat.html
@@
-88,12
+88,8
@@
let parser = {
}
let tui = {
}
let tui = {
- log_msg: function(msg) {
- chat.history.unshift(msg);
- if (chat.history.length > terminal.rows - 2) {
- chat.history.pop();
- }
- terminal.drawBox(1, terminal.cols / 2, terminal.rows - 2, terminal.cols);
+ draw_history: function() {
+ terminal.drawBox(1, terminal.cols / 2, terminal.rows - 2, terminal.cols, 'black');
let i = 0;
for (let line of chat.history) {
terminal.write(terminal.rows - 2 - i, terminal.cols / 2, line);
let i = 0;
for (let line of chat.history) {
terminal.write(terminal.rows - 2 - i, terminal.cols / 2, line);
@@
-110,12
+106,19
@@
let tui = {
}
},
draw_tick_line: function(n) {
}
},
draw_tick_line: function(n) {
- terminal.drawBox(0,
0, terminal.rows, terminal.cols / 2
);
+ terminal.drawBox(0,
terminal.cols / 2, 1, terminal.cols / 2, 'black'
);
terminal.write(0, terminal.cols / 2, 'tick: ' + game.tick);
},
draw_input_line: function() {
terminal.drawBox(terminal.rows - 1, terminal.cols / 2, 1, terminal.cols / 2, 'black');
terminal.write(terminal.rows - 1, terminal.cols / 2, chat.input_line);
terminal.write(0, terminal.cols / 2, 'tick: ' + game.tick);
},
draw_input_line: function() {
terminal.drawBox(terminal.rows - 1, terminal.cols / 2, 1, terminal.cols / 2, 'black');
terminal.write(terminal.rows - 1, terminal.cols / 2, chat.input_line);
+ },
+ log_msg: function(msg) {
+ chat.history.unshift(msg);
+ if (chat.history.length > terminal.rows - 2) {
+ chat.history.pop();
+ };
+ this.draw_history();
}
}
}
}
@@
-125,12
+128,21
@@
let game = {
}
let chat = {
}
let chat = {
- input_line: "",
- history: []
+ input_line:"",
+ history: ["contain whitespace, escape them with \\.",
+ "Use double quotes for strings that",
+ "Use arrow keys to move your avatar.",
+ " QUERY USER TEXT - send TEXT to USER",
+ " ALL TEXT - send TEXT to all users",
+ " LOGIN USER - register as USER",
+ "commands:"]
}
terminal.initialize()
}
terminal.initialize()
-terminal.drawBox(terminal.rows - 1, terminal.cols / 2, 1, terminal.cols, 'black');
+tui.draw_map();
+tui.draw_tick_line();
+tui.draw_history();
+tui.draw_input_line();
document.addEventListener('keydown', (event) => {
if (chat.input_line === '') {
document.addEventListener('keydown', (event) => {
if (chat.input_line === '') {
@@
-165,13
+177,16
@@
websocket.onmessage = function (event) {
game.things = {}
game.tick = parseInt(tokens[1]);
tui.draw_tick_line();
game.things = {}
game.tick = parseInt(tokens[1]);
tui.draw_tick_line();
+ tui.draw_map();
} else if (tokens[0] === 'THING_POS') {
game.things[tokens[1]] = parser.parse_position(tokens[2]);
tui.draw_map();
} else if (tokens[0] === 'LOG') {
tui.log_msg(' ' + tokens[1]);
} else if (tokens[0] === 'THING_POS') {
game.things[tokens[1]] = parser.parse_position(tokens[2]);
tui.draw_map();
} else if (tokens[0] === 'LOG') {
tui.log_msg(' ' + tokens[1]);
- } else if (tokens[0] === 'ARGUMENT_ERROR') {
- tui.log_msg('syntax error: ' + tokens[1]);
+ } else if (tokens[0] === 'UNHANDLED_INPUT') {
+ tui.log_msg('unknown command');
+ } else if (tokens[0] === 'GAME_ERROR') {
+ tui.log_msg('game error: ' + tokens[1]);
} else if (tokens[0] === 'GAME_ERROR') {
tui.log_msg('game error: ' + tokens[1]);
} else {
} else if (tokens[0] === 'GAME_ERROR') {
tui.log_msg('game error: ' + tokens[1]);
} else {