|
1 | | -# java-project-61 |
| 1 | +# Игры разума (Mind Games) |
2 | 2 |
|
3 | | -## Hexlet tests and linter status: |
| 3 | +## Статус проекта |
4 | 4 | [](https://github.com/Mercer241/java-project-61/actions) |
| 5 | +[](https://sonarcloud.io/summary/new_code?id=Mercer241_java-project-61) |
| 6 | +[](https://sonarcloud.io/summary/new_code?id=Mercer241_java-project-61) |
| 7 | +[](https://sonarcloud.io/summary/new_code?id=Mercer241_java-project-61) |
| 8 | + |
| 9 | +## О проекте |
| 10 | + |
| 11 | +**«Игры разума»** — это набор консольных игр, разработанных в рамках первого проекта на Хекслете. Проект направлен на изучение основ Java, работы с Gradle, настройки CI/CD и написания чистого кода. |
| 12 | + |
| 13 | +Каждая игра предлагает пользователю ответить на три вопроса. За каждый правильный ответ начисляется балл. Три правильных ответа подряд считаются победой. Неправильный ответ завершает игру и предлагает попробовать снова. |
| 14 | + |
| 15 | +### Список игр |
| 16 | + |
| 17 | +| Номер | Игра | Описание | |
| 18 | +|-------|------|----------| |
| 19 | +| 1 | **Greet** | Приветствие и знакомство с игроком | |
| 20 | +| 2 | **Even** | Определение четного числа (ответ "yes"/"no") | |
| 21 | +| 3 | **Calc** | Решение арифметических выражений | |
| 22 | +| 4 | **GCD** | Поиск наибольшего общего делителя | |
| 23 | +| 5 | **Progression** | Поиск пропущенного числа в арифметической прогрессии | |
| 24 | +| 6 | **Prime** | Определение простого числа (ответ "yes"/"no") | |
| 25 | + |
| 26 | +## Технологии |
| 27 | + |
| 28 | +- Java 17 |
| 29 | +- Gradle 8.14 |
| 30 | +- Checkstyle |
| 31 | +- SonarQube / SonarCloud |
| 32 | +- GitHub Actions (CI/CD) |
| 33 | + |
| 34 | +## Установка и запуск |
| 35 | + |
| 36 | +### Требования |
| 37 | +- Java 17 или выше |
| 38 | +- Gradle (или использование Gradle Wrapper) |
| 39 | + |
| 40 | +### Сборка проекта |
| 41 | + |
| 42 | +1. Клонируйте репозиторий: |
| 43 | + ```bash |
| 44 | + git clone https://github.com/Mercer241/java-project-61.git |
| 45 | + |
| 46 | +2. Перейдите в директорию проекта: |
| 47 | + cd java-project-61/app |
| 48 | + |
| 49 | +3. Соберите проект: |
| 50 | + ./gradlew clean build |
| 51 | + |
| 52 | +## Запуск игр |
| 53 | + |
| 54 | +Способ 1: Запуск JAR-файла (рекомендуется для интерактивной игры) |
| 55 | +- java -jar build/libs/app.jar |
| 56 | + |
| 57 | +Способ 2: Запуск через Gradle (без возможности ввода с клавиатуры) |
| 58 | +- ./gradlew run |
| 59 | + |
| 60 | +## Как играть |
| 61 | + |
| 62 | +После запуска появится меню: |
| 63 | + |
| 64 | +Please enter the game number and press Enter. |
| 65 | + |
| 66 | +1 - Greet |
| 67 | + |
| 68 | +2 - Even |
| 69 | + |
| 70 | +3 - Calc |
| 71 | + |
| 72 | +4 - GCD |
| 73 | + |
| 74 | +5 - Progression |
| 75 | + |
| 76 | +6 - Prime |
| 77 | + |
| 78 | +0 - Exit |
| 79 | + |
| 80 | +Your choice: |
| 81 | + |
| 82 | +Введите номер игры и следуйте инструкциям на экране. |
| 83 | + |
| 84 | +## Пример игры |
| 85 | +### Игра «Калькулятор»: |
| 86 | + |
| 87 | +Welcome to the Brain Games! |
| 88 | + |
| 89 | +May I have your name? John |
| 90 | + |
| 91 | +Hello, John! |
| 92 | + |
| 93 | +What is the result of the expression? |
| 94 | + |
| 95 | +Question: 5 + 3 |
| 96 | + |
| 97 | +Your answer: 8 |
| 98 | + |
| 99 | +Correct! |
| 100 | + |
| 101 | +Question: 10 - 4 |
| 102 | + |
| 103 | +Your answer: 6 |
| 104 | + |
| 105 | +Correct! |
| 106 | + |
| 107 | +Question: 7 * 2 |
| 108 | + |
| 109 | +Your answer: 14 |
| 110 | + |
| 111 | +Correct! |
| 112 | + |
| 113 | +Congratulations, John! |
| 114 | + |
| 115 | +## Структура проекта |
| 116 | +app/ |
| 117 | + |
| 118 | +├── src/main/java/hexlet/code/ |
| 119 | + |
| 120 | +│ ├── games/ #Логика всех игр |
| 121 | + |
| 122 | +│ ├── App.java # Точка входа в приложение |
| 123 | + |
| 124 | +│ ├── Cli.java # Приветствие и ввод имени |
| 125 | + |
| 126 | +│ ├── Engine.java # Игровой движок (логика вопросов-ответов) |
| 127 | + |
| 128 | +│ └── Utils.java # Вспомогательные функции |
| 129 | + |
| 130 | +├── build.gradle.kts # Конфигурация Gradle |
| 131 | + |
| 132 | +└── README.md # Документация проекта |
| 133 | + |
| 134 | +## Разработка |
| 135 | +### Проверка стиля кода |
| 136 | +./gradlew checkstyleMain |
| 137 | + |
| 138 | +### Запуск тестов (если есть) |
| 139 | +./gradlew test |
| 140 | + |
| 141 | +### Анализ кода через SonarQube |
| 142 | +./gradlew sonar |
0 commit comments