All pastes #946381 Raw Edit

Unnamed

public javascript v1 · immutable
·published 2008-03-17 17:44 UTC
rendered paste body
/*	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 = "<table>";		for(var b = 1;b <= window.game["vars"]["window"]["y"];b++)		{			html = html + "<tr>";			for(var a = 1;a <= window.game["vars"]["window"]["x"];a++)			{				html = html + "<td id=\"" + a + 'x' + b + "\" class=\"game_blank\"><img src=\"\" id=\"" + a + 'x' + b + "img\" style=\"display:none\" /></td>";			}			html = html + "</tr>";		}		html = html + "</table>";		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!