|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求大神看下,小甲鱼的答案如下
不明白在定义self.x的时候为什么不直接用r.randint(0,10)呢,下面检查移动是都超出边界的时候为什么用这个公式呢?能不能用10-(new_x-10)代替呢?
最后一个不过也很重要的问题,__init__(self)是在定制初始化方案,这个怎么更好的理解呢?
import random as r
legal_x=[0,10]
legal_y=[0,10]
class Turtle:
def__init__(self):
self.power=100
self.x=r.randint(legal_x=[0],legal_x=[1])
self.y=r.randint(legal_y=[0],legal_y=[1])
def move(self):
new_x=self.x+r.choice([1,2,-1,-2])
new_y=self.y+r.choice([1,2,-1,-2])
#检查移动是否超出场景边界
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
|
|