алгоритм для захвата игры - PullRequest
4 голосов
/ 04 октября 2011

Была эта старая игра (J2ME), но я не могу найти ее сейчас в Google.Название было «Захват». (Согласно комментариям это больше похоже на «Джизбол»)Я пытался реализовать эту игру, но не могу придумать хороший алгоритм и структуры данных.Идеи игры есть,enter image description hereКто-нибудь может предложить алгоритм?(Надеюсь идеи понятны)

Ответы [ 2 ]

3 голосов
/ 04 октября 2011

По алгоритму, я полагаю, вы имеете в виду дизайн программы.В конечном итоге вы бы использовали несколько алгоритмов в финальной игре.

Вы разработали бы это так же, как если бы вы работали с любым программным обеспечением (в этом нет ничего особенного, так как это игра).Сначала вы начнете со спецификации, которая у вас есть.Затем вы разбили бы его на логические единицы:

  • доска
  • игрок
  • враги

и затемВы могли бы рассмотреть, как они взаимодействуют.Например, когда игрок движется, доска обновляется.Когда враг движется, он проверяет доску на предмет столкновения с игроком.И так далее.

Что касается структуры игры, каждая игра, над которой я работал, делает это:

set up the world

while (playing)
{
   draw the world
   update the world
}

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

create_board

while (playing)
{
   draw_board
   update_board
}

и draw_board:

draw_background
draw_player
draw_enemies

и update_board:

update_player
update_enemies

Функции update_ и draw_ могут быть дополнительно разбиты.Это известно как дизайн сверху вниз .

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

0 голосов
/ 07 октября 2011

Наконец-то я нашел похожую игру + исходный код. allegro.cc / depot / Jezzball /
Не «копировать» код, но у меня есть начало / идея, потому что я работал там месяцами.
и этот ответ также является хорошим началом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...