[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Алгоритм (логика) игры
Гость_Андрей
Помогите придумать наилучший алгоритм поиска решений для классической игры типа "маджонг".
Суть игры: нужно найти пары одинаковых картинок, которые можно соединить линией, которая имеет не более двух изломов. Пример такой игры: http://www.ourgames.ru/igra/madzhongh-soiedini-par...
Для реализации подобной игры нужен простой и быстрый алгоритм (логика игры): как проверить, что две выбранные картинки соединяются нужной линией.




Спустя 3 минуты, 58 секунд (11.04.2011 - 17:07) Guest написал(а):

Спустя 1 минута, 20 секунд (11.04.2011 - 17:09) T1grOK написал(а):
Определяешь переменную "направление" и проверяешь изменилось ли оно и подсчитываешь сколько изменений направлений всего. По моему элементарная задача.

Спустя 1 день, 8 часов, 46 минут, 50 секунд (13.04.2011 - 01:56) Гость_Андрей написал(а):
Цитата (T1grOK @ 11.04.2011 - 14:09)
Определяешь переменную "направление" и проверяешь изменилось ли оно и подсчитываешь сколько изменений направлений всего. По моему элементарная задача.

Как это на php реализовать?... Я тоже считал, что задача несложная, пока не дошло до разработки кода...

Спустя 7 часов, 56 минут, 23 секунды (13.04.2011 - 09:52) T1grOK написал(а):
Неважно на каком языке. Суть одна. Но только на чистом php будет неудобно играть, ведь потребуется при каждом клике перегрузка страницы. Придется включить аякс или флэш.(как по мне так флеш лучше).
Когда то увлекался написанием несложных игр, но сделал вывод, что это длительное и неблагодарное дело и пусть другие их делают а я буду играть

Спустя 11 минут, 13 секунд (13.04.2011 - 10:03) T1grOK написал(а):
Обычно каждой клетке на поле присваивается некоторый идентификатор, по которому можно определить в какой колонке и в каком ряду эта клетка находится. От этого и отталкиваемся.
Объект 1 – это объект относительно которого определяется направление,
Клик здесь –ячейка которая выбрана. Узнаем направление:

Изгибы = 0;
Старое направление = ‘’;
……

Если (КликКолонка==Объект1Колонка){
Если (КликСтрока>Объект1Строка){
Направление = ‘вниз’;
}else{
Направление = ‘вверх’;
}
}
Если (КликСтрока==Объект1Строка){
Если (КликКолонка>Объект1Колонка){
Направление = ‘вправо’;
}else{
Направление = ‘влево’;
}
}
Если(СтароеНаправление != ‘’){
Если(СтароеНаправление !=Направление){
Изгибы++;
}
}
Если(Изгибы > 2){
Конец или игнор
}

СтароеНаправление =Направление;

Общая идея такая. Но при практической реализации еще нужно хранить массив игры, массив состояния игры и т.д.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.