В исходнике игры Девятка широко используются дополнительные потоки. Применение отдельных потоков для длительных операций позволяет существенно разгрузить основной поток. При построении однопоточного приложения невозможно добиться приемлемой производительности, но в тоже время и применение дополнительных потоков требует четкого согласования их работы, создание возможности мгновенной остановки всех запущенных потоков при определенных действиях пользователя.
Исходный код описывает режим трудной игры, в игровой программе используется достаточно "умный" алгоритм вычисления хода компьютера против пользователя, без всякого жульничества по отношению к игрокам.
В исходнике имеется код оживления игры, включающий анимацию карт и монет, пошаговое графическое изменение «денежных доходов» игроков, запуск звуковых эффектов.
Игра способна запоминать настройки пользователя используя для этого реестр. Общая функциональность для игр Девятка, такое как декоративное оформление игр, класс инкапсулирующий свойства игрока, контроль движения карт, монет, изменение вида "денежных доходов" игроков и др., отделена в динамическую библиотеку nine.dll. Кроме уменьшения байтового веса приложений, такое построение позволило в самих кодах NineK2.exe и NineKNet1.exe сосредоточиться практически только над логикой игры.
Особо хочется сказать о первой сетевой версии игры Девятка NineKNet1. Сетевая работа в приложении построена на мощной и удобной библиотеке DirectPlay9, входящей в состав DirectX9. Microsoft DirectPlay специально разработан для создания сетевых игр. Его интерфейсы выглядят сложнее чем Socket-реализации, но при внимательном изучении и практическом применении сразу видна мощь и удобство работы с DirectPlay. Вся рутинная работа, обработка уникальных идентификаторов приложений, идентификаторов игроков, отправка и извлечение сообщений, отправка и извлечение данных игроков, автоматическое восстановление соединения после отключения от игры хостующего игрока и другие удобства берет на себя DirectPlay.
Подробный комментарий важных строк исходного кода.
Среда программирования Microsoft Visual Studio.NET 2003, DirectX9 SDK October 2004.
| Файл исходника | Количество загрузок | Размер |
| ninek2.rar | 4484 | 654 КБ |