import java.util.Random;
import java.util.Scanner;
public class WordGuessingGame {
private static final String[][] CATEGORIES = {
{"Животные", "кот", "собака", "слон", "тигр", "панда"},
{"Города", "москва", "париж", "лондон", "берлин", "токио"},
{"Фрукты", "яблоко", "банан", "апельсин", "груша", "киви"}
};
private static String selectedCategory;
private static String selectedWord;
private static StringBuilder currentGuess;
private static int score;
public static void main(String[] args) {
selectCategory();
selectWord();
playGame();
}
private static void selectCategory() {
Random random = new Random();
int categoryIndex = random.nextInt(CATEGORIES.length);
selectedCategory = CATEGORIES[categoryIndex][0];
System.out.println("Выбранная категория: " + selectedCategory);
}
private static void selectWord() {
Random random = new Random();
int categoryIndex = -1;
for (int i = 0; i < CATEGORIES.length; i++) {
if (CATEGORIES[i][0].equals(selectedCategory)) {
categoryIndex = i;
break;
}
}
int wordIndex = random.nextInt(CATEGORIES[categoryIndex].length - 1) + 1;
selectedWord = CATEGORIES[categoryIndex][wordIndex];
currentGuess = new StringBuilder("*".repeat(selectedWord.length()));
System.out.println("Загаданное слово: " + currentGuess);
}
private static void playGame() {
Scanner scanner = new Scanner(System.in);
boolean wordGuessed = false;
while (!wordGuessed) {
System.out.print("Введите букву: ");
char letter = scanner.nextLine().toLowerCase().charAt(0);
boolean found = false;
for (int i = 0; i < selectedWord.length(); i++) {
if (selectedWord.charAt(i) == letter) {
currentGuess.setCharAt(i, letter);
found = true;
score++;
}
}
if (found) {
System.out.println("Буква найдена! Текущее слово: " + currentGuess);
} else {
System.out.println("Такой буквы нет в слове. Попробуйте еще раз.");
}
if (currentGuess.toString().equals(selectedWord)) {
wordGuessed = true;
System.out.println("Поздравляем! Вы угадали слово: " + selectedWord);
System.out.println("Ваш счет: " + score);
}
}
scanner.close();
}
}
import java.util.Scanner;
public class WordGuessingGame {
private static final String[][] CATEGORIES = {
{"Животные", "кот", "собака", "слон", "тигр", "панда"},
{"Города", "москва", "париж", "лондон", "берлин", "токио"},
{"Фрукты", "яблоко", "банан", "апельсин", "груша", "киви"}
};
private static String selectedCategory;
private static String selectedWord;
private static StringBuilder currentGuess;
private static int score;
public static void main(String[] args) {
selectCategory();
selectWord();
playGame();
}
private static void selectCategory() {
Random random = new Random();
int categoryIndex = random.nextInt(CATEGORIES.length);
selectedCategory = CATEGORIES[categoryIndex][0];
System.out.println("Выбранная категория: " + selectedCategory);
}
private static void selectWord() {
Random random = new Random();
int wordIndex = random.nextInt(CATEGORIES[0].length - 1) + 1; // +1 чтобы не выбрать название категории
selectedWord = CATEGORIES[0][wordIndex];
currentGuess = new StringBuilder("*".repeat(selectedWord.length()));
System.out.println("Загаданное слово: " + currentGuess);
}
private static void playGame() {
Scanner scanner = new Scanner( System.in );
boolean wordGuessed = false;
while (!wordGuessed) {
System.out.print("Введите букву: ");
char letter = scanner.nextLine().toLowerCase().charAt(0);
boolean found = false;
for (int i = 0; i < selectedWord.length(); i++) {
if (selectedWord.charAt(i) == letter) {
currentGuess.setCharAt(i, letter);
found = true;
score++;
}
}
if (found) {
System.out.println("Текущий статус слова: " + currentGuess);
} else {
System.out.println("Нет такой буквы.");
}
if (currentGuess.toString().equals(selectedWord)) {
wordGuessed = true;
System.out.println("Игра окончена! Загаданное слово: " + selectedWord);
System.out.println("Ваши очки: " + score);
}
}
scanner.close();
}
}