"Если эта программа работает, то ее написал Пинигин IAMN1 Андрей. Если нет, то не знаю кто ее написал"
Моя первая серьезная программа, написанная в 2016-2017 годах (10 класс) на языке C в среде Turbo C++. Игра представляет собой "костяной" автомат с графическим интерфейсом, двумя режимами игры и системой виртуального баланса.
Это азартная игра-угадайка с элементами слот-машины. Игрок делает ставку (виртуальный баланс) и пытается угадать, какие числа (от 1 до 6) выпадут на трех "барабанах". В зависимости от режима, нужно угадать одно или два числа.
Особенности:
- Два игровых режима: "Guess 1 of 3" и "Guess 2 of 3"
- Полноценный графический интерфейс с анимациями
- Система баланса (пополнение, выигрыши +150, проигрыши -30)
- Обратный отсчет с анимацией "бомбы"
- Анимированное "лицо" автомата, которое меняет выражение (радость/грусть)
- Подробная статистика после игры
- Поддержка управления как с клавиатуры, так и мышью
- Ностальгические заставки "Bone Game" в начале
- Язык: C (ANSI)
- Среда разработки: Turbo C++ 3.0/4.5
- Графическая библиотека: BGI (Borland Graphics Interface)
- Размер: 1420 строк кода, >80 комментариев
- Версия: 6.0 (последняя от 18.05.2017 21:39)
- Нестандартные функции: 16
Ключевые компоненты:
- Графический интерфейс с кнопками и тенями
- Обработка прерываний мыши (int86)
- Псевдослучайные числа (randomize/random)
- Анимация через delay() и перерисовку
- Модульная структура (все в одном файле!)
- Установите DOSBox или аналогичный эмулятор
- Установите Turbo C++ (например, версию 3.0)
- Скопируйте файл
BoneGame.cв рабочую директорию - Запустите Turbo C++, откройте файл
- Скомпилируйте и запустите (Ctrl+F9)
Можно попробовать портировать на современные библиотеки:
- Заменить
graphics.hнаSDLилиSFML - Переписать обработку прерываний мыши
- Адаптировать функции задержки
Программа требует BGI драйверы. Убедитесь, что в папке C:\TURBOC3\BGI\ (или указанной в initgraph) находятся:
EGAVGA.BGI- Или укажите правильный путь в строке:
initgraph(&gdriver, &gmode, "ваш_путь");
THEGAME~1.C - Полный исходный код (1420 строк)
- Игрок выбирает одно число от 1 до 6
- Генерируются три случайных числа
- Если хотя бы одно совпадает - выигрыш (+150 к балансу)
- Иначе - проигрыш (-30)
- Игрок выбирает ДВА числа от 1 до 6
- Генерируются три случайных числа
- Если хотя бы одно из выбранных совпадает - выигрыш
- Иначе - проигрыш
- Графика: Все элементы рисуются "вручную" через примитивы BGI
- Интерфейс: Собственная система кнопок с эффектом наведения
- Анимации:
- Загрузка с двигающимися элементами
- Обратный отсчет "бомбы"
- Моргание "глаз" автомата
- Логика: Используется
gotoдля навигации по меню (стиль начинающего)
void Button() // Отрисовка кнопки
void Countdown_C4() // Анимация обратного отсчета
void Head_Machine_On() // Отрисовка "лица" автомата
void Game_Mode_1() // Логика первого режима
void Loading() // Анимация загрузки
int Button_Click() // Обработка клика мыши
// ... и другиеСтроки кода: 1420 Комментарии: >80 Функции: 16 нестандартных Дата создания: 2016-2017 Версия: 6.0 Класс: 10Г (школьный проект)
Nostalgia Public License v1.0
-
Можно: Ностальгировать, улыбаться, вспоминать 2016 год
-
Можно: Использовать код для обучения (как делать и как не делать)
-
Можно: Делиться с друзьями и говорить "и это мой первый код!"
-
Нельзя: Серьезно критиковать 16-летнего меня 😄
"Последняя версия программы 6.0. Дата 18/05/2017 | 21:39 часов."
Автор: Пинигин Андрей, 10Г класс (2016-2017) Статус: Законченный школьный проект. Работает в Turbo C++. Ностальгический фактор: 11/10 ✨