На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

Игра в слова C# WPF

Задание

Написать игру "Игра в слова", в которой необходимо за 6 попыток угадать загаданное слово. Дополнительно реализовать возможность изменения количества букв в слове и язык угадываемых слов. При написании игры использовать язык C# (.NET 6) с технологией WPF и паттерном MVVM. Архитектуру приложения построить по принципам ООП. Нестандартный дизайн игры реализован с применением пакета HandyControl.

Функционал программы

  • Возможность ввода букв через автогенерируемую клавиатуру на интерфейсе игры;
  • Ведение счёта успешности попыток и общего количества оставшихся слов;
  • Сброс игры в начальное состояние.

Особенности игры

  • Возможность смены количества букв в слове;
  • Возможность смены языка угадываемых слов;
  • Современный дизайн и грамотно написанный код с комментариями.

Фрагмент программного кода

Метод проверки введённого слова и сравнения с эталонным

// Проверить попытку и вернуть состояние каждой буквы
    private IReadOnlyList<LetterState> CheckGuess(string word)
    {
        var states = new List<LetterState>();

        // Проходимся по буквам введённого слова и угадываемого
        foreach (var (attemptCh, currentCh) in word.Zip(_currentWord))
        {
            // Если символ и позиция угаданы
            if (attemptCh == currentCh)
            {
                // Пометить как угаданный
                states.Add(new(attemptCh, LetterStatus.Guessed));
            }
            // Если символа вообще нет в слове
            else if (!_currentWord.Contains(attemptCh))
            {
                // Пометить как ошибочный
                states.Add(new(attemptCh, LetterStatus.Wrong));
            }
            // Если символ есть, но не на своей позиции
            else
            {
                // Помечаем как неотгаданные для последующей обработки
                states.Add(new(attemptCh, LetterStatus.NotGuessed));
            }
        }

        // Проходимся по оставшимся символам
        // Здесь будут только символы, которые стоят не на своих местах
        foreach (var state in states.Where(x => x.Status == LetterStatus.NotGuessed))
        {
            // Считаем количество символов, которые угаданы или есть в слове, но не на своей позиции
            var existingCount = states.Count(x => x.Ch == state.Ch 
                && (x.Status == LetterStatus.Guessed || x.Status == LetterStatus.Nearly));
            // Считаем общее количество проверяемой буквы в слове
            var totalCount = _currentWord.Count(x => x == state.Ch);

            // Пометить как "Рядом", если проверяемой буквы меньше чем её общее количество в слове
            state.Status = existingCount < totalCount ? LetterStatus.Nearly : LetterStatus.Wrong;
        }
        
        // Вернуть состояние каждой буквы
        return states;

        // Пример
        // Слово:             АКЦИЯ
        // Пользователь ввёл: АКАЦИ
        // 0 - Правильно
        // 1 - Правильно
        // 2 - Неправильно, так как больше букв А в слове нет
        // 3 - Правильно, но на другой позиции
        // 4 - Правильно, но на другой позиции
    }

Скриншот архива с проектом

Пояснения по запуску программы

Для запуска программы должны быть установлены следующие компоненты:

  • Visual Studio 2022;
  • .NET 6.

Всё это можно установить в установщике Visual Studio Installer при установке Visual Studio 2022. Далее просто запустить игру.

Структура проекта

Купить 2300,00 
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Купить

2300,00 

Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.

Заказать через

FiveLetters.rar
2174744
Оцени работу

рейтинг

Игра в слова C# WPF
Игра в слова вордл, в которой необходимо угадать слово из 5 и более букв. Поддерживается английский язык.
Категория: Образование
Стоимость: 2300,00