· 6 years ago · Mar 04, 2019, 10:22 PM
1
2 private void setUpGame() {
3 //Ñоздадим неÑколько "Ñайтов" и приÑвоим им адреÑа.
4 DotCom one = new DotCom();
5 one.setName("Pets.com");
6 DotCom two = new DotCom();
7 two.setName("eToys.com");
8 DotCom three = new DotCom();
9 three.setName("Go2.com");
10 dotComList.add(one);
11 dotComList.add(two);
12 dotComList.add(three);
13 // Создаем три обьекта ДотКом, даем им имена и помещаем в ÐррайЛиÑÑ‚
14
15 System.out.println("Ваша цель - потопить три 'Ñайта'.");
16 System.out.println("Mail.ru, Yandex.ru, Google.com");
17 System.out.println("ПопытайтеÑÑŒ потопить их за минимальное количеÑтво ходов");
18 //Выводим краткие инÑтрукции Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ
19
20 for (DotComToSet dotComToSet : dotComList) { //повторÑем Ñ ÐºÐ°Ð¶Ð´Ñ‹Ð¼ объектом ДотКом в ÑпиÑке
21 ArrayList<String> newLocation = helper.placeDotCom(3); //запрашиваем у вÑпомогательного объекта адреÑÑ "Ñайта"
22 dotComToSet.setLocationCells(newLocation); //вызываем Ñеттер из объекта ДотКом что бы передать ему меÑтоположение, которое только что получили от вÑпомогательного объекта
23 } // конец цикла Фор
24 } //конец метода СетÐпГейм
25
26 private void startPlaying() {
27 while (!dotComList.isEmpty()) { //до тех пор, пока ÑпиÑок объектов ДотКом не Ñтанет пуÑтым
28 String userGuess = helper.getUserInput("Сделайте ход"); //Получаем пользовательÑкий ввод
29 checkUserGuess(userGuess); //вызываем наш метод ЧекЮÑерГуеÑÑ
30 } //конец while
31 finishGame(); //Вызываем наш метод finishGame
32 } // конец метода startPlaying method
33
34 private void chekUserGuess(String userGuess) {
35 numOfGuesses++;//Инкрементируем количеÑтво попыток которые Ñделал пользователь
36 String result = "Мимо";//Подразумеваем промах, пока не выÑÑнили обратного
37
38 for (DotCom dotComToTest : dotComsList) { //ПовторÑем Ñто Ð´Ð»Ñ Ð²Ñех объектов ДотКомв ÑпиÑке
39 result = dotComToTest.chekYourself(userGuess); // ПроÑим ДотКОм проверить ход пользователÑ, ищем попадание или потопление
40 if (result.equals("Попал")) {
41 break; //ВыбираемÑÑ Ð¸Ð· цикла раньше времени, нет ÑмыÑла проверÑть другие Ñайты
42 }
43 if (result.equals("Потопил")) {
44 dotComList.remove(dotComToTest); //Ему пришел конец, так что удалÑем его из ÑпиÑка Ñайтов и выходим из цикла.
45 break;
46 }
47 } // конец цикла ФОÐ
48 System.out.println(result); //Выводим Ð´Ð»Ñ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñ€ÐµÐ·ÑƒÐ»ÑŒÑ‚Ð°Ñ‚
49 } // конец метода
50
51 private void finishGame() {
52 System.out.println("Ð’Ñе Ñайты ушли ко дну! Ваши акции теперь ничего не ÑтоÑÑ‚.");
53 if (numOfGuesses <= 18) {
54 System.out.println("Ðто занÑло у Ð²Ð°Ñ Ð²Ñего " + numOfGuesses + "попыток.");
55 System.out.println("Ð’Ñ‹ уÑпели выбратьÑÑ Ð´Ð¾ того, как ваши Ð²Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ ÑƒÑ‚Ð¾Ð½ÑƒÐ»Ð¸.");
56 } else {
57 System.out.println("Ðто занÑло у Ð²Ð°Ñ Ð´Ð¾Ð²Ð¾Ð»ÑŒÐ½Ð¾ много времени. " + numOfGuesses + "попыток.");
58 System.out.println("Рыбы водÑÑ‚ хороводы вокруг ваших вложений.");
59 } //Выводим Ñообщение о том как пользователь прошел игру.
60 } // конец метода
61
62 public static void main(String[] args) {
63 DotComBust game = new DotComBust(); //Создаем игровой объект
64 game.setUpGame(); //Говорим игровому объекту подготовить игру
65 game.startPlaying(); //Говорим игровому объекту начать главный игровой цикл(продолжаем запрашивать пользовательÑкий ввод и проверÑть полученные данные
66 }
67}