创建turn()方法来改变水平方向

时间:2013-11-25 20:27:36

标签: python class methods

我正在开发一个包含turn()方法的类,该方法应该水平改变方向。这个错误在水平线上向左或向右移动。

这是我的代码,我知道这是错的,但我无法弄清楚如何改变水平方向

class Bug:
    def __init__(self, position):
        self.__name = ''
        self.__position = 0
        self.__direction = 180

    **def turn(self):
        if(self.__direction == 180):
            self.__direction = self.__direction - 180
        else:
            self.__direction = self.__direction + 180**

    def move(self):
        self.__position = self.__position + 1


    def getPosition(self):
        return self.__position

有人会介意我指向正确的方向吗?我知道它非常简单,但我碰到了一块,无法弄明白!

编辑:我为没有更清楚而道歉! move()方法只是将bug移动到当前方向的一个单元。我也做了一个编辑并删除了自我.__方向,因为只有两个实例变量,而不是3.所以基本上我需要修复的是turn()方法,使我的bug改变方向(左边或右边的水平线)。

1 个答案:

答案 0 :(得分:0)

我只能猜测你想要达到的目标,我想在move方法中应该考虑实际的方向:

#! /usr/bin/python3.2

class Bug:
    def __init__(self, position):
        self.__name = ''
        self.__position = position
        self.__direction = 1

    def turn(self):
        self.__direction = -self.__direction

    def move(self):
        self.__position = self.__position + self.__direction

    def getPosition(self):
        return self.__position

b = Bug (100)
for _ in range(5):
    b.move()
    print(b.getPosition())
b.turn()
for _ in range(5):
    b.move()
    print(b.getPosition())

输出:

101
102
103
104
105
104
103
102
101
100