xxxxxxxxxx
94
let player, turtle, turtle2;
let diamonds = [];
function setup() {
new Canvas(500, 500);
let topWall = new Sprite(10,10,1590,20,'static')
topWall.color = "brown";
topWall.strokeWeight = 0;
let leftWall = new Sprite(10,20,20,1500,'static')
leftWall.color = "brown";
leftWall.strokeWeight = 0;
let rightWall = new Sprite(780,20,20,1500,'static')
rightWall.color = "brown";
rightWall.strokeWeight = 0;
let bottomWall = new Sprite(10,780,1590,20,'static')
bottomWall.color = "brown";
bottomWall.strokeWeight = 0;
player = new Sprite(50,50,25,25, 'dynamic');
player.color= 'yellow';
//square enemy
turtle = new Turtle(30);
turtle.x = 400;
turtle.y = 200;
turtle.color = 'red';
squareSequence();
//random enemy
turtle2 = new Turtle(30);
turtle2.x = random(100,700);
turtle2.y = random(100,700);
turtle2.color = 'red';
randomSequence();
//make diamonds
for (let i = 0; i<7;i++)
{
let d1 = new Sprite(random(100,700),random(100,700),25,25, 'static');
d1.image = '💎';
diamonds.push(d1);
}
}
function draw() {
clear();
background('green');
//collecting diamonds
for (let diamond of diamonds) {
if (player.overlaps(diamond)) diamond.remove();
}
//collide with emenies
if (player.overlaps(turtle) || player.overlaps(turtle2))
{
player.x = 50;
player.y = 50;
cameraCheck();
}
keyMovement();
cameraCheck();
}
function cameraCheck(){
const cameraSpeed = 0.1;
const targetX = constrain(player.x, 250, 540);
const targetY = constrain(player.y, 250, 540);
camera.x = lerp(camera.x, targetX, cameraSpeed);
camera.y = lerp(camera.y, targetY, cameraSpeed);
}
async function squareSequence() {
await turtle.move(300);
await turtle.rotate(90);
await delay(500);
squareSequence();
}
async function randomSequence() {
let x = random(50, width-50);
let y = random(50, height-50);
await turtle2.rotateTo(x, y, 5);
await turtle2.moveTo(x, y, 3);
randomSequence();
}
function keyMovement(){
if (kb.pressing('left')) player.vel.x = -5;
else if (kb.pressing('right')) player.vel.x = 5;
else player.vel.x = 0;
if (kb.pressing('up')) player.vel.y = -5;
else if (kb.pressing('down')) player.vel.y = 5;
else player.vel.y = 0;
}