Skip to content

My first serious program, written in 2017 in C language in the Turbo C++ environment. The game is a "bone" machine with a graphical interface, two game modes and a virtual balance system.

Notifications You must be signed in to change notification settings

IAMN1/BoneGame_on_C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

BoneGame 🎲

"Если эта программа работает, то ее написал Пинигин IAMN1 Андрей. Если нет, то не знаю кто ее написал"

Моя первая серьезная программа, написанная в 2016-2017 годах (10 класс) на языке C в среде Turbo C++. Игра представляет собой "костяной" автомат с графическим интерфейсом, двумя режимами игры и системой виртуального баланса.

Turbo C++ C Year License

🎮 Описание игры

Это азартная игра-угадайка с элементами слот-машины. Игрок делает ставку (виртуальный баланс) и пытается угадать, какие числа (от 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() и перерисовку
  • Модульная структура (все в одном файле!)

🚀 Как запустить

Способ 1: Настоящий ретро-запуск (рекомендуется)

  1. Установите DOSBox или аналогичный эмулятор
  2. Установите Turbo C++ (например, версию 3.0)
  3. Скопируйте файл BoneGame.c в рабочую директорию
  4. Запустите Turbo C++, откройте файл
  5. Скомпилируйте и запустите (Ctrl+F9)

Способ 2: Современные аналоги

Можно попробовать портировать на современные библиотеки:

  • Заменить graphics.h на SDL или SFML
  • Переписать обработку прерываний мыши
  • Адаптировать функции задержки

Важно!

Программа требует BGI драйверы. Убедитесь, что в папке C:\TURBOC3\BGI\ (или указанной в initgraph) находятся:

  • EGAVGA.BGI
  • Или укажите правильный путь в строке: initgraph(&gdriver, &gmode, "ваш_путь");

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

THEGAME~1.C - Полный исходный код (1420 строк)

🎯 Игровые режимы

Режим 1: "Guess 1 of 3"

  • Игрок выбирает одно число от 1 до 6
  • Генерируются три случайных числа
  • Если хотя бы одно совпадает - выигрыш (+150 к балансу)
  • Иначе - проигрыш (-30)

Режим 2: "Guess 2 of 3"

  • Игрок выбирает ДВА числа от 1 до 6
  • Генерируются три случайных числа
  • Если хотя бы одно из выбранных совпадает - выигрыш
  • Иначе - проигрыш

💡 Особенности реализации

  1. Графика: Все элементы рисуются "вручную" через примитивы BGI
  2. Интерфейс: Собственная система кнопок с эффектом наведения
  3. Анимации:
    • Загрузка с двигающимися элементами
    • Обратный отсчет "бомбы"
    • Моргание "глаз" автомата
  4. Логика: Используется 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 ✨

About

My first serious program, written in 2017 in C language in the Turbo C++ environment. The game is a "bone" machine with a graphical interface, two game modes and a virtual balance system.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages