Jun-10-2021, 09:01 AM
Hi ,I am making a dungeon maze game with turtle module and there is an error and i don't know that what does that error mean and how to fix it.Please help me if you know.
I'm very very thank you if you spend sometime answering my question.
And if you what to know sth please call me
Here is my code:
I'm very very thank you if you spend sometime answering my question.
And if you what to know sth please call me
Here is my code:
import turtle import math import time screen=turtle.Screen() screen.bgcolor("blue") screen.title("basic maze") screen.setup(600,600) class block(turtle.Turtle): def __init__(self): turtle.Turtle.__init__(self) self.shape("square") self.color("white") self.penup() self.speed(0) class Mily(turtle.Turtle): def __init__(self): turtle.Turtle.__init__(self) self.shape("square") self.color("green") self.penup() self.speed(0) self.point=0 def up(self): pre_1=me.xcor() pre_2= me.ycor()+24 if (pre_1,pre_2)not in BLOCKS: self.goto(pre_1,pre_2) def down(self): pre_1=me.xcor() pre_2=me.ycor()-24 if (pre_1,pre_2)not in BLOCKS: self.goto(pre_1,pre_2) def left(self): pre_1=me.xcor()-24 pre_2=me.ycor() if (pre_1,pre_2)not in BLOCKS: self.goto(pre_1,pre_2) def right(self): pre_1=me.xcor()+24 pre_2=me.ycor() if (pre_1,pre_2)not in BLOCKS: self.goto(pre_1,pre_2) def touch(self,different): A=self.xcor()-different.xcor() B=self.ycor()-different.ycor() range=math.sqrt((A**2)+(B**2)) if range < 5: return True else: return False class Point(turtle.Turtle): def __init__(self,x,y): turtle.Turtle.__init__(self) self.shape("square") self.color("yellow") self.penup() self.speed(0) self.point=100 self.goto(x,y) def dis(self): self.goto(1000,1000) self.hideturtle() class Point_1(turtle.Turtle): def __init__(self,x,y): turtle.Turtle.__init__(self) self.shape("square") self.color("yellow") self.penup() self.speed(0) self.point=100 self.goto(x,y) def dis(self): self.goto(2000,200000) self.hideturtle() Levels=[""] level_1=[ "XXXXXXXXXXXXXXXXXXXX", "X M X X X X", "X X X X X", "X X X X XXX X", "X X X X X X", "X XXXXXX X X X", "X X X X XXX", "X X X X X", "X X XXX X", "X X X X", "X XXXXX X XXX", "X X X", "X X X", "XXXXXX X X", "X X X X", "X XXX X XXXX", "X X XXX X X", "X X X", "X X P X X", "XXXXXXXXXXXXXXXXXXXX" ] points=[] Levels.append(level_1) def build(level): for y in range(len(level)): for x in range(len(level[y])): Thing=level[y][x] screen_x=-288+(x*24) screen_y=288-(y*24) if Thing=="X": pen.goto(screen_x,screen_y) pen.stamp() BLOCKS.append((screen_x,screen_y)) if Thing=="M": me.goto(screen_x,screen_y) if Thing=="P": points.append(Point(screen_x,screen_y)) me=Mily() pen=block() turtle.listen() turtle.onkey(me.up,"Up") turtle.onkey(me.down,"Down") turtle.onkey(me.left,"Left") turtle.onkey(me.right,"Right") BLOCKS=[] build(Levels[1]) screen.tracer(0) limit=10 start=time.time() while True: pass_time=time.time()-start if pass_time > limit: Point.dis() points.append(Point_1(-169,-96)) for Point in points: if me.touch(Point): me.point+=Point.point print("YOUR POINT:{}".format(me.point)) Point.dis() points.remove(Point) points.append(Point_1(-169,-96)) for Point_1 in points: if me.touch(Point_1): me.point+=Point_1.point print("YOUR POINT:{}".format(me.point)) Point_1.dis() points.remove(Point_1) screen.update()And here is the error;
Error:points.append(Point_1(-169,-96))
TypeError: 'Point' object is not callable
[Finished in 7.3s with exit code 1]