var userBullet;

function createUserBullet() {
	userBullet = {};
	userBullet.imageData = assets[1];
	userBullet.width = userBullet.imageData.width;
	userBullet.height = userBullet.imageData.height;
	userBullet.isMoving = false;
}
function triggerBullet() {
	if(!userBullet.isMoving) {
		userBullet.isMoving = true;
		userBullet.x = user.x + user.width*.5-userBullet.width*.5;
		userBullet.y = user.y;
		roundPosition(userBullet);
	}
}
function userBulletEnemyHittest(enemy) {
	if(enemy.y +enemiesY< userBullet.y && userBullet.y<enemy.y+enemy.height+enemiesY) {
		if(userBullet.x>enemy.x+enemiesX && userBullet.x < enemy.x+enemy.width+enemiesX) {
			if(enemy.dead == 0 && userBullet.isMoving ==true) {
				enemy.dead = 1;
				
				globalScore+=enemy.score;
				
				userBullet.isMoving = false;
				findEnemiesWhichHaveBullets();
			}
		}
	}
}
function userBulletHitTestBlocks() {
	for(b=0; b<blocks.length; b++) {
		if(blocks[b].y< userBullet.y && userBullet.y<blocks[b].y+blocks[b].height) {
			if(userBullet.x>blocks[b].x && userBullet.x < blocks[b].x+blocks[b].width) {
				if(blocks[b].dead==false && userBullet.isMoving) {
	
					userBullet.isMoving = false;
					damageBlock(blocks[b]);
				}
			}
		}
		if(blocks[b].dead == false) {
			context.drawImage(blocks[b].imageData,blocks[b].x,blocks[b].y,blocks[b].width,blocks[b].height);
		}
	}
}
function moveUserBullet() {
	if(!pause) {
		if(keys[32]) {
			triggerBullet();
		}
		if(userBullet.y+userBullet.height<0) {
			userBullet.isMoving = false;
		}
	}
	if(userBullet.isMoving) {
		if(!pause) {
			userBullet.y-=4;
		}
		context.drawImage(userBullet.imageData,userBullet.x,userBullet.y,userBullet.width,userBullet.height);
	}
}
