131.69K

345

1.

Проект на тему:
«Создание игры камень ножницы бумага в
графическом дизайне»
Студент: Панченко Михаил Алексеевич
Группа ИС-12к
1

2.

Актуальность темы: В современной разработке программного обеспечения визуальная
составляющая играет не меньшую роль, чем программный код. Даже классические
игровые механики, такие как «Камень, ножницы, бумага», требуют качественного
графического интерфейса (GUI) для удержания внимания пользователя. Изучение
принципов UI/UX дизайна в связке с программированием на языке Python позволяет
создать завершенный цифровой продукт, который будет интуитивно понятен и
эстетически привлекателен.
Объект исследования: Процесс проектирования и программной реализации
графического интерфейса для игровой программы. Предмет исследования:
Инструменты графического дизайна и библиотеки языка Python (например, Pygame
или CustomTkinter), используемые для создания интерактивной игры «Камень,
ножницы, бумага».
Цель проекта: Разработать визуальную концепцию и реализовать
функционирующее игровое приложение с графическим интерфейсом на языке Python.
2

3.

Анализ игровых механик и пользовательских сценариев Проектирование любой программной
среды начинается с детального разбора механики взаимодействия пользователя с кодом. В основе игры
«Камень, ножницы, бумага» лежит циклическая логика сравнения трех объектов, где каждый элемент
одновременно является и сильным, и слабым звеном. С точки зрения разработки на Python, основной
сценарий взаимодействия включает в себя инициализацию главного окна, ожидание события ввода от
пользователя и последующий вызов функции случайного выбора для компьютерного оппонента.
Графический интерфейс в данном случае выступает визуальным транслятором работы алгоритма,
превращая сухие расчеты функции random.choice в понятные пользователю образы и текстовые
уведомления о результате раунда.
Выбор визуальной стилистики и цветовой палитры При выборе художественного оформления
проекта предпочтение отдается стилю Flat Design (плоский дизайн), так как он наиболее органично
сочетается с техническими возможностями стандартных библиотек Python. Отсутствие сложных
градиентов и теней позволяет упростить процесс верстки интерфейса и ускорить загрузку графических
ассетов в память приложения. Цветовая схема строится на принципе высокого контраста: для общего
фона выбирается глубокий нейтральный оттенок, на котором отчетливо выделяются активные игровые
зоны. Акцентные цвета используются для моментальной передачи информации о состоянии игры,
например, золотой цвет для отображения текущего счета и приглушенный серый для неактивных в
данный момент элементов управления.
3

4.

Проектирование композиции окна приложения Структура игрового окна рассчитывается с
учетом сетки координат, которая будет использоваться при написании программного кода. Верхняя часть
экрана отводится под информационную панель, где отображается заголовок и динамически обновляемые
переменные счета. Центральная область, или «зона битвы», проектируется как пространство для двух
симметричных контейнеров, в которых будут отрисовываться выбранные изображения. Нижний сегмент
окна выделяется под панель управления, состоящую из трех равноудаленных кнопок. Такая компоновка
обеспечивает логичный путь взгляда игрока: от выбора действия внизу экрана к наблюдению результата в
центре и фиксации счета в верхней части.
Подготовка графических ассетов для программной реализации Техническая подготовка
графики требует строгого соблюдения параметров, необходимых для корректной работы библиотек
Python. Все изображения иконок (камня, ножниц и бумаги) создаются в формате PNG с поддержкой
прозрачного слоя, что исключает появление нежелательных белых рамок при наложении на цветной фон
программы. Важным условием является приведение всех графических файлов к единому квадратному
размеру, например, сто пятьдесят на сто пятьдесят пикселей. Это гарантирует стабильность визуальной
композиции, предотвращая смещение соседних виджетов при программной замене текстур в ходе
игрового процесса.
4

5.

2.1. Логотип и типографика игрового приложения
Визуальное восприятие проекта начинается с текстовых элементов, которые должны обеспечивать
мгновенную читаемость даже при быстром темпе игры. Для основного заголовка и индикаторов счета
выбирается массивный шрифт без засечек, что подчеркивает современный цифровой стиль приложения.
В программной реализации на Python основной акцент делается на иерархии размеров: самый крупный
кегль используется для объявления результата раунда, средний — для отображения текущих очков, а
самый мелкий — для вспомогательных подписей к кнопкам. Это позволяет игроку интуитивно считывать
наиболее важную информацию в центре экрана, не отвлекаясь на второстепенные детали.
2.2. Проектирование игровых символов и персонажей
Центральными элементами графического дизайна являются три уникальных иконки: камень, ножницы и
бумага. Каждое изображение разрабатывается в единой стилистике, чтобы они воспринимались как части
одного набора. Использование упрощенных векторных форм позволяет избежать визуального шума и
делает символы узнаваемыми даже при небольшом разрешении окна программы. Цветовое решение для
каждой иконки может быть индивидуальным, что создаст дополнительную визуальную подсказку для
игрока: например, холодный серый для камня, энергичный желтый для ножниц и легкий белый или
голубой для бумаги. Такой подход облегчает когнитивную нагрузку и ускоряет процесс принятия решения
во время игры.
5

6.

2.3. Библиотека компонентов и состояния элементов управления
Для обеспечения качественного пользовательского опыта (UX) необходимо проработать
различные состояния интерактивных элементов. Каждая кнопка управления в интерфейсе проектируется в
трех вариантах: стандартное состояние, состояние при наведении курсора и момент нажатия. В коде Python
это реализуется через смену цвета фона или подмену графического файла в обработчике событий. Кроме
кнопок, в библиотеку компонентов входят информационные плашки (модальные окна), которые появляются в
конце игры. Эти окна должны перекрывать основное пространство и иметь четкую визуальную разницу
между сообщением о победе (яркие, теплые тона) и уведомлением о поражении (холодные или темные
оттенки), обеспечивая эмоциональную обратную связь от программы.
6

7.

Для корректной работы программы все ресурсы должны быть организованы в единую файловую
структуру. В корневой папке проекта находятся следующие элементы:
main.py — основной файл с программным кодом на языке Python.
assets/ — папка с графическими материалами:
rock.png — иконка камня
scissors.png — иконка ножниц
paper.png — иконка бумаги
empty.png — заглушка (прозрачный фон), отображаемая до начала хода.
Разработка велась с использованием следующего инструментария:
Язык программирования: Python версии 3.10 или выше.
Среда разработки (IDE): VS Code или PyCharm.
Библиотеки:
tkinter — стандартная библиотека для создания оконных интерфейсов.
Pillow (PIL) — для работы с изображениями формата PNG.
random — для генерации ходов компьютера.
7

8.

В ходе выполнения данного проекта была проведена комплексная работа по проектированию
и программной реализации игры «Камень, ножницы, бумага» с использованием языка программирования
Python. В рамках исследования удалось успешно объединить строгую логику алгоритмов с современными
принципами графического дизайна, что позволило создать завершенный и интуитивно понятный
цифровой продукт.
Центральным достижением работы стала разработка визуальной концепции на основе стиля
Flat Design, который обеспечил высокую скорость взаимодействия пользователя с интерфейсом.
Использование крупноформатных графических ресурсов сделало игру визуально насыщенной и
современной, а применение библиотеки Pillow гарантировало качественное отображение символов вне
зависимости от разрешения экрана. Программная часть проекта, реализованная через библиотеку Tkinter,
обеспечила стабильную работу приложения и корректное выполнение всех игровых сценариев, включая
случайную генерацию ходов противника и динамическое обновление счета.
8
English     Русский Rules