Учусь в немецком ВУЗе, и условия полностью на немецком. Прилагаю примерный перевод: Правила кода: Не писать слишком длинные строки, методы, и файлы. Программный код должен быть на английском языке. Оставлять достаточно коментариев, не слишком много и не слишком мало. Выбирайте подходящие области видимости вашим классам и методам. Не используйте Java библиотеки кроме java.lang,
java.io, java.util. Разрешено использовать дополнительные библиотеки только если об этом написано в задании. Обращайте внимание на правила Whitespace. Обращайте внимание на правила Javadoc документации. Не используйте default package.(должен называтся edu.kit.informatik) Придерживайтесь правил Checkstyle(файл checkstyle во вложении) Во вложении будет класс Terminal. Его нужно разместить в одном пакете вместе с самой программой. Метод Terminal.readLine() считывает ввод пользователя из консоли и заменяет этим
System.in. Метод Terminal.printLine() выводит на консоль данные и заменяет System.out. Для каждого ввода и вывода нужно использовать эти методы. Ни в коем случае не использовать
System.in и System.out. Сообщения об ошибках выводятся исключительно с помощью класса Terminal и должны по техническим причинам начинатся со слова Error. Т.е ("Error, и сама ошибка"). Ваша программа должна реагировать на неправильный ввод содержательными сообщениями об ошибках. По техническим причинам сообщения должны начинатся со слова Error. Сообщение об ошибке не приводит к завершению программы. Обращайте внимание на то, что RUntimeExceptions и их сабклассы так называемые Unchecked Exceptions не привели к остановке программы.
Само задание: Усложненная версия игры камень ножницы бумага. В этом варианте добавлены новые символы: ящерица и Спок(из Стар Трек). Кто кого побеждает указано на картинке(вложение) Имплементируйте игру Rock,Paper,Scissors,Lizard,Spock как указано ниже. В нашем игровом варианте всегда играется 3 раунда. Юзер играет против компьютера.
Фаза инициализации Напишите программу, которая используя первый аргумент командной строки, находит файл и использует содержимое файла. В каждой строке файла находятся 3 символа которые будет показывать компьютер. Строк всего 5. Второй аргумент n командной строки это количество попыток которые будут сыграны(n=1 или 3 или 5). Например: java Game "Файл" "3" тогда программа находит файл и использует лишь 3 строки из 5 для инициализации. В самом файле у нас 5 строк, символы разделены запятой например:
lizard,rock,paper
scissors,scissors,spock
rock,spock,scissors
lizard,paper,spock
spock,scissors,lizard
Фаза игры После всех настроек, программа выводит команду "RPSSL X" ожидая ввод одного из пяти символов. X это номер хода от 1 до 3. Ввод символов должен быть на английском и маленькими буквами. После ввода символа, выводятся три числа через запятую: первое это количество выигрышей. второе количество поражений, третье это в какой по счету попытке находится игрок(описано в инициализации) После последнего раунда любой попытки, выводится win если игрок победил, lose если игрок проиграл или draw если ничья. После заключительного раунда должны также выводится общие результаты. Если за все попытки количество очков игрока больше то будет выведено win, если меньше lose, если равно то draw. Продолжу пример из инициализации, количество попыток 3:
//(Сравниваем с первой строкой файла)
RPSSL 1 scissors 1,0,1
RPSSL 2 paper 2,0,1
RPSSL 3 rock 2,1,1
win
// (Сравниваем со второй строкой файла)
RPSSL 1 rock 1,0,2
RPSSL 2 paper 1,1,2
RPSSL 3 rock 1,2,2
lose
// (Сравниваем с третьей строкой файла)
RPSSL 1 paper 1,0,3
RPSSL 2 lizard 2,0,3
RPSSL 3 rock 3,0,3
win
win // Общая победа
При неверном вводе будет выведено сообщение об ошибке начинающееся с ("Error, ...). После него снова выводится команда RPSSL X ожидающая ввод. С помощью команды quit выполняется выход из прогаммы.