我正在开发一个包含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改变方向(左边或右边的水平线)。答案 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