ZAMBIE GAM
by Kyle Bezio
HTML
<canvas id="myCanvas" width="800" height="550" style="border:1px solid #000000;"></canvas>
JavaScript
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
//The Variables
var tileSize = 32;
var key = 0;
var newX = 0;
var newY = 0;
var bullets = [];
var xRayAngles = [];
var angle = 0;
var i = 0;
var length = 0;
var height = 0;
var wallImage = "https://s29.postimg.org/eg2pzme4n/Wall.png";
//calculate as 160/Tan(1/2 of viewing angle in radians) ---- assume viewing angle of 60 degrees
var distanceToPlane = 400/Math.abs(Math.tan(30 * Math.PI / 180));// 277;
for( var x = 0; x < 800; x+=2 ){
var xAng = Math.atan( ( x - 400 ) / distanceToPlane );
xRayAngles.push( xAng );
}
var map = [
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
[1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1],
[1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1],
[1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1],
[1,0,0,0,1,0,0,0,1,1,1,1,1,1,0,0,0,1],
[1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1],
[1,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1],
[1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,1],
[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],
[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],
[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
];
//The Guy
var player = {
x : 80,
y : 80,
dir : 0,
rot : 1.5707963268,
speed : 0,
moveSpeed : 3,
rotSpeed : 4 * Math.PI / 180,
strafe : 0
}
function bullet() {
this.x = player.x;
this.y = player.y;
this.rot = player.rot;
}
//That One Function That Does Everthing
function gameCycle() {
move();
//drawMap();
//bulletUpdate();
render();
//drawPlayer();
/*
context.fillText("Speed:" + player.speed, 300, 80);
context.fillText("Direction:" + player.dir, 300, 120);
context.fillText("Rotation:" + player.rot, 300, 160);
context.fillText("X:" + player.x, 300, 200);
context.fillText("Y:" + player.y, 300, 240);
context.fillText("Strafe:" + player.strafe, 300, 280);
context.fillText("i:" + i, 300, 320);
context.fillText("Ray X:" + rayX, 300, 360);
context.fillText("Ray Y:" + rayY, 300, 400);
context.fillText("Height:" + height, 300, 440);
*/
}
//The...