По сути, я пытаюсь создать свою собственную игру в Крэпс с функцией «ставок», в которой вы можете играть и видеть, сколько денег вы выиграли или проиграли.Для этого я создал класс Craps, который позволяет игроку играть в крэпс один раз, и мой код зависит от пользовательского перечисления, которое я называю «Status» (private static enum Status) со значениями PASS_WON, PASS_LOST, DP_WON, DP_LOST, KEEP_ROLLING.
Часть, с которой я борюсь, является первым шагом в классе BetMoney.Я хочу начать с того, что если в конце игры в Крэпс статус «ВЫИГРАЛ», то деньги добавляются к уже имеющимся у вас, если статус «ПОТЕРЯЛ», деньги вычитаются и т. Д., И т. Д. Однако я не могу получить доступперечисление private Status, которое я объявил в классе Craps, в классе BetMoney, чтобы сделать это, если заявление.Я совершенно не уверен, как создать геттер для перечисления, подобного этому.Есть ли способ «получить» значения enum в моем классе BetMoney, чтобы я мог использовать их в операторе if?Что я хочу сделать, это что-то вроде (если newGame [craps object] .getGameStatus () == PASS_WON), приращение выигрывает.
У меня есть геттер для закрытой переменной "GameStatus", которая используется для циклачерез игру.Это служит текущим GameStatus и имеет тип Status из перечисления, которое у меня есть.Я просто не могу правильно использовать его в BetMoney.
Резюме:
Сейчас у меня есть 2 класса.Класс Craps (который используется для игры в отдельную игру в Craps), а затем BetMoney (который будет содержать трекер выигрышей / проигрышей) и трекер денег.
Статус в настоящее время является частным статическим перечислением в моем классе Craps, иЯ пытаюсь использовать его в BetMoney.
//This is where my Status Enum is declared, these are all in Craps Class
private static enum Status {
PASS_WON, PASS_LOST, KEEP_ROLLING, DP_WON, DP_LOST;
};
//Status variable for each single game
private static Status GameStatus;
//Getter for the single game status (there's also a setter)
public Status getGameStatus() {
return GameStatus;
}
//Throughout Craps, I have a lot of code similar to this, where
//getPoint gets the original "point" (first sum rolled) and for certain
//sums, you win or lose the game, and GameStatus is set for use later.
switch (CrapsGame.getPoint()) {
case 7:
case 11:
CrapsGame.setGameStatus(Status.PASS_WON);
}
//How I keep looping:
while(CrapsGame.getGameStatus().equals(Status.KEEP_ROLLING)) {
...logic to keep the game working...
}
//At the end, I return GameStatus.