Сетевой сапёр(Project by MiGeRA)Представляю Вам собственную разработку - игру "Сетевой Сапёр". Игрался я как-то в мастдайного сапера и мне пришла мысль - что классно бы было по одному полю кликаться вдвоем. Идея о втором мыше как-то отпала (ну не люблю я драйвера писать) - а всвязи с тем, что есть такая маза как сеть - я решил написать сапера сетевого. И так об игре. Как это создавалось и чего оно хочет ?Самая первая сборка была реально написана за выходные. Конечно потом неоднократно дорабатывалась по результатам тестов. Графика описана при помощи библиотеки OpenGL (по другому не умею), картинки выдраны из стандартного сапера. С сетью общаемся через WinSock. Требования минимальны - OpenGL может играться и программно (используется вдойная буфферизация), аппаратная акселерация заметного улучшения не дает (хотя если есть - то используется). В тоже время могут возникнуть проблемы визуализации при использовании интегрированного видео со стандартными драйверами (в этом случае рекомендуется установить последнюю версию дров от производителя, а не от мелкомягких). Сеть с поднятым TCP-IP (но можно играть и одному - или даже подключиться самому к себе). Правила игры.Правила стандартного сапера все, я думаю, известны. Опишу что касается изменений. Сразу было понятно, что завершать игру после напора на первую мину просто глупо ... решено было ввести систему подсчета очков. Так же меня все время возмущала неизвестность первого хода - который, понятно, делается "от балды" и безо всякой логики - что в своей игре я исправил. Итак система очков: За каждый левый клик по клетке где нет мины "+1"; Соответственно где есть мина "-10"; Правый клик - установка/снятие флажка на любую клетку (естественно очки за это не даем). Пустые клетки открываются только по одной (вы и ваш соперник поймете, как это круто!). Игра заканчивается когда все флажки окажутся на минах. Казалось бы и все - посчитываем очки и определяем победителя ... но было обнаружено что игрок который бездумно и быстро кликается по полю (естественно напарываясь на мины со всеми последствиями (-10 очков) все равно) может обойти по очкам более осторожного и расчетливого игрока. И это я исправил: игра стала считать и количество левых кликов на мины. Их разницу, умноженную на минус десять добавляем (т.е. вычитаем) к очкам игрока у которого промахов больше. (Например (цифры из воздуха - смотри математику) Игрок1 набрал 150 очков и напоролся 2 раза - а Игрок2 набрал 180 очков и напоролся 6 раз. Тогда: штрафовать будем второго игрока - у него 6 промахов - у первого 2. ( 6 - 2 ) * ( - 10 ) = - 40 - это мы плюсуем к очкам штрафника (второго игрока). Итого получаем: Игрок1 - 150 (как и было), Игрок2 - 140 ( 180 - 40 ) - в результате законно побеждает Игрок1 - как наиболее осторожный ). Скачать игрушку (исполняемый модуль NetMine.exe) - Версия 1.0 (со всеми исправлениями) MiGeRA (C) 2003 | |