|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import random as r
position_x = [0,10]
position_y = [0,10]
class Turtle:
def __init__(self):
self.power = 100
self.x = r.randint(position_x[0],position_y[1])
self.y = r.randint(position_x[0],position_y[1])
'''定义初始体力和初始位置'''
def move(self):
new_x = self.x + r.choice([-1,-2,0,1,2])
new_y = self.y + r.choice([-1,-2,0,1,2])
'''self.x,self.y是现在的位置'''
if new_x < position_x[0]:
self.x = -new_x
elif new_x > position_x[1]:
self.x = position_x[1] - (new_x - position_x[1])
else:
self.x = new_x
if new_y < position_y[0]:
self.y = -new_y
elif new_y >= position_y[1]:
self.y = position_y[1] - (new_y - position_y[1])
else:
self.y = new_y
self.power -= 1
return (self.x,self.y)
def eat(self):
self.power += 20
class Fish:
def __init__(self):
self.x = r.randint(position_x[0], position_y[1])
self.y = r.randint(position_x[0], position_y[1])
def move(self):
new_x = self.x + r.choice([-1,0,1])
new_y = self.y + r.choice([-1,0,1])
if new_x < position_x[0]:
self.x = -new_x
elif new_x > position_x[1]:
self.x = position_x[1] - (new_x - position_x[1])
else:
self.x = new_x
if new_y < position_y[0]:
self.y = -new_y
elif new_y >= position_y[1]:
self.y = position_y[1] - (new_y - position_y[1])
else:
self.y = new_y
return (self.x,self.y)
turtle = Turtle()
fish = []
for i in range(10):
new_fish = Fish()
fish.append(new_fish)
print(fish)
这段话中for循环给每条小鱼初始化位置为什么是这样,每个不都是把fish类给new_fish吗,不都是new_fish.fish()类吗
“不一样” 是它们在内存中的地址不一样。初始化返回的就是对象的实例。
|
-
|