![]() |
![]() |
mvg |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 36 Репутация: ![]() ![]() ![]() |
Кстати есть идея.
Давно заметил, что в настоящее время нет стоящего SUBJ... Братья по паскалю! Слабо написать? Но чтобы оригинально было!!! -------------------- Да пребудет паскаль вовеки!
|
![]() ![]() |
Altair |
![]()
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Советую сохранить все что цитатой в текстовый файл и прочесть потом ДО КОНЦА, и ВНИМАТЕЛЬНО!
--- Я сделал все цитатой, что-бы читать лучше было, т.к. форматирование текста как в оригинале форум не делает, но этого можно добиться если пометься в цитату. ----- Цитата А теперь послушайте, что я вам скажу... Итак, что мы имеем? Ничего! Стоит ли дальше продолжать просто обсуждать проект и придумывать сюжет? Нет! НАДО НАЧАТЬ ДЕЛАТЬ! Теперь подождите. Нас трое (может кто-то еще присоединиться), каждый должен писать что-то конкретное. ------ Значит так, вот РЕШЕНИЕ ОСНОВНЫХ ПРОБЛЕММ: 1. Вся программа должна быть хорошо структурированна, это значит, что алгоритм основной части должен выглядеть примерно так: -1- сделать ход компьютера (процедура) -2- вывод действий на экран (процедура) -3- юзер делает ход (процедура) -4- вывод действий на экран (процедура) -5- кто-нибудь выиграл? (функция ) -6- Если ДА, то ... если нет то перейти на -1-. 2. Что такое ЮНИТ в игре? ЭТО ТИП RECORD, следующего типа: recordUNIT name:string; HitPoint:byte; <координата x> - расположение на карте. <координата y> {...} end; Таким образом для каждого юнита есть свои характеристики, и мы можем в процессе изменять их (скажем ранение=HitPoint-4) 3. Что такое АРМИЯ игрока (компьютера или юзера)? ЭТО ТИП "СПИСОК" из ТИПА RECORD Почему список? Вот почему: -1- Это динамическая структура данных (если мы будем использовать массив записей, то будем "жрать" много памяти! -2- Легко удалять и включать новые эл-ты. -3- Это добавляет интерес игре: представим, что юзер максимум имеет n юнитов (по возможностям памяти компа), а комп тоже n, теперь смотрите: у юзера становиться n-1 юнитов, а комп может увеличить армию! (нужна процедура, следящая за размером списка) -4- Хорошо поддается структуризации. 4. Как начинаеться игра? -1- создаем список (армию) юзера (1 юнит-"строитель") -2- создаем список (армию) компа (1 юнит-"строитель") -3- стираем экран -4- рисуем новый с новыми параметрами. 5. Что такое ХОД игрока (юзера)? - ЭТО процедура, которая изменяет параметры нужных ЮНИТОВ в СПИСКЕ и ВЫВОДИТ ИЗМЕНЕНИЯ НА ЭКРАН. 6. Как выглядит карта? Да это без разницы. Программа ведь структурированна! Не понравиться ВЫВОД ИЗМЕНЕНИЙ НА ЭКРАН, передалаем 1 ПРОЦЕДУРУ! 7. Как будем РИСОВАТЬ ЮНИТОВ? ТОЖЕ ВСЕ-РАВНО! Решим в процессе. Есть 2 способа: -1- изображение юнита - это картинка BMP (или еще какая...) -2- все рисуем программно. ЛУЧШЕ 1 способ! Т.к. позволяет сделать КРАСИВУЮ игру (рисуем в POTOSHOPE или с помощью модуля GRAPH -есть ведь разница!) 8. А как будет ходить компьютер, юзер-то понятно - смотрит на экран, потом "думает", а потом делае (а может наоборот!) ЭТО ЕДИНСТВЕННАЯ НЕ РАЗРЕШАЕМАЯ ПРОБЛЕММА. Можно хороший алгоритм придумать, но он останеться просто АЛГОРИТМОМ! Но есть некоторые методы. (если заинтерисуетесь "РЕАЛЬНОЙ" случайностью (в смысле БЛИЗКОЙ К ДЕЙСТВИТЕЛЬНОСТИ) могу тему создать и выложить туда примерчик). ================================================================================ = А вот ПЛАН: 1. распределяем на трех человек процедуры. 2. если кто-то присоединяется к нам, он становится помошником (по правилам нашего клуба) и ему перепадают процедуры 3. МЕНЯЕМСЯ ПРОЦЕДУРАМИ!!!!!!!!!! (каждый ищет ошибки и поправляет, при этом он отмечет где, зачем, как он подправил) Таким образом игра быстро будет улучшаться. P.S.ОБМЕН после получения РАБОЧЕЙ ВЕРСИИ!!!!! 4. Тестируем. (на форуме полно участников) 5. Выкладываем исходники, и пусть кто хочет, дорабатывает прогу!!!! --- Подробнее о 1 пункте. Надо составить список процедур. (т.е. написать ЗДЕСЬ какие процедуры будут) Я вижу вот какие: 1. ход юзера 2. ход компа 3. отображение изменений 4. проверка победы. ------- Все! А нет, ... не все! Наи надо разработать и оптимизировать тип ЮНИТА!!! ЭТО ОЧЕНЬ ВАЖНО!!!! т.к. чем оптимизированнее и в тоже время глобальнее будет этот тип данных, тем интереснее получиться игра!!! -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
![]() ![]() |
![]() |
Текстовая версия | 28.07.2025 18:52 |