Skip to content

About

🐸 Игра "Лягушки", написанная в процессе изучения технологии Windows Forms и работы с изображениями.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

🎮 FrogsGameWindowsFormsApp

🐸 Игра "Лягушки", написанная в процессе изучения технологии Windows Forms и работы с изображениями.

Снимок экрана 2025-04-26 180637

📃 Описание

⚖️ Правила игры

Цель игры — расположить лягушек, которые смотрят влево, в левую часть, а остальных - в правую часть за минимальное количество перепрыгиваний.

Прыгать можно на листок, если он находится рядом или через 1 лягушку

🎮 Геймплей

Пример геймплея игры:

bandicam.2025-04-26.22-32-20-730.mp4

🔧 Техническая часть

  • Проект реализован на платформе Windows Forms.

  • Для работы с изображениями используется компонент PictureBox.

🧩 Архитектура

Структура каталога решения:

Снимок экрана 2025-04-26 182120

🖼️ Работа с изображениями

Для обработки нажатия левой кнопкой мыши по изображению (кроме изображения пустой кувшинки) написан обработчик собыия PictureBox_Click, который внутри содержит метод Swap, реализующий "прыжок" лягушки, и метод CheckWinning, проверяющий, выполняется ли условие победы:

private void PictureBox_Click(object sender, EventArgs e)
{
    Swap((PictureBox)sender);
    CheckWinning();
}

private void Swap(PictureBox clickedPicture)
{
    var distance = Math.Abs(clickedPicture.Location.X - emptyPictureBox.Location.X) / emptyPictureBox.Size.Width;

    if (distance > 2)
    {
        MessageBox.Show("Невозможный ход!");
        return;
    }

    (emptyPictureBox.Location, clickedPicture.Location) = (clickedPicture.Location, emptyPictureBox.Location);
    countMoves++;
    countMovesLabel.Text = countMoves.ToString();
}

private void CheckWinning()
{
    if(Iswin())
    {
        if (countMoves == minimumMoves)
        {
            MessageBox.Show("Поздравляю! Вы выиграли!", "Конец Игры");
        }
        else
        {
            var result = MessageBox.Show("Вы справились не за оптимальное количество ходов. Хотите начать заново?", "Конец Игры", MessageBoxButtons.YesNo);
            if (result == DialogResult.Yes)
            { 
                Application.Restart();
            }
        }
    }
}

About

🐸 Игра "Лягушки", написанная в процессе изучения технологии Windows Forms и работы с изображениями.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages