Use keys 1-4 in online game
authorJoachim Breitner <mail@joachim-breitner.de>
Mon, 30 Dec 2013 21:27:47 +0000 (22:27 +0100)
committerJoachim Breitner <mail@joachim-breitner.de>
Mon, 30 Dec 2013 21:27:47 +0000 (22:27 +0100)
client/sumserum.js

index bc3bff4..d7e015c 100644 (file)
@@ -115,6 +115,14 @@ function interact(input) {
        draw_game();
 }
 
+// Keyboard bindings
+function keys(side) {
+       // If side is the only local player, use 1-4 (the first set)
+       if (local[side] && ! local[other(side)]) return KEYS[PLAYER1]
+       // Otherwise, use both sets
+       return KEYS[side]
+}
+
 
 // Positioning functions
 function at_field(coords, action) {
@@ -296,7 +304,7 @@ function draw_message(msg) {
 
 function draw_key(side, i) {return function() {
        draw_stone(EMPTY)();
-       var txt = KEYS[side][i];
+       var txt = keys(side)[i];
        ctx.fillStyle = player_color(side);
        ctx.font = (0.8*STONE_SIZE) + 'px sans-serif';
        ctx.textAlign = 'center';
@@ -488,7 +496,7 @@ c.addEventListener('keypress', function(evt) {
        if (key) {
                var input;
                for (var side = PLAYER1; side <= PLAYER2; side++) {
-                       var i = KEYS[side].indexOf(key);
+                       var i = keys(side).indexOf(key);
                        if (i >= 0)
                                input = { what: 'sel', side: side, n: i + 1};
                }