}
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);
}
},
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);
+ },
+ log_msg: function(msg) {
+ chat.history.unshift(msg);
+ if (chat.history.length > terminal.rows - 2) {
+ chat.history.pop();
+ };
+ this.draw_history();
}
}
}
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.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 === '') {
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] === '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 {