def setup():
    global maze, mx, my, tr
    mx = 20
    my = 20
    maze = Maze([
    "################################",
    "#    #   #       #          #  #",
    "#### # # # ##### # ### #### #  #",
    "#      #   #     # # # #    #  #",
    "## ########### ### ### ######  #",
    "#  #        #                  #",
    "# ## ###### #########          #",
    "#  #  #   # #                  #",
    "## ####   # #                  #",
    "#         ###                  #",
    "#                              #",
    "#                              #",
    "#                              #",
    "#                              #",
    "#                             *#",
    "################################"])
    tr = Traveller(1, 1, maze)
    size(len(maze[0])*mx, len(maze)*my)
#     frameRate(30)
    background(20)
    
                    
def draw():
    maze.show()
    tr.show()
         
def delay(ms):
    time = millis()
    while (millis() - time <= ms):
        pass

class Maze(object):
    def __init__(self, map):
        self.map = map
        self.height = len(map)
        self.width = len(map[0])
        
    def show(self):
        for y in range(0, len(map)):
            cs = map[y]
            for x in range(0, len(cs)):
                s = cs[x]
                if s == "#":
                    noStroke()
                    fill(255, 255, 255)
                    rectMode(CORNERS)
                    rect(x*mx, y*my, x*mx+mx, y*my+my)
                if s == "*":
                    noStroke()
                    fill(255, 0, 255)
                    triangle(x*mx, y*my, x*mx+mx, y*my, x*mx+mx/2, y*my+my)

class Traveller(object):
    def __init__(self, x, y, maze):
        self.x = x
        self.y = y
        self.maze = maze
        
    def show(self):
        noStroke()
        fill(0, 255, 0)
        ellipseMode(CORNERS)
        ellipse(self.x*mx, self.y*my, self.x*mx+mx, self.y*my+my)


@@ -227,25 +227,25 @@
  # # #    # 
- 
+#
 #%22,%0A    %22## 
@@ -296,39 +296,39 @@
      #          
+#
     
-   
+##
  #%22,%0A    %22# ## #
@@ -341,23 +341,23 @@
 ########
-# 
  
+#
     
+#
     #%22,%0A
@@ -373,39 +373,39 @@
   #   # #   
-               
+#  # ##########
 #%22,%0A    %22## 
@@ -413,22 +413,22 @@
 ### 
- 
+#
  # # 
-   
+#
     
- 
+# #
     
@@ -448,75 +448,75 @@
 %22#  
+#
     
-   ###                  #%22,%0A    %22#                  
+# ### # #### # # ##### #%22,%0A    %22# ## ####   # #
       
-  
+# # #
    
+#
  #%22,
@@ -527,70 +527,70 @@
  %22# 
+#
      
-                        #%22,%0A    %22#               
+# # # ######## # ##### #%22,%0A    %22# # ##  # # #
     
+#
    
- 
+# #
     
@@ -607,37 +607,37 @@
  %22# 
-                             
+# #  ## # #### # # # # ######
 #%22,%0A
@@ -645,36 +645,36 @@
    %22#   
+#
   
+#
   
+#
     
+#
    
+#
    
-      
+#
       *#
@@ -761,41 +761,39 @@
 ize(
-len(maze%5B0%5D)*mx, len(maze)
+maze.width*mx, maze.height
 *my)%0A
-# 
     
@@ -825,24 +825,49 @@
 und(20)%0A    
+maze.show()%0A    tr.show()
 %0A           
@@ -896,33 +896,12 @@
     
-maze.show()%0A    tr.show()
+pass
 %0A   
@@ -1182,24 +1182,27 @@
 ange(0, 
-len(map)
+self.height
 ):%0A     
@@ -1213,16 +1213,21 @@
    cs = 
+self.
 map%5By%5D%0A 
@@ -1259,15 +1259,18 @@
 (0, 
-len(cs)
+self.width
 ):%0A 

Update maze