/
wemsmut
/
polk
Обзор
Документация
Войти
/
wemsmut
/
polk
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/Main.java
126 строк
5 KB
it-cube
first_commit
05 ноя 2025, 18:53
05 ноя 2025, 18:53
ff137e3
Код
Авторство
О чём код?
import java.util.Random; import java.util.Scanner; public class Main { public static void main(String[] args) { String castle = "\uD83C\uDFF0"; // замок int sizeBoard = 5; // размер поля Person person = new Person(sizeBoard); int step = 0; // изн положение String[][] board = new String[sizeBoard][sizeBoard]; for (int y = 0; y < sizeBoard; y++) { for (int x = 0; x < sizeBoard; x++) { board[y][x] = " "; } } int countMonster = sizeBoard * sizeBoard - sizeBoard - 5; Random r = new Random(); // рандом Monster[] arrMonster = new Monster[countMonster + 1]; int count = 0; Monster test; while (count <= countMonster){ if (r.nextBoolean()) { test = new Monster(sizeBoard); }else { test = new BigMonster(sizeBoard); } if (board[test.getY()][test.getX()].equals(" ")){ board[test.getY()][test.getX()] = test.getImage(); arrMonster[count] = test; count++; } } int castleX = r.nextInt(sizeBoard); int castleY = 0; board[castleY][castleX] = castle; System.out.println("Привет! Ты готов начать играть в игру? (Напиши: ДА или НЕТ)"); // начало Scanner sc = new Scanner(System.in); String answer = sc.nextLine(); System.out.println("Ваш ответ:\t" + answer); switch (answer) { // типо цикла case "ДА" -> { System.out.println("Выбери сложность игры(от 1 до 5):"); // сложность int difficultGame = sc.nextInt(); System.out.println("Выбранная сложность:\t" + difficultGame); while (true) { board[person.getY() - 1][person.getX() - 1] = person.getImage(); outputBoard(board, person.getLive()); System.out.println("Введите куда будет ходить персонаж(ход возможен только по вертикали и горизонтали на одну клетку;" + "\nКоординаты персонажа - (x: " + person.getX() + ", y: " + person.getY() + "))"); // шаги int x = sc.nextInt(); int y = sc.nextInt(); // проверка if (person.moveCorrect(x, y)) { String next = board[y - 1][x - 1]; if (next.equals(" ")) { board[person.getY() - 1][person.getX() - 1] = " "; person.move(x, y); step++; System.out.println("Ход корректный; Новые координаты: " + person.getX() + ", " + person.getY() + "\nХод номер: " + step); } else if (next.equals(castle)) { System.out.println("Вы прошли игру!"); // хороший исход событий break; }else { for (Monster monster : arrMonster) { if (monster.conflictPerson(x, y)) { if (monster.taskMonster(difficultGame)) { board[person.getY() - 1][person.getX() - 1] = " "; person.move(x, y); } else { person.downLive(); } break; } } } } else { System.out.println("Неккоректный ход"); } } } case "НЕТ" -> System.out.println("Жаль, приходи еще!"); // если не хотим играть default -> System.out.println("Данные введены неккоректно"); // писали } } static void outputBoard(String[][] board, int live) { String leftBlock = "| "; // стены String rightBlock = "|"; String wall = "+ —— + —— + —— + —— + —— +"; for (String[] raw : board) { System.out.println(wall); for (String col : raw) { System.out.print(leftBlock + col + " "); } System.out.println(rightBlock); } System.out.println(wall); System.out.println("Количество жизней:\t" + live + "\n"); // кол во хп } }