Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Напишите программу реализующую игру "Анаграммы".

Мансур Тебеков Ученик (99), открыт 1 месяц назад
Приложение выводит млово, буквы, в котором перемещены. Игрок должен назвать исходное слово.
  1. База слов в игре - 50
  2. Тематика слов: биология - 10, информатика - 10, математика - 10, музыка - 10, история - 10
  3. Игрок выбирает категорию. Слова для вывода на экран из данной категории выбираются случайно.
  4. Если слов в данной категории не осталось, то предложить выбор другой категории
  5. Слова для игры выводит повторно нельзя
1 ответ
Михаил Бурцев Мастер (1971) 1 месяц назад
Для реализации игры «Анаграммы» нам потребуется создать базу данных слов, разделить их по категориям, перемешивать буквы в словах и проверять ответы игрока. Вот пример программы на Python:


import random

# База данных слов
words = {
'биология': ['клетка', 'организм', 'бактерия', 'эволюция', 'растение'],
'информатика': ['алгоритм', 'программа', 'компьютер', 'кодирование', 'операционная система'],
'математика': ['функция', 'уравнение', 'интеграл', 'производная', 'теорема'],
'музыка': ['нота', 'аккорд', 'гармония', 'инструмент', 'мелодия'],
'история': ['событие', 'война', 'революция', 'империя', 'цивилизация']
}

def shuffle_word(word):
"""Перемешивает буквы в слове"""
anagram = list(word)
random.shuffle(anagram)
return ''.join(anagram)

def play_game():
print("Добро пожаловать в игру \"Анаграммы\"!")

# Список категорий
categories = list(words.keys())

while True:
# Выбор категории
for i, category in enumerate(categories):
print(f"{i+1}. {category}")

choice = int(input("\nВыберите категорию (введите номер от 1 до 5): "))
if not 1 <= choice <= len(categories):
print("Неверный ввод! Попробуйте еще раз.")
continue

chosen_category = categories[choice - 1]
words_left = words[chosen_category].copy()

while words_left:
word = random.choice(words_left)
anagram = shuffle_word(word)

print(f"\nАнаграмма: {anagram}")
guess = input("Введите ваше предположение: ")

if guess == word:
print("Верно! Вы справились с этой анаграммой.")
words_left.remove(word)
else:
print(f"К сожалению, неверно. Правильный ответ был: {word}.")

print(f"Все слова в категории '{chosen_category}' разгаданы. Выберите другую категорию.")

if __name__ == "__main__":
play_game()


### Описание работы программы:

1. **База данных слов**: В начале программы создается словарь `words`, который содержит пять категорий со списком слов для каждой категории.

2. **Функции**:
- `shuffle_word`: Перемешивает буквы в слове и возвращает анаграмму.
- `play_game`: Основная функция, которая запускает игровой процесс.

3. **Игра**:
- Игрок выбирает одну из пяти предложенных категорий.
- Из выбранной категории случайным образом выбирается слово, которое затем перемешивается.
- Игрок пытается угадать исходное слово.
- Если игрок угадывает правильно, слово удаляется из списка оставшихся слов.
- Когда все слова в одной категории разгаданы, игроку предлагается выбрать другую категорию.

Этот код легко расширяемый: вы можете добавить больше слов в каждую категорию или даже новые категории.
Мансур ТебековУченик (99) 1 месяц назад
"#База данных " Это вводить в программу?
Михаил Бурцев Мастер (1971) Мансур Тебеков, Нет, фраза "#База данных" сама по себе не является командой для ввода в программу. Скорее всего, она используется как заголовок, метка или часть текста, чтобы обозначить тему или раздел, связанный с базами данных. Если у вас есть конкретный запрос о работе с базой данных, например, создание таблицы, выполнение SQL-запросов или что-то подобное, я могу помочь вам с этим!
Похожие вопросы