xxxxxxxxxx
121
var CanvasWidth = 640;
var CanvasHeight = 480;
var player = 0;
var playerx = 300;
var playery = 100;
var sprWidth = 64;
var sprHeight = 64;
var speed = 4;
var monster = 0;
var monsterx = 150;
var monstery = 300;
var Song = 0;
var state;
var count = 0;
function preload() {
playerImg = loadImage("cop nuts-2.png");
bgImg = loadImage("cops and donuts bg-1.png");
monsterImg = loadImage("robber (1).png");
projectileImg = loadImage("killer donuts.png");
titleBgImg = loadImage("Home Screen.png");
gameWinImg = loadImage("Game Win.png");
gameFailImg = loadImage("Game Fail.png");
//Song = loadSound("background music.mid", loaded);
}
function setup() {
state = 0;
createCanvas(CanvasWidth, CanvasHeight);
player = createSprite(playerx, playery, sprWidth, sprHeight);
player.addImage(playerImg);
monster = createSprite(monsterx, monstery, sprWidth, sprHeight);
monster.addImage(monsterImg, "images/monster.png");
monster.setSpeed(speed, 0);
setInterval(monsterMove, 1500);
enemy = new Group();
enemy.add(monster);
player.setCollider("rectangle", 0, 0, 20, 20);
monster.setCollider("rectangle", 0, 0, 20, 20);
projectiles = new Group();
obstacles = new Group();
}
function collisions() {
enemy.overlap(projectiles, enemyHitProjectile);
player.overlap(obstacles, enemyHitProjectile);
player.collide(enemy);
}
function enemyHitProjectile(spriteA, spriteB) {
state = 2;
}
function playercontrols() {
if (keyIsDown(RIGHT_ARROW)) {
player.position.x += speed;
if (player.position.x > CanvasWidth - sprWidth / 2) {
player.position.x = CanvasWidth - sprWidth / 2;
}
} else if (keyIsDown(LEFT_ARROW)) {
player.position.x -= speed;
if (player.position.x < 0 + sprWidth / 2) {
player.position.x = 0 + sprWidth / 2;
}
}
}
function mousePressed() {
if (state == 1){
var projectile = createSprite(player.position.x, player.position.y);
projectile.addImage(projectileImg);
projectile.setSpeed(3.0, 90);
projectile.setCollider("rectangle", 0, 0, 20, 20);
projectiles.add(projectile);
}
}
function monsterMove() {
count++;
if (count % 2 == 0) {
monster.setSpeed(speed, 0);
} else {
monster.setSpeed(speed, 180);
}
spawnMonster(Math.random() * CanvasWidth, CanvasHeight + 300, speed - 3, 270);
}
function loaded() {
song.play();
song.loop();
}
function spawnMonster(x, y, enemy_speed, enemy_direction) {
var newEnemy = createSprite(x, y);
var attackImg = loadImage("fire hydrent.png");
newEnemy.addImage(attackImg);
newEnemy.setSpeed(enemy_speed * 2, enemy_direction);
newEnemy.setCollider("rectangle", 0, 0, 20, 20);
obstacles.add(newEnemy);
}
function draw() {
clear();
if (state == 0) {
background(titleBgImg);
} else if (state == 1) {
background(bgImg);
playercontrols();
collisions();
drawSprites();
} else if (state == 2) {
background(gameFailImg);
}
}
function keyPressed() {
if (keyCode === ENTER) {
state = 1;
}
}