/* Game Creator JavaScript Reserved Variables: window.game [ "vars" [ "window" [ "x" "y" ] "keyhandler" "rendered" = true || false ] "chars" [ 0 [ "x" "y" "lSprite" "uSprite" "rSprite" "dSprite" ] ] "map" [ x [ y [ "type" ( 0 = null 1 = wall 2 = char 2.1 = main char 3 = item ) "bg" "img" "do" ] ] ] "items" [ n [ ] ] ] */ /* Default Array */ window.game = new Array; window.game["vars"] = new Array; window.game["vars"]["window"] = new Array; window.game["vars"]["window"]["x"] = 10; window.game["vars"]["window"]["y"] = 10; window.game["vars"]["keyhandler"] = function(char) { return window.game_moveHandle(char); } window.game["chars"] = new Array; window.game["chars"][0] = new Array; window.game["chars"][0]["x"] = 2; window.game["chars"][0]["y"] = 2; window.game["map"] = new Array; // Generate the Map Array for (var a = 1;a <= window.game["vars"]["window"]["x"];a++) { window.game["map"][a] = new Array; for(var b = 1;b <= window.game["vars"]["window"]["y"];b++) { window.game["map"][a][b] = new Array; window.game["map"][a][b]["type"] = 0; } } document.onkeydown = function(e) { return window.game_keyHandle(e); } // Make the document Run the Key Handler /* keyHandle(e) * * @var event * @return window.game["vars"]["keyhandler"](int keyCode) */ function window.game_keyHandle(e) { var evt = e || window.event; return window.game["vars"]["keyhandler"](evt.keyCode); } /* moveHandle(int) * * @var int charCode */ function window.game_moveHandle(char) { if (char == 37 || char == 52 || char == 65) { /* Left */ return "l"; } if (char == 38 || char == 56 || char == 87) { /* Up */ return "u"; } if (char == 39 || char == 54 || char == 68) { /* Right */ return "r"; } if (char == 40 || char == 50 || char == 83) { /* Down */ return "d"; } else { return char; } } /* setWindow(x,y) * * @var int Length of the X Axis * @var int Length of the Y Axis */ function window.game_setWindow(x,y) { window.game["vars"]["window"]["x"] = x; window.game["vars"]["window"]["y"] = y; return true; } /* makeYWall(y,xs,xe,bgImg) * * @var int Y Axis * @var int X Axis Start * @var int X Axis End * @var str Background Image */ function window.game_makeYWall(y,xs,xe,bgImg) { for (var a = xs;a <= xe;a++) { if (bgImg) { window.game["map"][a][y]["bg"] = bgImg; } window.game["map"][a][y]["type"] = 1; // window.game_displaySquare(a,y); window.game_renderMap(); } return true; } /* makeXWall(x,ys,ye,bgImg) * * @var int [r] X Axis * @var int [r] Y Axis Start * @var int [r] Y Axis End * @var str [o] Background Image */ function window.game_makeXWall(x,ys,ye,bgImg) { for(var a = ys;a <= ye;a++) { if (bgImg) { window.game["map"][x][a]["bg"] = bgImg; } window.game["map"][x][a]["type"] = 1; // window.game_displaySquare(x,a); window.game_renderMap(); } return true; } /* makeBorderWall(bgImg) * * @var str [o] Background Image */ function window.game_makeBorderWall(bgImg) { if (!bgImg) { var bgImg = null; } window.game_makeXWall( 1,1,window.game["vars"]["window"]["y"],bgImg); window.game_makeXWall(20,1,window.game["vars"]["window"]["y"],bgImg); window.game_makeYWall( 1,1,window.game["vars"]["window"]["x"],bgImg); window.game_makeYWall(20,1,window.game["vars"]["window"]["x"],bgImg); return true; } /* * makeItem(x,y,toDo,img) * * @var int [r] X Coordinate * @var int [r] Y Coordinate * @var func [o] Function To Do(int x, int y) * @var str [o] Item Image */ function window.game_makeItem(x,y,toDo,img) { window.game["map"][x][y]["type"] = 3; if (img) { window.game["map"][x][y]["image"] = img; } if (toDo) { window.game["map"][x][y]["do"] = toDo; } window.game_renderMap(); return true; } /* * makeMap(id) * * @var str [r] ID in which to place the Created Map. */ function window.game_makeMap(id) { var html = ''; var ele = document.getElementById(id); // alert(ele); html = ""; for(var b = 1;b <= window.game["vars"]["window"]["y"];b++) { html = html + ""; for(var a = 1;a <= window.game["vars"]["window"]["x"];a++) { html = html + ""; } html = html + ""; } html = html + "
"; ele.innerHTML = html; return true; } /* * renderMap() */ function window.game_renderMap() { for (var a = 1;a <= window.game["vars"]["window"]["x"];a++) { if (!window.game["map"][a]) { window.game["map"][a] = new Array; } for (var b = 1;b <= window.game["vars"]["window"]["y"];b++) { if (!window.game["map"][a][b]) { window.game["map"][a][b] = new Array; } if (window.game["map"][a][b]["bg"]) { if (document.getElementById(a + 'x' + b)) { document.getElementById(a + 'x' + b).style.backgroundImage = "url('" + window.game["map"][a][b]["bg"] + "')"; } } } } return true; } /* * editChar(id,lSprite,uSprite,rSprite,dSprite) * * @var int [r] Character ID * @var str [o] Left Sprite * @var str [o] Up Sprite * @var str [o] Right Sprite * @var str [o] Down Sprite */ function window.game_editChar(id,lSprite,uSprite,rSprite,dSprite) { if (lSprite) { window.game["chars"][id]["lSprite"] = lSprite; var timg = new Image; timg.src = lSprite; window.game["chars"][id]["lSprite_img"] = timg.src; } if (uSprite) { window.game["chars"][id]["uSprite"] = uSprite; var timg = new Image; timg.src = uSprite; window.game["chars"][id]["uSprite_img"] = timg.src; } if (rSprite) { window.game["chars"][id]["rSprite"] = rSprite; var timg = new Image; timg.src = rSprite; window.game["chars"][id]["rSprite_img"] = timg.src; } if (dSprite) { window.game["chars"][id]["dSprite"] = dSprite; var timg = new Image; timg.src = dSprite; window.game["chars"][id]["dSprite_img"] = timg.src; } } /* * renderChar(id,dir) * * @var int [o] Character ID * @var str [o] One Character Direction (for sprite) */ function window.game_renderChar(id,dir) { if (!id) { var id = 0; } if (!window.game["chars"][id]) { return false; } if (!document.getElementById(window.game["chars"][id]["x"] + 'x' + window.game["chars"][id]["y"] + "img")) { return false; } if (!dir) { var dir = "r"; } document.getElementById(window.game["chars"][id]["x"] + 'x' + window.game["chars"][id]["y"] + "img").src = window.game["chars"][id][dir + "Sprite_img"]; document.getElementById(window.game["chars"][id]["x"] + 'x' + window.game["chars"][id]["y"] + "img").style.display = 'inline'; return true; } /* * moveChar(id,dir,spaces) * * @var int [r] Character ID * @var str [r] One Character Direction * @var int [o] Number of Spaces * @return bool */ function window.game_moveChar(id,dir,spaces) { if (!id) { var id = 0; } if (!spaces) { var spaces = 1; } var cx,cy,nx,ny; cx = window.game["chars"][id]["x"]; cy = window.game["chars"][id]["y"]; document.getElementById(cx + 'x' + cy + 'img').src = window.game["chars"][id][dir + "Sprite_img"]; if (dir == "l") { nx = cx - 1;ny = cy; } if (dir == "u") { ny = cy - 1;nx = cx; } if (dir == "r") { nx = cx + 1;ny = cy; } if (dir == "d") { ny = cy + 1;nx = cx; } if (nx > window.game["vars"]["window"]["x"] || nx < 1 || ny > window.game["vars"]["window"]["y"] || ny < 1) { return false; } } // Silver rules!