Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 12.07.2007, 23:21   #1
Alex_90
Знающий
 
Регистрация: 05.02.2007
Сообщений: 201
Написано одно полезное сообщение
(для 2 участников)
Алгоритм игры Lines

Алгоритм игры Lines
Lines - игра, в которой надо выстроить в ряды не менее определенного количества шариков одного цвета, что бы они исчезли)
Hello, World!
Некоторые еще помнят те времена, когда компьютеры встречались в редких ведомствах. Это были 286, 386, 486 компы с MS-DOS. Печатали тогда в Лексиконе, считали в SuperCalk 4, а из игр у всех стояли PackMan'ы и Lines, причем Lines пользовался гораздо большей популярностью, чем PackMan. С появлением Windows 3.1 Lines сменили пасьянсы.
Были попытки (мне они известны) сделать Windows Lines, однако ни одна версия не вернула себе ту популярность, что была у Dos Lines.
Я решил попробывать сделать Lines для Windows средствами OpenGL и пока у меня дела идут отлично. С графикой проблем нет, однако алгоритма, по которому Lines работает у меня нет.
Так вот: может у кто знает принцип этого алгоритма, или у кого завалялись исходники того, досовского Lines. (Они были по-моему на pascal).
(Offline)
 
Ответить с цитированием
Старый 13.07.2007, 01:54   #2
Magus
Бывалый
 
Регистрация: 05.09.2005
Сообщений: 823
Написано 101 полезных сообщений
(для 205 пользователей)
Re: Алгоритм игры Lines

С графикой проблем нет
Скрины покажешь?

может у кто знает принцип этого алгоритма, или у кого завалялись исходники того, досовского Lines.
Алгоритм в принципе несложный. ИМХО, тетрис написать сложнее.
Функция Нажатие_На_Кнопку_Мыши
{
  определяем, в какую клетку тыкнули мышкой;
  если(ни один шарик не выбран)
   {
      если(клетка не пустая)
              запоминаем, какой шарик выбрали;
   }
   иначе
   {
      если(клетка пустая)
      {
             перемещаем в нее шарик;
             проверяем, не выстроилась ли линия из 5 шариков;
             если(линия выстроилась)
                    убираем линию;
             иначе
             {
                   добавляем несколько шариков в пустые ячейки;
                   проверяем, не выстроилась ли линия из 5 шариков;
                   если(линия выстроилась)
                         убираем линию;
             }
      }
      иначе
             запоминаем координаты нового выбранного шарика;
   }
}
Писалось сходу после тяжелого рабочего дня, так что алгоритм наверняка далек от оптимального. Но вроде должно работать.
З.Ы.по идее, перед перемещением шарика надо бы еще проверять, есть ли путь от шарика к нужной клетке. Но это уже детали. Если надумаешь, то смотри
http://pmg.org.ru/ai/navigato.htm
http://pmg.org.ru/ai/stout.htm


З.З.Ы.:ты все-таки решил их доделать...Гуд лак.


UPD.:
есть у меня знакомая девушка, которая лайнс делала на С++. Если найду ее, попрошу сорсы.
(Offline)
 
Ответить с цитированием
Старый 13.07.2007, 17:32   #3
Дарья
AnyKey`щик
 
Регистрация: 13.07.2007
Сообщений: 1
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Алгоритм игры Lines

В свое время делала Эту игрушку на С++. Остались куски алгоритма. Точно знаю, что там нет мелочей типа итоговой таблицы победителей и т. д. Но сам алгоритм представлен. Надеюсь что мой материал тебе поможет. Есть просьба! как сделаешь свою игру, пришли пожалуйста мне. Заранее спасибо!
(Offline)
 
Ответить с цитированием
Старый 14.07.2007, 06:06   #4
WaReZ_MEN
Модератор
 
Регистрация: 20.06.2006
Сообщений: 363
Написано 24 полезных сообщений
(для 44 пользователей)
Re: Алгоритм игры Lines

Незнаю почему мои пост стерли но если тебе нужны исходники у меня есть на Delphi
(Offline)
 
Ответить с цитированием
Старый 25.07.2007, 11:41   #5
Serge
AnyKey`щик
 
Регистрация: 26.07.2006
Сообщений: 6
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Алгоритм игры Lines

Сообщение от WaReZ_MEN
Незнаю почему мои пост стерли но если тебе нужны исходники у меня есть на Delphi
Мне нужны исходники на Delphi? выложи плиз или вышли на мыло [email protected] Буду очень благодарен.
(Offline)
 
Ответить с цитированием
Старый 26.07.2007, 02:12   #6
WaReZ_MEN
Модератор
 
Регистрация: 20.06.2006
Сообщений: 363
Написано 24 полезных сообщений
(для 44 пользователей)
Re: Алгоритм игры Lines

Вот сдесь скачаи http://delphigfx.narod.ru/game.htm
(Offline)
 
Ответить с цитированием
Старый 26.07.2007, 07:33   #7
Serge
AnyKey`щик
 
Регистрация: 26.07.2006
Сообщений: 6
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Алгоритм игры Lines

Спасибо, как ни странно, но я тоже вспомнил вчера про этот сайт. В общем нашел там все, что нужно было. Еще раз спасибо.
(Offline)
 
Ответить с цитированием
Старый 26.07.2007, 08:09   #8
WaReZ_MEN
Модератор
 
Регистрация: 20.06.2006
Сообщений: 363
Написано 24 полезных сообщений
(для 44 пользователей)
Re: Алгоритм игры Lines

Всегда пожалуисто
(Offline)
 
Ответить с цитированием
Старый 27.07.2007, 16:56   #9
Alex_90
Знающий
 
Регистрация: 05.02.2007
Сообщений: 201
Написано одно полезное сообщение
(для 2 участников)
Re: Алгоритм игры Lines

Вот сдесь скачаи http://delphigfx.narod.ru/game.htm
Sorry, но там ссылка дохлая (ошибка 404) !!!
(Offline)
 
Ответить с цитированием
Старый 27.07.2007, 22:21   #10
Android
Бывалый
 
Регистрация: 29.03.2007
Сообщений: 662
Написано 199 полезных сообщений
(для 448 пользователей)
Re: Алгоритм игры Lines

Ничего она не дохлая, только заходил проверял
(Offline)
 
Ответить с цитированием
Старый 27.07.2007, 23:49   #11
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: Алгоритм игры Lines

у мну оно не работает
у мну страница открывается , но у мну оно не качается
мну растроился
(Offline)
 
Ответить с цитированием
Старый 28.07.2007, 14:35   #12
Alex_90
Знающий
 
Регистрация: 05.02.2007
Сообщений: 201
Написано одно полезное сообщение
(для 2 участников)
Re: Алгоритм игры Lines

у мну оно не работает
у мну страница открывается , но у мну оно не качается
мну растроился
Так вот: значит не у меня одного не качается! Сегодня опять проверил: не качается!
(Offline)
 
Ответить с цитированием
Старый 07.08.2007, 14:20   #13
Serge
AnyKey`щик
 
Регистрация: 26.07.2006
Сообщений: 6
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Алгоритм игры Lines

Зашел, работает, все дело в том что там есть такая инфа от 25.03.2002 г. И так, новый адрес httt://delphigfx.mastak.ru перепишите ссылки.
Старый, т.е. этот сервер, обновляться более не будет.

Но новый адрес не работает совсем. В общем помер он, потому и глючит. Очень жаль.
(Offline)
 
Ответить с цитированием
Старый 12.08.2007, 00:08   #14
Alex_90
Знающий
 
Регистрация: 05.02.2007
Сообщений: 201
Написано одно полезное сообщение
(для 2 участников)
Re: Алгоритм игры Lines

ВСЕМ, ВСЕМ, ВСЕМ!
Привет всем.
Может, кто знает, почему ниже приведенный цикл, исспользуемый мной для поиска собранных линий и их удаления выполняется до бесконечности! Вроде бы я все проверил: явных ерроров нет. Дебаггер при проходе этого цикла выдает следующее:

First-chance exception in 3D Lines 2007.exe (GDI32.DLL): 0xC0000005: Access Violation.
А вот и сам цикл:

//Проверяем наличае собранных линий в колличестве 5 и более int vsp; //По горизонтали вправо for (i1=1;i1<14;i1++) { for (int i2=1;i2<14;i2++) { if (g[i1][i2]==g[i1+1][i2]==g[i1+2][i2]==g[i1+3][i2]==g[i1+4][i2]&&g[i1][i2]!=0&&g[i1+1][i2]!=0&&g[i1+2][i2]!=0&&g[i1+3][i2]!=0&&g[i1+4][i2]!=0)//Найдена линия из 5 шаров { vsp=g[i1][i2];//Получаем в переменную vsp тип шариков //Присваиваим этим клеткам значение "0", то есть удаляем шары g[i1][i2]=g[i1+1][i2]=g[i1+2][i2]=g[i1+3][i2]=g[i1+4][i2]=0; //А может в линии шаров больше, чем пять? Проверим и это! for (int p=5;p<14;p++) { if (g[i1+p][i2]==vsp); { g[i1+p][i2]=0;//Удаляем и этот шар. } if (g[i1+p][i2]!=vsp); { break; } } } } }
(Offline)
 
Ответить с цитированием
Старый 12.08.2007, 00:29   #15
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Re: Алгоритм игры Lines

Не поверишь - уменя он выполняется без провисов.
Возможно 3ависит от введённых данных.
Ты вообще уверен, что виснет именно этот цикл?
Если да , то первое, что бросается в галаза -
//Найдена линия из 5 шаров
товарищ - так не кодят =/ Раскручивай это нагромождение.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Алгоритм MD5 Dialogus Библиотеки 7 07.02.2010 15:17
Алгоритм Дейкстры Serega 3D-программирование 6 29.10.2009 20:18
Алгоритм темы на нокиа demon112 Алгоритмика 7 22.05.2009 01:24
Морской бой - алгоритм Matt Merkulov 2D-программирование 3 27.05.2007 00:25
Алгоритм поворота alcosholik Алгоритмика 8 08.09.2005 21:05


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com