Select Git revision
MainWindow.java
-
Enes Herguel authoredEnes Herguel authored
MainWindow.java 1.38 KiB
package window;
import algorithm.ParallelPathfinder;
import parallel.MapLoader;
import parallel.SharedRessources;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
public class MainWindow extends Game {
public MainWindow(String title, int w, int h) {
super(title, w, h);
}
private ParallelPathfinder parallelPathfinder;
private ArrayList<Point> pts;
@Override
public void loadGame() {
SharedRessources.setMaximumCores(Integer.MAX_VALUE);
SharedRessources.getInstance().setEpsilon(0);
try {
MapLoader.getDefault().load(ImageIO.read(new File("c:/users/enesh/desktop/tests/maze2.png")));
} catch (IOException e) {
e.printStackTrace();
}
parallelPathfinder
= new ParallelPathfinder();
}
@Override
public void updateGame() {
if (isKeyDown(KeyEvent.VK_ENTER))
pts = parallelPathfinder.calculatePath(8, 5, 1590, 800);
}
@Override
public void renderGame(Graphics g) {
if (parallelPathfinder == null)
return;
parallelPathfinder.draw(g);
if (pts == null)
return;
g.setColor(Color.red);
for (var pt : pts) {
g.fillRect(pt.x * 1, pt.y * 1, 1, 1);
}
}
}