forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   Помогите, проект пошаговая 2D стратегия (сетка) (http://forum.boolean.name/showthread.php?t=17859)

Shtamp 10.02.2013 13:36

Помогите, проект пошаговая 2D стратегия (сетка)
 
Всем привет! Прошу помощи!

Вот так выглядит игровое поле.


Сетка:
А именно каждая ячейка это type, который в себе содержит id-ячейки,x,y - координаты [ к примеру :(1;1)(1;2)(1;3) ], tile - id спрайта поверхности (1- песок, 2 - лес, 3 - горы, 4 - вода и т.д.)

К примеру в позиции 3;3 - есть некий юнит, который может ходить по любой поверхности кроме воды... и ход может быть от 1 до 3х ячеек...

Помогите реализовать именно этот момент т.т

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

Я не прошу, готовый код, но если такой имеется, не буду против.
Пожалуйста, помогите с идеями, может кто сталкивался, очень надо.

CRASHER 10.02.2013 17:04

Ответ: Помогите, проект пошаговая 2D стратегия (сетка)
 
добавляеш в тип информацию о поверхности ячейки. При ходе производишь проверку. Если вода на пути, ход идет только до ближайшей ячейки или если пешка вплотную к воде не ходить.

Shtamp 10.02.2013 19:44

Ответ: Помогите, проект пошаговая 2D стратегия (сетка)
 
Цитата:

Сообщение от CRASHER (Сообщение 252320)
добавляеш в тип информацию о поверхности ячейки. При ходе производишь проверку. Если вода на пути, ход идет только до ближайшей ячейки или если пешка вплотную к воде не ходить.

Спасибо что ты "внимательно" прочел мою тему и посторался ответить, но то что ты уже сказал я это сделал, суть в том, что юнит может передвигаться за шаг сразу от 1 до 3х клеток к примеру...

и он может туже воду перескочить...


--------------

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

Shtamp 10.02.2013 19:55

Ответ: Помогите, проект пошаговая 2D стратегия (сетка)
 


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

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

den 10.02.2013 20:14

Ответ: Помогите, проект пошаговая 2D стратегия (сетка)
 
Если правильно понял то так:
Обозначаем стартовую ячейку нулевой. Все смежные нулевой ячеки (и проходимые) - первыми. Все смежные и проходимые первым ячейкам - вторые, и т.д. Волновой алгоритм короче, только не полный проход, а до определенного уровня.

Shtamp 10.02.2013 20:16

Ответ: Помогите, проект пошаговая 2D стратегия (сетка)
 
Цитата:

Сообщение от Den (Сообщение 252339)
Если правильно понял то так:
Обозначаем стартовую ячейку нулевой. Все смежные нулевой ячеки (и проходимые) - первыми. Все смежные и проходимые первым ячейкам - вторые, и т.д. Волновой алгоритм короче, только не полный проход, а до определенного уровня.

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

Ура я еле как это сделал *_* по говно-кодил малясь, но за-то все работает как часы

Shtamp 10.02.2013 20:18

Ответ: Помогите, проект пошаговая 2D стратегия (сетка)
 
Тему можно закрывать! :)

CRASHER 10.02.2013 20:19

Ответ: Помогите, проект пошаговая 2D стратегия (сетка)
 
Спасибо что ты "внимательно" прочитал мой ответ. Волновой алгоритм знаеш что такое? Поисчи в энете, найдеш сразу гарантирую. Он тебе поможет...

CRASHER 10.02.2013 20:21

Ответ: Помогите, проект пошаговая 2D стратегия (сетка)
 
Shtamp, поговнокодил ты не только у себя в проге))

Shtamp 10.02.2013 20:30

Ответ: Помогите, проект пошаговая 2D стратегия (сетка)
 
Цитата:

Сообщение от CRASHER (Сообщение 252346)
Shtamp, поговнокодил ты не только у себя в проге))

есть такое))) волновой алгоритм я знаю что это)) я грю моя проблема была не в этом :))

спасибо на том что были рядом :super:

Jlemyp 19.02.2013 00:34

Ответ: Помогите, проект пошаговая 2D стратегия (сетка)
 
Если не трудно, напиши как ты это сделал? Просто в прошлом у меня с этим тоже была проблема.


Часовой пояс GMT +4, время: 08:56.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot