Форум программистов, компьютерный форум, киберфорум
Наши страницы
QBasic
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
STAR WARS
14 / 19 / 3
Регистрация: 24.11.2016
Сообщений: 107
1

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

10.12.2016, 15:29. Просмотров 1067. Ответов 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
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2016, 15:29
Ответы с готовыми решениями:

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

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

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

Исправить код вычисления значения функции
Подскажите пожалуйста, что делаю не так? CLS x1=2.2 x2=3.2 s=0.1 x=x1 40...

Построить графики функций, исправить код
Задание х нач х кон шаг функция -10 10 0.01 ...

33
echs
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8
10.12.2016, 16:37 2
STAR WARS
Вы хотите нарисовать лабиринт или написать
программу, которая в придачу распечатает код
в файл?
0
STAR WARS
14 / 19 / 3
Регистрация: 24.11.2016
Сообщений: 107
10.12.2016, 17:18  [ТС] 3
ЭТО ЯЗЫК ПРОГРАММИРОВАНИЯ
0
Pro_grammer
Модератор
6222 / 2309 / 450
Регистрация: 24.04.2011
Сообщений: 4,128
Записей в блоге: 10
10.12.2016, 17:30 4
Цитата Сообщение от STAR WARS Посмотреть сообщение
ЭТО ЯЗЫК ПРОГРАММИРОВАНИЯ
Во как! И не поспоришь.
1
10.12.2016, 17:30
STAR WARS
14 / 19 / 3
Регистрация: 24.11.2016
Сообщений: 107
12.12.2016, 13:23  [ТС] 5
Bash
1
2
3
4
5
6
7
8
OPEN "WWW.BAS" FOR APPEND AS #1
INPUT "KOMEHTAPII"; S$
PRINT #1, S$
CLOSE #1
 
'WOD
'Enter
'WWW.BAS
0
dr_Morro
187 / 107 / 29
Регистрация: 05.08.2013
Сообщений: 476
12.12.2016, 15:58 6
Я понял. Это ЛАБИРИНТ РАЗУМА. Он непроходим!
0
STAR WARS
14 / 19 / 3
Регистрация: 24.11.2016
Сообщений: 107
12.12.2016, 16:12  [ТС] 7
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
OPEN "WWW.BAS" FOR APPEND AS #1
FOR a = 1 TO 100
INPUT "KOMMEHTAPII"; S$
PRINT #1, S$
NEXT
CLOSE #1
 
'Enter
0
кот Бегемот
Платежеспособный зверь
8588 / 4001 / 1568
Регистрация: 28.10.2009
Сообщений: 10,475
13.12.2016, 12:19 8
Цитата Сообщение от dr_Morro Посмотреть сообщение
Я понял. Это ЛАБИРИНТ РАЗУМА. Он непроходим!
Ничего ты не понял. Тебе же по русски объяснили:
Цитата Сообщение от STAR WARS Посмотреть сообщение
ЭТО ЯЗЫК ПРОГРАММИРОВАНИЯ
0
STAR WARS
14 / 19 / 3
Регистрация: 24.11.2016
Сообщений: 107
17.12.2016, 13:49  [ТС] 9
ЛАБИРИНТ
0
Вложения
Тип файла: zip WWW.BAS.zip (769 байт, 9 просмотров)
STAR WARS
14 / 19 / 3
Регистрация: 24.11.2016
Сообщений: 107
18.12.2016, 21:58  [ТС] 10
ПРИМЕР
0
Миниатюры
Исправить код лабиринта  
Pro_grammer
Модератор
6222 / 2309 / 450
Регистрация: 24.04.2011
Сообщений: 4,128
Записей в блоге: 10
19.12.2016, 08:29 11
STAR WARS, Вопрос задайте, что хотите что бы тут Вам сделали с Вашим кодом и вашей красивой картинкой?
0
dr_Morro
187 / 107 / 29
Регистрация: 05.08.2013
Сообщений: 476
19.12.2016, 08:53 12
Это, извиняюсь,ЧТО?
Кликните здесь для просмотра всего текста
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
SCREEN 13
RANDOMIZE TIMER
LINE (5, 5)-(225, 145), 1, B
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (25, 5)-(25, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (45, 5)-(45, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (65, 5)-(65, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (85, 5)-(85, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (105, 5)-(105, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (125, 5)-(125, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (145, 5)-(145, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (165, 5)-(165, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (185, 5)-(185, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (205, 5)-(205, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (225, 5)-(225, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (5, 25)-(25, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (25, 25)-(45, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (45, 25)-(65, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (65, 25)-(85, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (85, 25)-(105, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (105, 25)-(125, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (125, 25)-(145, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (145, 25)-(165, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (165, 25)-(185, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (185, 25)-(205, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (205, 25)-(225, 25), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (25, 25)-(25, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (45, 25)-(45, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (65, 25)-(65, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (85, 25)-(85, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (105, 25)-(105, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (125, 25)-(125, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (145, 25)-(145, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (165, 25)-(165, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (185, 25)-(185, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (205, 25)-(205, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (5, 45)-(25, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (25, 45)-(45, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (45, 45)-(65, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (65, 45)-(85, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (85, 45)-(105, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (105, 45)-(125, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (125, 45)-(145, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (145, 45)-(165, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (165, 45)-(185, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (185, 45)-(205, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (205, 45)-(225, 45), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (25, 45)-(25, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (45, 45)-(45, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (65, 45)-(65, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (85, 45)-(85, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (105, 45)-(105, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (125, 45)-(125, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (145, 45)-(145, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (165, 45)-(165, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (185, 45)-(185, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (205, 45)-(205, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (5, 65)-(25, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (25, 65)-(45, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (45, 65)-(65, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (65, 65)-(85, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (85, 65)-(105, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (105, 65)-(125, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (125, 65)-(145, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (145, 65)-(165, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (165, 65)-(185, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (185, 65)-(205, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (205, 65)-(225, 65), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (25, 65)-(25, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (45, 65)-(45, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (65, 65)-(65, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (85, 65)-(85, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (105, 65)-(105, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (125, 65)-(125, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (145, 65)-(145, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (165, 65)-(165, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (185, 65)-(185, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (205, 65)-(205, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (5, 85)-(25, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (25, 85)-(45, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (45, 85)-(65, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (65, 85)-(85, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (85, 85)-(105, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (105, 85)-(125, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (125, 85)-(145, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (145, 85)-(165, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (165, 85)-(185, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (185, 85)-(205, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (205, 85)-(225, 85), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (25, 85)-(25, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (45, 85)-(45, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (65, 85)-(65, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (85, 85)-(85, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (105, 85)-(105, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (125, 85)-(125, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (145, 85)-(145, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (165, 85)-(165, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (185, 85)-(185, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (205, 85)-(205, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (5, 105)-(25, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (25, 105)-(45, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (45, 105)-(65, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (65, 105)-(85, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (85, 105)-(105, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (105, 105)-(125, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (125, 105)-(145, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (145, 105)-(165, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (165, 105)-(185, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (185, 105)-(205, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (205, 105)-(225, 105), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (25, 105)-(25, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (45, 105)-(45, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (65, 105)-(65, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (85, 105)-(85, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (105, 105)-(105, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (125, 105)-(125, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (145, 105)-(145, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (165, 105)-(165, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (185, 105)-(185, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (205, 105)-(205, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (5, 125)-(25, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (25, 125)-(45, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (45, 125)-(65, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (65, 125)-(85, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (85, 125)-(105, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (105, 125)-(125, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (125, 125)-(145, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (145, 125)-(165, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (165, 125)-(185, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (185, 125)-(205, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (205, 125)-(225, 125), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (25, 125)-(25, 145), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (45, 125)-(45, 145), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (65, 125)-(65, 145), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (85, 125)-(85, 145), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (105, 125)-(105, 145), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (125, 125)-(125, 145), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (145, 125)-(145, 145), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (165, 125)-(165, 145), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (185, 125)-(185, 145), 1
A = INT(RND(1) * 2)
IF A = 1 THEN LINE (205, 125)-(205, 145), 1


То, что это язык программирования - уже в курсе.

Добавлено через 10 минут
Или по форуму никак не ищется?
Лабиринт QBasic-а
0
кот Бегемот
Платежеспособный зверь
8588 / 4001 / 1568
Регистрация: 28.10.2009
Сообщений: 10,475
19.12.2016, 18:28 13
Цитата Сообщение от dr_Morro Посмотреть сообщение
Это, извиняюсь,ЧТО?
dr_Morro, это очень суровая программа...
0
Pro_grammer
Модератор
6222 / 2309 / 450
Регистрация: 24.04.2011
Сообщений: 4,128
Записей в блоге: 10
19.12.2016, 21:03 14
Quiet Snow, мне почему то кажется, что ему нужен не алгоритм построения лабиринта, а алгоритм прохождения лабиринта, который на картинке.
0
Quiet Snow
4416 / 1313 / 378
Регистрация: 25.04.2010
Сообщений: 3,421
20.12.2016, 13:57 15
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Quiet Snow, мне почему то кажется, что ему нужен не алгоритм построения лабиринта, а алгоритм прохождения лабиринта, который на картинке.
Возможно.

Ну тогда тут всё просто, делаем примерно тоже самое, что делает оператор PAINT.
Заводим циклическую структуру скажем на 200 ячеек.
Т.к. вход и выход должны быть помечены, можно просто пробежаться в
двойном цикле и найти один из концов лабиринта, оттуда и начинать "красить".
Ставим ячейку к концу лабиринта и активируем её, она будет порождать
соседние ячейки, те в свою очередь свои соседние и т.д. Рано или поздно
одна из ячеек наткнётся на другой конец. Делаем обратную трассировку,
для которой в структуре ячейки нужно учесть родителя ячейки и пройденный
маршут(для минимального кол-ва ходов).
Остальное дело техники. Можно использовать рекурсию, можно бесконечные
циклы, кому как нравится.
1
Pro_grammer
Модератор
6222 / 2309 / 450
Регистрация: 24.04.2011
Сообщений: 4,128
Записей в блоге: 10
20.12.2016, 15:57 16
Цитата Сообщение от Quiet Snow Посмотреть сообщение
Можно использовать рекурсию, можно бесконечные
циклы, кому как нравится.
Я однажды решал задачу прохождения нарисованного лабиринта. Действовал просто, по правилу правой руки. Выход помечается каким либо цветом, со входа рисуем линию, проверяя наличие стены справа. Не оптимально, долго, но выход находит всегда, если лабиринт правильный.
0
Quiet Snow
4416 / 1313 / 378
Регистрация: 25.04.2010
Сообщений: 3,421
20.12.2016, 16:36 17
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Действовал просто, по правилу правой руки.
Видел такой метод в каком-то обучающем видео. Кстати он используется в старой
заставке лабиринт с 98-й винды.



Цитата Сообщение от Quiet Snow Посмотреть сообщение
циклическую структуру
Пардон, лоханулся , не циклическую(её как раз для оператора PAINT), т.к. узлы не удаляем.
0
кот Бегемот
Платежеспособный зверь
8588 / 4001 / 1568
Регистрация: 28.10.2009
Сообщений: 10,475
20.12.2016, 22:10 18
Алгоритм Флойда решает эту задачу на раз.
0
m-ch
5557 / 839 / 281
Регистрация: 25.02.2011
Сообщений: 1,186
Записей в блоге: 1
20.12.2016, 23:33 19
Делал давно поиск выхода из лабиринта волновым алгоритмом
См. решение на VBA

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

Также лабиринт можно свести к описанию графа и тогда применить к нему алгоритм Дейкстры, решение будет находится достаточно быстро.
1
Вложения
Тип файла: zip LabirintWave2.zip (572.4 Кб, 4 просмотров)
Pro_grammer
Модератор
6222 / 2309 / 450
Регистрация: 24.04.2011
Сообщений: 4,128
Записей в блоге: 10
21.12.2016, 10:46 20
m-ch, Это очень круто.
Но можно ли при помощи этого решения на VBA пройти конкретно нарисованный тут лабиринт? Прямо поверх изображения?
0
21.12.2016, 10:46
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.12.2016, 10:46

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru