Правила игры

Доделайте дома и принесите результат на урок в понедельник.

Задание

Все задания выполняются в трех файлах (трех классах):

1) Класс Player в котором есть поля и методы свойственые каждому игроку (каждому конкретному объекту Player).

2) Класс GuessGame в котором есть информация обо всех игроках, о правильном ответе, о том какой раунд игры идет и о том как провести очередной раунд.

3) Класс GameTesting в котором есть только метод public static void main(String[] args) внутри которого вы будете и тестировать все то что реализуете помере выполнения задания.

Задание 1. Создайте описание класса игрок

Создайте класс Player описывающий участника игры.

Игрок знает (т.е. у него есть соответствующие поля):

  • Свое имя
  • Максимальное число которое он знает (в этом воображаемом мире у всех очень разная школьная программа)
  • Свою последнюю догадку (каждый раз когда игрок делает новую попытку угадать - он запоминает это число как последнюю догадку)

Игрок умеет:

  • Представляться назвав свое имя (напечатав его и короткое приветствие в консоль) - метод sayYourName.
  • Сделать новую догадку о загаданном числе - метод guessANumber (с учетом того какое самое большое число знает игрок).

Задание 2. Создайте описание класса контролирующего процесс игры

Создайте класс GuessGame описывающего проводимую игру.

Игра знает:

  • Три игрока - три поля типа Player
  • Правильный ответ - поле типа int
  • Сколько раундов уже идет угадайка
  • Не завершилась ли игра

Игра умеет:

  • Подготовить все для начала игры (создать трех случайных игроков, загадать число, и указать что число проведенных раундов равно нулю) - метод initGame.
  • Провести очередной раунд (попросить каждого игрока сделать догадку о загаданном числе, обновить счетчик проведенных раундов, проверить не угадал ли кто-нибудь, и все эти действия сопроводить яркими оповещениями в консоль) - метод ```nextRound`.
  • Отвечать на запрос “не завершилась ли уже игра?” - метод isFinished возвращающий boolean тип, т.е. true или false.