/* inspired Chase game with screen wrapping:
Dw Armah, use arrow keys to move around , Figure out smart your enemy and get the
survive */
///Classes////////
Player p;
Enemy e;
/////////////////
boolean left, right, down, up;
/////////////////
void setup() {
size(800, 600);
e=new Enemy();//data type
p=new Player();//data type
}
void draw() {
background(170);
p.update();
p.display();
e.update();
e.display();
}
void keyPressed() {
if (keyCode==37) {//move left
left=true;
} else if (keyCode==39) {//move right
right=true;
} else if (keyCode==38) {//up
up = true;
} else if (keyCode==40) {//down
down=true;
}
}
void keyReleased() {
if (keyCode==37) {//stop moving left
left=false;
} else if (keyCode==39) {//stop moving right
right=false;
} else if (keyCode==38) {//jumping
up = false;
} else if (keyCode==40) {
down=false;
}
}//////////////////////
/////////////
///classes//
////////////
class Enemy {
//////////data
float enemyX;
float enemyY;
float enemySpeed;
Enemy() {//class defintion/////setup(intialize)
enemyX=384;
enemyY=300;
enemySpeed=1;
}
void update() {
/////////////the chase conditions//////////////////
if (enemyX < p.playerX) {// if left of player chase left
enemyX += enemySpeed*5;
}
if (enemyY<p.playerY) {//if above move down toward player
e.enemyY += enemySpeed*5;
}
if (enemyX>p.playerX) {// if to the right of player chase right
enemyX -= enemySpeed*5;
if (e.enemyY>p.playerX) {// if bellow player chase up
enemyY -= enemySpeed*5;
}
}// taunt
if (enemyX == p.playerX||enemyY==p.playerY) {// if left or above equalplayer
fill(255,0,0,50);
rect(0,0,800,600);//screen fill
fill(255);
text("Gotcha Now", width/2,height/2);
}
else if (enemyX==p.playerX||e.enemyY==p.playerX) {// if to the right or below =player
fill(255,0,0,50);
rect(0,0,800,600);//screen fill
fill(255);
text("Gotcha now", width/2,height/2);// screen fill
}
}
void display() { ////methods (aka your fuctions) go in here -->draw
fill(242, 4, 47);
noStroke();
rect(enemyX, enemyY, 70, 70);
/////////////the chase conditions//////////////////
}}
///////////////////////////////////////////////////////////////class Player {
//data
float playerX;
float playerY;
float playerSpeed;
Player() {//intialize
float playerX=400;
float playerY=500;
float playerSpeed=30;
}
void update() {
if (left) {
playerX+=playerSpeed-1*5;
}
if (right) {
playerX+=playerSpeed+1*5;
}
if (up) {
playerY+=-playerSpeed-1*5;
}
if (down) {
playerY+=-playerSpeed+1*5;
}
if (!left&&!right&&!up&&!down) {
playerSpeed=0;
}
if (playerX<0) {// screen wrap on X
playerX=width;
}
if (playerX > width) {
playerX=0;
}
if (playerY<0) {// screen wrap on Y
playerY=height;
}
if (playerY > height) {
playerY=0;
}
}
void display() {
fill(255);
noStroke();
rect(playerX, playerY, 30, 30);
}
}