/* Write by
* Ekkalak Leelasornchai 5830622421
* Burin Naowarat 5831034621
* Progmeth project
*/
package model;
import java.util.Random;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
public class TriangleStation extends Station{
public TriangleStation(double x, double y) {
super(x, y);
// TODO Auto-generated constructor stub
}
public void AddPassenger(){
Random R = new Random();
int r = R.nextInt(3);
Passenger p = null;
if(r%3 == 0)p = new SquarePassenger(getX() + 22 + getNumberOfPassengers()*12, this.y,1,Color.BLACK);
else if(r%3 == 1) p = new ArcPassenger(getX() + 22 + getNumberOfPassengers()*12, this.y,1,Color.BLACK);
else if(r%3 == 2) p = new CrossPassenger(getX() + 22 + getNumberOfPassengers()*12, this.y,1,Color.BLACK);
passengers.add(p);
}
public void draw(GraphicsContext gc) {
// TODO Auto-generated method stub
gc.setLineWidth(4.0);
gc.setStroke(Color.BLACK);
double[] X = new double[]{getX()+11.0,getX()+22,getX()};
double[] Y = new double[]{getY(),getY()+22,getY()+22};
gc.strokePolygon(X,Y,3);
}
@Override
public double getCenterX() {
// TODO Auto-generated method stub
return x + 11;
}
@Override
public double getCenterY() {
// TODO Auto-generated method stub
return y + 11;
}
@Override
public String getType() {
// TODO Auto-generated method stub
return "Triangle";
}
public synchronized void recievePeople(Passenger p) {
// TODO Auto-generated method stub
Passenger newP = null;
if(p.getType().compareTo("Square") == 0 ) newP = new SquarePassenger(getX() + 22 + getNumberOfPassengers()*12, this.y,1,Color.BLACK);
else if(p.getType().compareTo("Arc") == 0) newP = new ArcPassenger(getX() + 22 + getNumberOfPassengers()*12, this.y,1,Color.BLACK);
else if(p.getType().compareTo("Cross") == 0) newP = new CrossPassenger(getX() + 22 + getNumberOfPassengers()*12, this.y,1,Color.BLACK);
else if(p.getType().compareTo("Triangle") == 0 ) newP = new TrianglePassenger(getX() + 22 + getNumberOfPassengers()*12, this.y,1,Color.BLACK);
if(newP==null) System.out.println("recievePeople:null");
else System.out.println("recievePeople:mainull");
tempPassengers.add(newP);
}
public synchronized void updateRecievePeople(){
for(Passenger p : tempPassengers){
Passenger newP = null;
if(p.getType().compareTo("Square") == 0 ) newP = new SquarePassenger(getX() + 22 + getNumberOfPassengers()*12, this.y,1,Color.BLACK);
else if(p.getType().compareTo("Arc") == 0) newP = new ArcPassenger(getX() + 22 + getNumberOfPassengers()*12, this.y,1,Color.BLACK);
else if(p.getType().compareTo("Cross") == 0) newP = new CrossPassenger(getX() + 22 + getNumberOfPassengers()*12, this.y,1,Color.BLACK);
else if(p.getType().compareTo("Triangle") == 0 ) newP = new TrianglePassenger(getX() + 22 + getNumberOfPassengers()*12, this.y,1,Color.BLACK);
passengers.add(newP);
}
tempPassengers.clear();
}
}