Форум программистов, компьютерный форум, киберфорум
Наши страницы

Прошу совета в привидении игры к логике - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Удалить самую длинную цепочку четных элементов http://www.cyberforum.ru/cpp-beginners/thread901934.html
Помогите пожалуйста с задачей. Удалить самую длинную цепочку четных элементов. Полученный массив отсортировать по возрастанию.
C++ колобот Здравствуте! Имеется игровая технология программирования си++ колобот,для того чтобы пройти какую нибудь миссию необходимо программировать на языке си++, мне необходимо что были решения именно для... http://www.cyberforum.ru/cpp-beginners/thread901931.html
На с++билдер 6 (Описать функцию,которая подсчитывает количество чисел,принадлежащих интервалу [a,b] ) C++
Описать функцию,которая подсчитывает количество чисел,принадлежащих интервалу в одномерном целочисленном массиве. Применить эту функцию к двум одномерным массивам разного размера.
Перевод из Паскаля в C++ C++
Переведите программу из Паскаля в С++, пожалусйта Вот код : const nmax=100; var a: array of integer; i,j,n,m,min: integer; begin randomize; write('Введите размеры массива:');
C++ Сколько раз выполнится следующий цикл http://www.cyberforum.ru/cpp-beginners/thread901906.html
Cколько раз выполнится цикл: int i = 0; whіlе (++i < 3) { Соnsоle.Writе(і); }
C++ Какие ошибки содержатся в представленном коде: Какие ошибки содержатся в представленном коде: сlass Тest { stаtіc voіd f(ref int а, оut іnt b) { a = 10 + b; } stаtic vоid Мaіn(string args) { int a; подробнее

Показать сообщение отдельно
TamaGOch
9 / 9 / 0
Регистрация: 11.12.2012
Сообщений: 152

Прошу совета в привидении игры к логике - C++

14.06.2013, 19:23. Просмотров 202. Ответов 0
Метки (Все метки)

Представьте себе такую игру: несколько, для краткости, так сказать, юнитов. Есть игровое поле. Каждый юнит управляется отдельной программой, написанной игроком. Есть 9 вариантов поведения юнита: 4 направления движения, 4 направления "выпускания" атакующего снаряда, и вариант стояния на месте. Есть следующие фазы игры: шаг юнита, проверка всех действующих снарядов на попадание в юнитов, шаг снарядов (т.е. перемещение на следующую клетку, в соответствии с направлением движения снаряда). Я никак не могу решить, какой из "тактов" игрового процесса выбрать в качестве оптимального:
1) предположим в игре два юнита, алгоритм такой:
о- юниту доставляется информация о положении дел на поле,, ну понятно в общем
о- юнит делает ход (одно из 9-ти вариантов выше, в случае решения об атаке, снаряд появляется в клетке,
смежной с юнитом, в соответствии с направлением, это ясно)
о- проверка попадания снарядов (на случай, если юнит наступил на клетку со снарядом)
о- движение снарядов в их следующие клетки
о- снова проверка снарядов, на случай попадания их в игроков

плюсы данного алгоритма:
+ игрок не может наступить в клетку, в которую пустил снаряд в предыдущем ходу, да и вообще не может
попасть на свои снаряды
минусы:
- со стороны программы юнита приходится в качестве клеток, нежелательных к ходу принимать не только клетку
с действующим снарядом, но и учитывать, что после него будет n-1 движений снаряда, после хода
остальных игроков, т.е. усложнение алгоритмов поведения юнитов, дополнительная головная боль для игрока, да
и к тому же, с какой-то стороны, нелогичность в плане разницы между количеством ходов отдельного юнита
и снарядов на поле, ну вы поняли

2) вторая версия:
о- всем игрокам доставляется одинаковая информация о положении дел на поле, каждый принимает решение,
которые мы записываем в массив
о- осуществляем ход каждого юнита
о- проверяем попадание снарядов в юнитов
о- делаем ход всех снарядов
о- снова проверяем снаряды на попадание

плюсы:
+ работа игрока над алгоритмом юнита становится не столько нудной, сколько чуть более интересной, т.к. тут
все игроки ходят одновременно и кто его знает, что будет потом,
+ игроку не надо просчитывать, что будет с его юнитом спустя все ходы соперников и где будут находится
летящие в разные стороны снаряды
+ присутствует хоть что-то похожее на риал-тайм
минусов побольше чем в первом:
- игрок может наступить на пущенный им в прошлом ходу снаряд (хотя и можно кинуть эту проблему на плечи
игроку, мол, не стоит наступать туда, куда стреляешь)
- мне кажется, что наблюдателю будет сложно усмотреть за всеми юнитами сразу, поправьте, если не прав
- а этот минус скорее не минус, а временный вопрос о том, что необходимо будет ввести в игру понятие
перезарядки, т.е. количество ходов, через которое можно совершить следующий выстрел, думаю это оправдано

в общем я всеми руками за второй метод, однако не могу придумать решения проблемы наступания на собственные же снаряды, поэтому решил обратиться за помощью, ну или просто послушать здравые мысли, заранее благодарю.

странно, что где-то не туда нажал на тач паде и откуда-то вылетел этот текст "в момент следующего хода представляет интерес", с первого взгляда не нашёл того места, быть может исправлю))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.