|
发表于 2020-9-3 15:59:34
|
显示全部楼层
你可以理解为:缩进量相同的代码在同一“层”中,多缩进一个tab代表这些代码在上一“层”的内部。例如:
- class Turtle: #这里完全没有缩进,所以在最底部
- def __init__(self):#这里有一个缩进,说明这个def是在class内部的
- # 乌龟初始体力
- self.power = 100 #这里有2个缩进,说明,它是在只有一个缩进的def内部的,下面类似
- # 初始位置随机
- self.x = r.randint(legal_x[0], legal_x[1]) #0到10之间的随机数
- self.y = r.randint(legal_y[0], legal_y[1]) #到这里都是两个缩进,下面是一个缩进了,说明def __init__(self):到这里结束了。
- def move(self):
- # 随机计算方向并移动到新的位置(x, y)
- new_x = self.x + r.choice([1, 2, -1, -2]) #随机选一个
- new_y = self.y + r.choice([1, 2, -1, -2])
- # 检查移动后是否超出场景x轴边界
- if new_x < legal_x[0]:
- self.x = legal_x[0] - (new_x - legal_x[0])
- elif new_x > legal_x[1]:
- self.x = legal_x[1] - (new_x - legal_x[1])
- else:
- self.x = new_x
- # 检查移动后是否超出场景y轴边界
- if new_y < legal_y[0]:
- self.y = legal_y[0] - (new_y - legal_y[0])
- elif new_y > legal_y[1]:
- self.y = legal_y[1] - (new_y - legal_y[1])
- else:
- self.y = new_y
- # 体力消耗
- self.power -= 1
- # 返回移动后的新位置
- return (self.x, self.y)
- def eat(self):
- self.power += 20
- if self.power > 100:
- self.power = 100
复制代码 |
|