Исходник карточной игры NineK

Многопоточность построения работы приложения

игровое поле исходника карточной игры девяткиИсходник игры Девятка построен на принципе многопотоковой работы . Применение отдельных потоков для вспомогательных операций существенно разгружает главный поток. При построении однопоточного приложения невозможно добиться приемлемой производительности. Но и применение дополнительных потоков требует четкого согласования общего взаимодействия, создание возможности мгновенной остановки всех запущенных потоков при определенных действиях пользователя.

Интеллект карточной игры

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

Графика карточной игры

Игра способна запоминать настройки пользователя и сохранять их в реестре. Общая функциональность для игр Девятка, такое как декоративное оформление игр, класс инкапсулирующий свойства игрока, контроль движения карт, монет, изменение вида "денежных доходов" игроков и др., отделена в динамическую библиотеку nine.dll. Кроме уменьшения байтового веса приложений, такое построение позволило в самих кодах NineK2.exe и NineKNet1.exe сосредоточиться практически только над логикой игры.

Исходник сетевой игры

Особо хочется сказать о первой сетевой версии игры Девятка NineKNet1. Сетевая работа в приложении построена на мощной и удобной библиотеке DirectPlay9, входящей в состав DirectX9. Microsoft DirectPlay специально разработан для создания сетевых игр. Его интерфейсы выглядят сложнее чем Socket-реализации, но при внимательном изучении и практическом применении сразу видна мощь и удобство работы с DirectPlay. Вся рутинная работа, обработка уникальных идентификаторов приложений, идентификаторов игроков, отправка и извлечение сообщений, отправка и извлечение данных игроков, автоматическое восстановление соединения после отключения от игры хостующего игрока и другие удобства берет на себя DirectPlay. Жаль, что в дальнейших версиях DirectPlay был удален, но в 9-ой версии он есть.

Файлы исходника

Исходные коды на языке программирования С++. Исходники имеют подробный комментарий важных строк исходного кода. Среда программирования Microsoft Visual Studio.NET 2003, DirectX9 SDK October 2004.

Скачать исходник