- this.join = function() {
- do {
- var x = Math.floor(Math.random()*(this.columns));
- var y = Math.floor(Math.random()*(this.rows));
- } while (!this.rooms[x][y].state);
- this.rooms[x][y].join();
- return player = new player(x,y);
+ var commands = {
+ tell : function(msg) {
+ var parts = msg.match(/^(\w+)\s(.*)/);
+ if (!parts[1]) return;
+ var dest = parts[1];
+ msg = parts[2];
+ $.ajax({
+ url: endpoint,
+ data: { 'cmd' : 'tell', 'dest' : dest, 'msg' : msg },
+ success: function() {
+ self.writeToLog('You told ' + dest + ': ', 'tell', msg);
+ },
+ });
+ },
+ yell : function(msg) {
+ $.ajax({
+ url: endpoint,
+ data: { 'cmd' : 'yell', 'msg' : msg },
+ success: function() {
+ self.writeToLog('You yelled: ', 'yell', msg);
+ },
+ });
+ },
+ say : function(msg) {
+ $.ajax({
+ url: endpoint,
+ data: { 'cmd' : 'say', 'msg' : msg },
+ success: function() {
+ self.writeToLog('You said: ', 'say', msg);
+ },
+ });
+ },
+ move : function(direction) {
+ self.player.move(direction);
+ },
+ }
+ this.writeToLog = function(action, style, msg) {
+ $('#log').append(
+ $('<div>').addClass('logline').append(
+ $('<span>').addClass(style).text(action),
+ $('<span>').addClass('msg').text(msg)
+ )
+ );
+ $("#log").animate({ scrollTop: $('#log')[0].scrollHeight}, 1000);