Skip to content
Snippets Groups Projects
Select Git revision
  • 9f23ffc75f5e4f1cf1a07be6ebb02deb70d4b9e4
  • master default protected
  • development
  • dev
4 results

MainWindow.java

Blame
  • 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);
            }
        }
    
    }