Аватар для STAR WARS
34 / 40 / 3
Регистрация: 24.11.2016
Сообщений: 159

Исправить код лабиринта

10.12.2016, 15:29. Показов 2300. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
DO
K$ = INKEY$
IF K$ = "K" THEN GOSUB LABIRINT
LOOP
LABIRINT:
OPEN "WWW.BAS" FOR APPEND AS #1
PRINT #1, "A = INT(RND(1)*2)"
PRINT #1, "IF A = 1 THEN LINE (10,10)-(50,10),1"
CLOSE #1
PRINT "WOD"
RETURN
 
'WWW.BAS
'SCREEN 13
'RANDOMIZE TIMER
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.12.2016, 15:29
Ответы с готовыми решениями:

Исправить код
Ребята, помогите! Как сделать так что бы значение y выводилось на экран целым числом без буквы е? REM Lineinyi process INPUT...

Интерактивная программа, исправить код
посмотрите что не правильно. 10 CLS 20 LOCATE 5, 30: PRINT "hello my name vova,a kak zovyt teba?" 30 INPUT n$ 40 PRINT ...

Исправить код (Выход за границы массива)
У меня есть код, с таким замечанием: Мин.индекс в Basic 0, поэтому ошибка (выход за границы массива). Помогите исправить! CLS ...

33
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
21.12.2016, 11:41
Студворк — интернет-сервис помощи студентам
Примерно так
1
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
21.12.2016, 14:01
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Но можно ли при помощи этого решения на VBA пройти конкретно нарисованный тут лабиринт?
Для этого лабиринт нужно описать в той системе, под которое сделано решение.
Сложность возникает в переводе из картинки в описание лабиринта (в виде матрицы либо в виде графа)
Вложения
Тип файла: rar LabirintWave3.rar (214.5 Кб, 7 просмотров)
1
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
21.12.2016, 17:30
Цитата Сообщение от m-ch Посмотреть сообщение
Для этого лабиринт нужно описать в той системе, под которое сделано решение.
Полагаю, что описание может занять время, гораздо большее, чем само прохождение.
Скажем, станет ли кто реальный кроссворд из журнала проходить вашим способом?
Т.е. практическое использование именно в этом качестве маловероятно.
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
21.12.2016, 18:15
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Скажем, станет ли кто реальный кроссворд из журнала проходить вашим способом?
Данный лабиринт программным способом нет необходимости решать, в уме выход находится за несколько секунд.

Большую ценности имеет реализация волнового алгоритма
Также есть варианты реализация поиска кратчайших путей алгоритмом Дейкстры, Левита, Форда-Беллмана

К примеру поиск кратчайших маршрутов от любой точки к любой делал на графе состоящим из 264346 точек и 733846 ребер. Решение находится за считанные секунды.

данные взял здесь (New York City)
решение (файл 10МБ): https://yadi.sk/d/JxL83oXIAnqsh
Лучше запускать решение алгоритмом Дейкстры для разреженного графа либо алгоритмом Левита, стандартную Дейкстру не нужно запускать иначе комп надолго зависнет.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
21.12.2016, 22:09
Всё очень просто, не надо никаких Дейкстр с Флойдами, обычная волна для лабиринта
работает оптимально. По поводу применимости к скану газет - это уже из области распознавания
образов, ТС в явном виде этого не требовал, до сих пор не воткнуть, что ему надобно.

(Если анимация глючит, кликнуть на картинку, откроется на отдельной вкладке):
0
 Аватар для STAR WARS
34 / 40 / 3
Регистрация: 24.11.2016
Сообщений: 159
22.12.2016, 00:29  [ТС]
ПОИСК ВЫХОДА
Вложения
Тип файла: zip WWW1.zip (786 байт, 10 просмотров)
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
22.12.2016, 08:36
Цитата Сообщение от Quiet Snow Посмотреть сообщение
это уже из области распознавания
образов
Всё гораздо проще, если по правилу правой руки - есть справа пиксель стены, идем вперёд, пропал - повернули направо. Ну примерно так, + - некоторые нюансы.
Мне было интересно, применим ли тот же волновой алгоритм в реальной жизни. В компьютерном мире понятно, что это оптимально. А пусть даже не журнал или газета, а физический лабиринт?
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
22.12.2016, 19:02
Цитата Сообщение от STAR WARS Посмотреть сообщение
ПОИСК ВЫХОДА
Иногда, в силу возраста, лучше ничего не писать на форуме, т.е. лучше использовать
форум как read only. Поверьте - это очень дельный совет и скоро вы поймёте почему.
И не нужно тыкать пальцем в небо, таким методом не попадёте - инфа 100%.
Рандом не построит вам каждый раз корректный лабиринт, а paint не найдёт маршрут, это факт.
0
 Аватар для STAR WARS
34 / 40 / 3
Регистрация: 24.11.2016
Сообщений: 159
23.12.2016, 12:08  [ТС]
А ТАК НАЙДЁТ
Вложения
Тип файла: zip WWW2.zip (830 байт, 12 просмотров)
0
 Аватар для dr_Morro
195 / 115 / 30
Регистрация: 05.08.2013
Сообщений: 491
23.12.2016, 12:26
Цитата Сообщение от STAR WARS Посмотреть сообщение
А ТАК НАЙДЁТ
Цирк какой-то...
0
23.12.2016, 13:59

Не по теме:

Цитата Сообщение от STAR WARS Посмотреть сообщение
А ТАК НАЙДЁТ
Зачем нас спрашивать? Возьми и проверь найдет или нет.

0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
23.12.2016, 15:41
А ТАК НАЙДЁТ
Нет. Тыкая пальцем в небо никогда ничего не случится, чуда не произойдёт.

В большинстве случаев лабиринт, построенный случайными стенами через рандом будет
некорректен, искать в нём выход из произвольной точки - означает не найти. Для его
построения ещё на первой странице этой темы дал вам ссылку с готовым запросом в гугл,
где пройдя по ссылкам вы увидите, что умные дядьки понаписали вам кучу алгоритмов (с
пошаговыми примерами), осталось только выбрать нужный, понять и перебить в программу.

PAINT не ищет марштут и не вернёт вам путь, он хоть и работает по волновому алгоритму,
но его цель закрасить область, а не вернуть путь(набор шагов пути, относительных или абсолютных).
Половина закрашенного лабиринта - это не путь.

Более того графический метод поиска будет означать, что вам потребуется иметь
дополнительную страницу видеопамяти, это нецелесообразно, логика должна быть отделена
от графической части. Делается это для того чтобы:
  • Вы в любой момент могли отрисовать ваш лабиринт, либо его часть, не дёргая страницы
    видеопамяти(которых может и не быть) и не мешая графической части вашей программы,
    к тому же POINT\PSET работает медленнее(на EGA), чем работа с массивом(т.к. он вынужден
    работать с портами ввода\вывода, а не с памятью), это может сильно замедлить работу вашей
    программы.
  • Сделать предрасчёт (например, найти путь заранее и хранить его в массиве).
  • Разделить логику - это всегда удобно для дробления программы на части(функции и подпрограммы).

Поэтому дельные советы, которые реально помогут:
1) Ссылка с готовым запросом, читайте алгоритмы
2) Справка QBasic - учите язык, массивы, циклы, операторы и т.д. т.п..
3) Форум - read only, потому что больше пол темы люди гадали, что вам нужно. А вы пропустили
мимо ушей все те полезные вещи, которые были написаны по теме. Если нет усидчивости читать
ответы, то в ответной писанине ещё меньше смысла.
0
Кормпилятор
 Аватар для Quiet Snow
5044 / 1718 / 409
Регистрация: 25.04.2010
Сообщений: 4,827
Записей в блоге: 2
24.12.2016, 02:20
Генерация и решение лабиринта волной.
Код в самом ламерском QB стиле.
3 режима работы, автоматический(по таймеру 1/18), итеративный (по пробелу)
и полноскоростной. В итеративном режиме можно посмотреть как алгоритмы работают,
автоматический можно использовать как скринсейвер.
Миниатюры
Исправить код лабиринта   Исправить код лабиринта  
Вложения
Тип файла: zip LABIRINT.zip (4.5 Кб, 14 просмотров)
2
 Аватар для PAnT0P
1492 / 587 / 107
Регистрация: 26.03.2012
Сообщений: 1,039
29.12.2016, 14:08
Можно я тоже присоединюсь?
Поиск кратчайшего пути
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.12.2016, 14:08

Исправить код вычисления значения функции
Подскажите пожалуйста, что делаю не так? CLS x1=2.2 x2=3.2 s=0.1 x=x1 40 y=SQR(2+SQR(1.25+x))-1.5*x+2.5 PRINT "x=";...

Построить графики функций, исправить код
Задание х нач х кон шаг функция -10 10 0.01 1) 20*X^2+(30*X-180) 1 10 ...

Исправить код определения типа треугольника
Разработайте программу, которая вводит длины трёх сторон треугольника и определяет его тип по двум параметрам:...

Исправить поиск выхода из лабиринта
Есть программа поиска выхода из лабиринта: #include <stdio.h> #include <io.h> #include <iostream> using namespace std; ...

Прохождение лабиринта: неожиданное поведение программы (найти и исправить ошибки)
Всем доброго времени суток. В общем написал я программу для генерации лабиринта и программу для его прохождения. В первой генерирую...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Опции темы

Новые блоги и статьи
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701 Купил два термопринтера QR701. На сэлф-тесте написано: Language: PC936 (GB18030). Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru