89 lines
1.8 KiB
Java
89 lines
1.8 KiB
Java
import processing.core.PApplet;
|
|
|
|
import java.awt.Point;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
public class GameLoop {
|
|
int activePlayer = 0;
|
|
|
|
Tracker tracker;
|
|
|
|
GraphicsProgram graphics;
|
|
|
|
GameLogic gl;
|
|
|
|
Player player1;
|
|
Player player2;
|
|
|
|
public GameLoop(){
|
|
player1 = new Player(0, "ip", 9000);
|
|
player2 = new Player(1, "ip", 9000);
|
|
tracker = new Tracker();
|
|
graphics = new GraphicsProgram();
|
|
String[] args = {"GraphicsProgram"};
|
|
PApplet.runSketch(args, graphics);
|
|
gl = new GameLogic(1080,720);
|
|
run();
|
|
}
|
|
|
|
private void run(){
|
|
while(true){
|
|
communicate();
|
|
List<Point> positions = track();
|
|
if(checkP1(positions.get(0))){
|
|
break;
|
|
}
|
|
if(checkP2(positions.get(1))){
|
|
break;
|
|
}
|
|
addPositions(positions);
|
|
draw();
|
|
}
|
|
}
|
|
|
|
private void communicate() {
|
|
//offen für Auto Kommunikation
|
|
}
|
|
|
|
private boolean checkP1(Point point){
|
|
if(gl.checkPlayer(point, 0)){
|
|
return true;
|
|
}
|
|
else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
private boolean checkP2(Point point){
|
|
if(gl.checkPlayer(point, 0)){
|
|
return true;
|
|
}
|
|
else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
private void addPositions(List positions){
|
|
|
|
}
|
|
|
|
private List<Point> track(){
|
|
Point p1 = tracker.getP1();
|
|
Point p2 = tracker.getP2();
|
|
|
|
player1.setKoords(p1.x, p1.y);
|
|
player2.setKoords(p2.x, p2.y);
|
|
|
|
List<Point> output = new ArrayList<>();
|
|
output.set(0, p1);
|
|
output.add(p2);
|
|
return output;
|
|
}
|
|
|
|
private void draw(){
|
|
graphics.drawTrail(player1.getTrail(), 0);
|
|
graphics.drawTrail(player2.getTrail(), 1);
|
|
}
|
|
}
|