$(document).ready(function(){
- var canvas = $('#world')[0];
+ var canvas = $('#universe')[0];
var c = canvas.getContext('2d');
+ var endpoint = '/mud/mud.php';
function player(x, y) {
this.x = x;
var rooms = mud.rooms;
switch (direction) {
case 'left':
+ case 'west':
if (rooms[this.x-1] && rooms[this.x-1][this.y]
&& !rooms[this.x-1][this.y].state) {
rooms[this.x][this.y].clear();
}
break;
case 'up':
+ case 'north':
if (rooms[this.x][this.y-1]
&& !rooms[this.x][this.y-1].state) {
rooms[this.x][this.y].clear();
}
break;
case 'right':
+ case 'east':
if (rooms[this.x+1] && rooms[this.x+1][this.y+1]
&& !rooms[this.x+1][this.y].state) {
rooms[this.x][this.y].clear();
}
break;
case 'down':
+ case 'south':
if (rooms[this.x][this.y+1]
&& !rooms[this.x][this.y+1].state) {
rooms[this.x][this.y].clear();
this.state = 1;
}
this.clear = function() {
- console.log('clearing');
c.fillStyle = "rgb(255,255,255)";
c.fillRect(this.x, this.y, this.h, this.l);
this.state = 0;
}
function universe() {
+
this.rooms = [];
this.rows = 30;
for (var ii = 0; ii < this.columns; ii++) {
column.push(new room(x, y, this.roomWidth, this.roomHeight));
y += this.roomWidth;
- Math.random() > .5 ? column[ii].clear() : column[ii].fill();
+ Math.random() > .2 ? column[ii].clear() : column[ii].fill();
}
this.rooms.push(column);
}
}
e.preventDefault();
});
+
+ var commands = {
+ tell : function(msg) {
+ var parts = msg.match(/^(\w+)\s(.*)/);
+ var dest = parts[1];
+ msg = parts[2];
+ $.ajax({
+ url: endpoint,
+ data: { 'cmd' : 'tell', 'dest' : dest, 'msg' : msg },
+ success: function() {
+ writeToLog('You told ' + dest + ': ', 'tell', msg);
+ },
+ });
+ },
+ yell : function(msg) {
+ console.log('yell!');
+ $.ajax({
+ url: endpoint,
+ data: { 'cmd' : 'yell', 'msg' : msg },
+ success: function() {
+ writeToLog('You yelled: ', 'yell', msg);
+ },
+ });
+ },
+ move : function(direction) {
+ player.move(direction);
+ },
+ }
+ function writeToLog(action, style, msg) {
+ $('#log').append(
+ $('<div>').addClass('logline').append(
+ $('<span>').addClass(style).text(action),
+ $('<span>').addClass('msg').text(msg)
+ )
+ )
+ }
+ $('#submit').click(function() {
+ var text = $('#chat').val();
+ var parts = text.match(/^(\w+)\s(.*)/);
+ var cmd = parts[1];
+ text = parts[2];
+ if (commands[cmd] != undefined) {
+ commands[cmd](text);
+ $('#chat').val('');
+ }
+ });
+ $('#chat').keypress(function(e) {
+ if (e.which == '13') {
+ $('#submit').click();
+ }
+ });
+
}
var mud = new universe;