Um... Here's the attached code, sorry.



Alan said:
What do you see the maze as doing?

T's reply:
The maze is simply the backdrop.  I've attached the new and improved code.

Alan said:
OK, So I'm asssuming these gifs represent something, not actual gif
files?

T's reply:
um... actually, the .gif will be a photo that will be taken as part of the
'game'. In other words, eventually, the user will be able to take a series
pictures of themselves if they have a webcam (I have a script that will do
that). Then, the first pic (without going into too much detail) will be the
main pic as it goes around the maze.  When the pic 'collides' with items
that will be placed (much like a pacman game) another pic will be displayed
(happy for good items, sad for bad items).

So, now I'm building the .gif class and will post questions, or successes as
they occur.

Thank you for your help and suggestions, and for any 'future' suggestions
(wink).

T


_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor


"""
Build the maze and pathway
"""
from Tkinter import *
import time

root = Tk()
root.title("Background")
canvasOne = Canvas(width = 800, height = 700, bg = 'black')
canvasOne.pack()

def createWall((x0, y0), (x1, y1), colour = 'blue', width = 3):
   """ create a double wall outlining the maze. """
   canvasOne.create_line(x0, y0, x1, y1, width = width, fill = colour)
   canvasOne.create_line(350, 630, 450, 630, width = 3, fill = 'gold', tag = 
'gate')

def buildPathHorizontal((val1, val2, number), increment = 20, delta = 5):
   """ build the  horizontal path through the maze, small white squares"""
   for i in range(number):
       val1 += increment
       x, y = val1, val2
       deltax = x + delta
       deltay = y + delta
       canvasOne.create_rectangle(x, y, deltax, deltay, fill = 'white')

def buildPathVertical((val1, val2, number), increment = 20, delta = 5):
   """ build the vertical path through the maze, small white squares"""
   for i in range(number):
       val2 += increment
       x, y = val1, val2
       deltax = x + delta
       deltay = y + delta
       canvasOne.create_rectangle(x, y, deltax, deltay, fill = 'white')
outerWall = [(450, 640), (475, 640), (475, 640), (475, 690), (475, 690), (790, 690), (790, 690),
                (790, 530), (790, 530), (660, 530), (660, 530), (660, 360), 
(790, 360), (790, 10), (790, 10),
                (10, 10), (10, 10), (10, 360), (10, 360), (150, 360), (150, 
360), (150, 530), (150, 530),
                (10, 530), (10, 530), (10, 690), (10, 690), (325, 690), (325, 
690), (325, 640), (325, 640),
                (350, 640), (350, 630), (350, 630), (315, 630), (315, 680), 
(20, 680), (20, 680), (20, 560),
            (20, 540), (160, 540), (160, 540), (160, 350), (20, 350), (20, 
350), (20, 20), (20, 20),
            (380, 20), (380, 20), (380, 130), (380, 130), (420, 130), (420, 
130), (420, 20), (420, 20),
            (780, 20), (780, 350), (780, 350), (650, 350), (650, 350), (650, 
540), (650, 540), (780, 540),
            (780, 540), (780, 680), (780, 680), (485, 680), (485, 630), (485, 
630), (450, 630), (450, 630),
            (450, 640)]
topLeftBox = [(130, 105), (130, 125), (130, 125), (250, 125), (250, 125), (250, 
105),
                   (130, 105), (250, 105)]
secondTopLeftBox = [(160, 215), (160, 225), (160, 215), (230, 215), (230, 215),
                   (230, 225), (160, 225), (230, 225)]
topRightBox = [(545, 105), (545, 125), (545, 125), (665, 125), (665, 125), (665, 105), (545, 105), (665, 105)]
secondTopRightBox = [(560, 215), (560, 225), (560, 215), (625, 215), (625, 
215), (625, 225),
                    (625, 225), (560, 225)]
middleT = [(345, 240), (455, 240), (345, 240), (345, 240), (345, 250), (395, 
250), (395, 250), (395, 335),
          (395, 335), (405, 335), (405, 335), (405, 250), (405, 250), (455, 
250), (455, 250), (455, 240)]
leftSidewaysT = [(275, 340), (275, 500), (275, 340), (285, 340), (285, 340), 
(285, 415), (285, 415), (345, 415),
                (345, 415), (345, 425), (285, 425), (345, 425), (285, 425), 
(285, 500), (275, 500), (285, 500)]
rightSidewaysT = [(525, 340), (525, 500), (525, 340), (515, 340), (515, 340), 
(515, 415), (515, 415), (455, 415),
                 (455, 415), (455, 425), (515, 425), (455, 425), (515, 425), 
(515, 500), (515, 500), (525, 500)]

walls = [outerWall] for wall in walls: for i in range(len(wall) - 1): createWall(outerWall[i], outerWall[i+1])
boxes = [topLeftBox, secondTopLeftBox, topRightBox, secondTopRightBox]

for box in boxes:
   for i in range(len(box)-1):
       createWall(topLeftBox[i], topLeftBox[i+1]),
       createWall(secondTopLeftBox[i], secondTopLeftBox[i+1]),
       createWall(topRightBox[i], topRightBox[i+1]),
       createWall(secondTopRightBox[i], secondTopRightBox[i+1])

Ts = [middleT, leftSidewaysT, rightSidewaysT]

for t in Ts:
   for i in range(len(t)-1):
       createWall(middleT[i], middleT[i+1]),
       createWall(leftSidewaysT[i], leftSidewaysT[i+1]),
       createWall(rightSidewaysT[i], rightSidewaysT[i+1])


horizontalPath = [(40, 610, 9), (60, 290, 14), (60, 50, 12), (60, 170, 33), 
(440, 290, 1),
                      (440, 290, 14), (480, 50, 12), (340, 370, 5), (220, 570, 
18), (580, 610, 8),
                 (0,0,0)]
verticalPath = [(60, 30, 13), (220, 290, 15), (300, 50, 11), (500, 30, 13), 
(340, 290, 4), (340, 290, 4),
               (400, 370, 9), (460, 290, 4), (580, 290, 16), (720, 30, 13), 
(0,0,0)]

paths = [horizontalPath, verticalPath]

for path in paths:
   for i in range(len(path)-1):
       buildPathHorizontal(horizontalPath[i]),
       buildPathVertical(verticalPath[i])


image = 'DustY.gif'
photo = PhotoImage(file=image)
xp = 100
yp = 600
ph = canvasOne.create_image(xp, yp, image = photo)
#ph
class movingImages:
def __init__(self,
root.mainloop()
_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to