Update game to use the correct Java version and directory
Updated the project configuration to use Java 21 and run the game from the correct directory, resolving previous Java version conflicts and ensuring proper execution. Replit-Commit-Author: Agent Replit-Commit-Session-Id: f6819c21-e85d-45ac-acde-604db2cfa4fe Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Event-Id: ed832e25-fc86-4753-8cfc-80cfabc64a02 Replit-Helium-Checkpoint-Created: true
This commit is contained in:
53
American-Identity-Project/Enemy.java
Normal file
53
American-Identity-Project/Enemy.java
Normal file
@@ -0,0 +1,53 @@
|
||||
import java.util.*;
|
||||
import javax.swing.ImageIcon;
|
||||
|
||||
public class Enemy extends Collidable {
|
||||
int xVelo, yVelo;
|
||||
boolean alive;
|
||||
|
||||
public Enemy(int x, int y, int w, int h, int level) {
|
||||
super(x, y, w, h, new ImageIcon("Sprites/Enemies/" + level + ".png"));
|
||||
xVelo = 2;
|
||||
yVelo = 0;
|
||||
alive = true;
|
||||
}
|
||||
|
||||
public void moveX(int moveX) {
|
||||
this.x += moveX;
|
||||
this.rect.x = this.x;
|
||||
}
|
||||
|
||||
public void moveY(int moveY) {
|
||||
this.y += moveY;
|
||||
this.rect.y = this.y;
|
||||
}
|
||||
|
||||
public void patrol(ArrayList<Collidable> collidables) {
|
||||
moveX(xVelo);
|
||||
|
||||
for (Collidable c : collidables) {
|
||||
if (this.collidesWith(c)) {
|
||||
xVelo = -xVelo;
|
||||
moveX(xVelo * 2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// check edge detection - is there ground below next step?
|
||||
boolean edgeAhead = true;
|
||||
int nextX = this.x + xVelo;
|
||||
for (Collidable c : collidables) {
|
||||
if (c instanceof Tile) {
|
||||
Tile t = (Tile) c;
|
||||
// check if tile is below enemy's next position
|
||||
if (nextX + this.width > t.x && nextX < t.x + t.width && t.y == this.y + this.height) {
|
||||
edgeAhead = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (edgeAhead) {
|
||||
xVelo = -xVelo;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user