Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import turtle
- import os
- import random
- import math
- lives=3
- score=0
- maze = [
- "XXXXXXXXXXXXXXXXXXXXXXXXX",
- "XP XXXXXXXE XX",
- "X XXXXXXX XXXXXX XXXXX",
- "X XX XXXXXX XXXXX",
- "X XX XXX EXX",
- "XXXXXX XX XXX XX",
- "XXXXXX XX XXXXXX XXXXX",
- "XXXXXX XX XXXX XXXXX",
- "X XXX XXXX XXXXX",
- "X XXX XXXXXXXXXXXXXXXXX",
- "X XXXXXXXXXXXXXXX",
- "X XXXXXXXX",
- "XXXXXXXXXXXX XXXXX X",
- "XXXXXXXXXXXXXXX XXXXX X",
- "XXX XXXXXXXXXX X",
- "XXXE X",
- "XXX XXXXXXXXXXXXX",
- "XXXXXXXXXX XXXXXXXXXXXXX",
- "XXXXXXXXXX X",
- "XX XXXXX X",
- "XX XXXXXXXXXXXXX XXXXX",
- "XX YXXXXXXXXXXX XXXXX",
- "XX XXXX X",
- "XXXXE X",
- "XXXXXXXXXXXXXXXXXXXXXXXXX"
- ]
- #Functions used for the movement of pacman
- def move():
- if player.direction=="right":
- player.setx(player.xcor()+7)
- if player.direction=="left":
- player.setx(player.xcor()-7)
- if player.direction=="up":
- player.sety(player.ycor()+7)
- if player.direction=="down":
- player.sety(player.ycor()-7)
- def movebad():
- for bad in badlist:
- if bad.direction=="right":
- bad.setx(bad.xcor()+4)
- if bad.direction=="left":
- bad.setx(bad.xcor()-4)
- if bad.direction=="up":
- bad.sety(bad.ycor()+4)
- if bad.direction=="down":
- bad.sety(bad.ycor()-4)
- def right():
- player.direction="right"
- def left():
- player.direction="left"
- def up():
- player.direction="up"
- def down():
- player.direction="down"
- def exit():
- turtle.bye()
- screen=turtle.Screen()
- screen.bgcolor("black")
- screen.setup(900,900)
- screen.tracer(n=0)
- walllist=[]
- badlist=[]
- dotlist=[]
- colors=["red","light blue","pink","yellow"]
- direction=["right","left","up","down"]
- x=-365
- y=360
- t=0
- for r in maze:
- for h in r:
- if h=="X":
- wall=turtle.Turtle()
- wall.color("blue")
- wall.shapesize(1.43,1.43,1)
- wall.shape("square")
- wall.penup()
- wall.goto(x,y)
- walllist.append(wall)
- if h=="P":
- player=turtle.Turtle()
- player.speed(0)
- player.color("yellow")
- player.shape("circle")
- player.penup()
- player.direction="stop"
- player.goto(x,y)
- if h=="E":
- bad=turtle.Turtle()
- color1=colors[t]
- bad.color(color1)
- bad.shapesize(0.75,0.75,1)
- bad.shape("square")
- bad.penup()
- bad.goto(x,y)
- t+=1
- bad.direction=random.choice(direction)
- badlist.append(bad)
- if h==" ":
- dot=turtle.Turtle()
- dot.color("white")
- dot.shape("circle")
- dot.shapesize(0.3,0.3,1)
- dot.penup()
- dot.goto(x,y)
- dotlist.append(dot)
- x+=30
- x=-365
- y-=30
- write=turtle.Turtle()
- write.penup()
- write.hideturtle()
- write.speed(0)
- write.goto(0,390)
- write.color("white")
- write.write("Score: {} Lives: {}".format(score, lives), align="center", font=("Courier", 24, "bold"))
- screen.listen()
- screen.onkey(right,"Right")
- screen.onkey(up,"Up")
- screen.onkey(down,"Down")
- screen.onkey(left,"Left")
- screen.onkey(exit,"Escape")
- while True:
- move()
- movebad()
- screen.update()
- for dot in dotlist:
- if player.distance(dot)<15:
- #dot.goto(random.randint(1000,2000),random.randint(1000,2000))
- dot.hideturtle()
- dotlist.remove(dot)
- score+=10
- write.clear()
- write.write("Score: {} Lives: {}".format(score, lives), align="center", font=("Courier", 24, "bold"))
- for bad in badlist:
- for wall in walllist:
- if bad.distance(wall)<=25:
- if bad.direction=="right":
- bad.setx(bad.xcor()+4)
- bad.direction=random.choice(direction)
- if bad.direction=="left":
- bad.setx(bad.xcor()-4)
- bad.direction=random.choice(direction)
- if bad.direction=="up":
- bad.sety(bad.ycor()+4)
- bad.direction=random.choice(direction)
- if bad.direction=="down":
- bad.sety(bad.ycor()-4)
- bad.direction=random.choice(direction)
- turtle.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement