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:
CoolGuy27
2026-04-20 18:57:28 +00:00
parent d27949385e
commit 3658610a9f
86 changed files with 1279 additions and 0 deletions

View 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;
}
}
}