![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 20.09.2013
Сообщений: 9
|
![]()
Delphi, однако можно и на C# если так же просто описано будет.
Алгоритм: 3 атрибута локации: значения Inside (внутри) Outside (снаружи) Border (на границе). 1.Изначально атрибут каждой локации == Outside. 2.Выберем случайную локацию в лабиринте и присвоим значение Inside. 3.Присвоим также атрибутам соседних с ней локаций значение Border. 4.ПОКА атрибут хотя бы одной локации равен Border. 5.Выберем случайную лок., атрибут которой == Border, присвоим Inside. 6.Атрибут ВСЕХ соседних лок := Border ЕСЛИ он == Outside. 7.Из ВСЕХ соседних лок атрибут которых == Inside, выберем случайную и разрушим стену между ней и текущей локацией. На бумаге получается, по факту нет. Краткий листинг: Код:
В итоге получается: ![]() Подскажите пожалуйста где ошибка. Последний раз редактировалось anete.anetes; 20.09.2013 в 13:19. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]() Код:
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 20.09.2013
Сообщений: 9
|
![]() Код:
Случайно выбирает int из 1,2,3,4. Проверка: for i := 1 to 99 do begin a:=RandomRange(1,5); Memo1.Lines.Add(IntTOStr(a)); end; Или я совсем тупой в другом месте а это только индекс того места? Delphi изучаю сам всего лишь два месяца, так что прошу не ругать сильно. UPD: Возможно Вы не внимательно прочитали код и не заметили что else ВНУТРИ begin/end вариации кейса? Код:
Последний раз редактировалось anete.anetes; 20.09.2013 в 14:55. |
![]() |
![]() |
![]() |
#4 |
Регистрация: 20.09.2013
Сообщений: 9
|
![]()
В чём проблема? Никто не может разобраться в коде? Задавайте хотя бы вопросы.
![]() |
![]() |
![]() |
![]() |
#5 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Весь проект архивом скиньте, можно будет покопаться, а так - в лом собирать _только из одного кода_ что-то рабочее.
Проверил сейчас, кстати, рендомрейндж не выдаёт числа на конце диапазона, хотя даже в офсправке указано inclusive код из Math: Код:
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
![]()
Вот полностью готовый метод. Только на С++. Переписать на Делфи не должно быть сложно. Я тут комментировал код.
Код:
Код:
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 25.08.2011
Сообщений: 2,841
|
![]()
А вот результат.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два. |
![]() |
![]() |
![]() |
#8 | ||
Регистрация: 20.09.2013
Сообщений: 9
|
![]() Цитата:
![]() Опять же, весь проект скинуть не могу, на G-Drive забыл скинуть, в офисе IDE нет, однако это весь код, что бы скомпилить достаточно добавить локальные переменные (а они там явно Integer), 1 button и 25 image, ну или отрисовывать по другому, я использую 25 img только на прототипе. А так это весь код, и поэтому вариант который предложили на С++ (спасибо) не подходит, мне всё таки хочется попробовать реализовать это упрощённо. Спасибо за ответы, на сайбере предложили похожий вариант, но я думаю что можно исправить этот переписав под такие нужды: Цитата:
|
||
![]() |
![]() |
![]() |
#9 | |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]() Цитата:
Вы не подумайте, что лень там или что-то подобное - просто я, например, гораздо быстрее смогу выделить время, если буду знать, что мне достаточно только запустить и смотреть, а не возиться полчаса (возможно даже безрезультатно, ибо Ваш проект может подвязан на какую-то мелочь, которую я не задействую, и получится что мы работаем над разными вещами, а потом ещё тратить время, чтобы понять, а где же расхождения и т.д.) |
|
![]() |
![]() |
![]() |
#10 | ||
Регистрация: 20.09.2013
Сообщений: 9
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Алгоритм Прима (C++) | ZoxWatt | Помощь студентам | 0 | 06.10.2012 10:33 |
Алгоритм Прима | tema65 | Помощь студентам | 0 | 12.01.2012 18:37 |
Алгоритм Безенхема для генерации окружности | Влад09 | Помощь студентам | 3 | 15.10.2010 20:13 |
Алгоритм Прима | DeCo | Помощь студентам | 0 | 10.09.2010 15:11 |
Алгоритм прохождения лабиринта | PAVEL315 | Общие вопросы Delphi | 13 | 02.01.2010 01:22 |