python
1コード 2import turtle 3class PointMass: 4 def __init__(self,x=0,y=100,vx=10,vy=0): 5 self.x = x 6 self.y = y 7 self.vx = vx 8 self.vy = vy 9 self.kame = turtle.Turtle() 10 def draw_once(self): 11 self.kame.penup() 12 self.kame.goto(self.x,self.y) 13 def move(self,dt): 14 self.x = self.x + self.vx*dt 15 self.y = self.y + self.vy*dt 16 def draw(self): 17 self.kame.pendown() 18 self.kame.goto(self.x,self.y) 19list_points = list() 20import random 21for i in range(10): 22 rx = random.randint(-200,200) 23 ry = random.randint(-200,200) 24 rvx = random.randint(-50,50) 25 rvy = random.randint(0,100) 26 point = PointMass(rx,ry,rvx,rvy) 27 list_points.append(point) 28 list_points[i].draw_once() 29dt = 0.1 30 31for k in range(10): 32 list_points[k].move(dt) 33 list_points[k].draw()
無限ループを使って最後のmove(dt)とdraw()の処理を無限に行いたい(10個のタートルを無限に直進させたい)のですが、どこにwhile True:と記述すれば分かりません。for k in range(10):の前に記述すると一個のインスタンスに対しての処理が無限に続いて他のタートルが動きません。どうすれば10個のタートルを動かせるのでしょうか。よければ教えていただきたいです。イメージとしては下の画像のように動かしたいです。よろしければ教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2021/12/12 13:56