Python Turtle的问题

时间:2018-07-25 13:50:16

标签: python-2.7 turtle-graphics

我是第一次玩pythons turtle模块(也是python的初学者),遇到了问题。我正在尝试定义一个具有特定方法的类,该方法会转动乌龟,然后将其向前移动。这是代码:

class Player(Turtle):
    def __init__(self):
        self = turtle.Turtle()
        self.ht()
        self.pu()
        self.color("white")
        self.setpos(0, -270)
        self.speed(3)
        self.st()

    def moveLeft(self):
        self.setheading(180)
        self.fd(10)

运行程序(创建播放器实例)时,出现以下错误:

“ AttributeError:“玩家”对象没有属性“ _orient””

我有点迷失了,任何帮助将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:0)

这里的困惑似乎是您试图让Player subclass Turtle和 contain 都变成Turtle。通常我们会做一个或另一个,但不能两者都做。以下是子类方法的解决方案:

from turtle import Turtle, Screen

class Player(Turtle):
    def __init__(self):
        super(Player, self).__init__(visible=False)

        self.penup()
        self.color("white")
        self.setposition(0, -270)
        self.speed('slow')
        self.showturtle()

    def moveLeft(self):
        self.setheading(180)
        self.forward(10)

screen = Screen()
screen.bgcolor("black")

p = Player()

p.moveLeft()

screen.exitonclick()