質問編集履歴

1

自分でwhile文を追加してみましたが、UnboundLocalError: local variable 'x' referenced before assignmentが出てしまいました。

2020/07/31 16:19

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  現状ではrキーを何回か押さなければなりませんが、一度押しただけで迷路内のマス(x、y)のうち、x、yがともに偶数であるマスがすべて壁になるまで壁を生成するようにしたいです。
10
10
 
11
- どのようにやれば良いか、while文を使ってお教えいたけると幸です
11
+ while文の中身のヒントを教えてくい。
12
12
 
13
13
 
14
14
 
@@ -284,22 +284,24 @@
284
284
 
285
285
  def generate_maze_random():
286
286
 
287
+ while road_map[x][y] != 1:
288
+
287
- for x in range(2, board_x-2, 2):
289
+ for x in range(2, board_x-2, 2):
288
-
290
+
289
- for y in range(2, board_y-2, 2):
291
+ for y in range(2, board_y-2, 2):
290
-
292
+
291
- if road_map[x][y] == 1:
293
+ if road_map[x][y] == 1:
292
-
294
+
293
- r = int(random(0, 3))
295
+ r = int(random(0, 3))
294
-
296
+
295
- dx = dir_x[r]
297
+ dx = dir_x[r]
296
-
298
+
297
- dy = dir_y[r]
299
+ dy = dir_y[r]
298
-
300
+
299
- if road_map[x+dx*2][y+dy*2] == 0:
301
+ if road_map[x+dx*2][y+dy*2] == 0:
300
-
302
+
301
- road_map[x+dx][y+dy] = 1
303
+ road_map[x+dx][y+dy] = 1
302
-
304
+
303
- road_map[x+dx*2][y+dy*2] =1
305
+ road_map[x+dx*2][y+dy*2] =1
304
306
 
305
307
  ```