package bayesGame.world;
import bayesGame.levelcontrollers.ChoiceMenu;
import bayesGame.levelcontrollers.ChoiceMenuChoice;
import bayesGame.levelcontrollers.LectureScript;
public class Day {
private final int DEFAULT_LENGTH = 3;
private final int DEFAULT_CLASSES = 3;
private int length;
private int classes;
private int number;
private int timeofday;
public Day(int number, int timeofday){
length = DEFAULT_LENGTH;
classes = DEFAULT_CLASSES;
this.timeofday = timeofday;
this.number = number;
}
public void advanceTimeOfDay(){
timeofday++;
if (timeofday == length){
nextDay();
World.timeAdvanced(true);
} else {
World.timeAdvanced(false);
}
}
public int timeLeft(){
return (length - timeofday);
}
public int classesLeft(){
return Math.max(0, (classes - timeofday));
}
public ChoiceMenu getChoices(){
ChoiceMenu menu = new ChoiceMenu();
ChoiceMenuChoice lectureChoice = new ChoiceMenuChoice();
lectureChoice.setDescription("Go to lectures");
lectureChoice.setScript(new LectureScript());
if (this.classesLeft() <= 0){
lectureChoice.enabled = false;
}
menu.addChoice(lectureChoice);
ChoiceMenuChoice selfStudy = new ChoiceMenuChoice();
selfStudy.setDescription("Study in the library");
selfStudy.enabled = false;
menu.addChoice(selfStudy);
ChoiceMenuChoice hangOut = new ChoiceMenuChoice();
hangOut.setDescription("Hang out with friends");
hangOut.enabled = false;
menu.addChoice(hangOut);
return menu;
}
public void nextDay(){
number++;
timeofday = 0;
}
public int date() {
return number;
}
public boolean justStarted() {
if (timeofday == 0){
return true;
}
return false;
}
}