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