質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1311閲覧

複数のインスタンスを使って同時に亀を動かす

退会済みユーザー

退会済みユーザー

総合スコア0

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/12/12 11:48

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個のタートルを動かせるのでしょうか。よければ教えていただきたいです。イメージとしては下の画像のように動かしたいです。よろしければ教えていただきたいです。
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

どこにwhile True:と記述すれば分かりません。
for k in range(10):の前に記述すると一個のインスタンスに対しての処理が無限に続いて他のタートルが動きません。

自分の環境(Windows 10 + Python 3.9.9)では、その方法で問題なさそうでした。

python

1while True: 2 for k in range(10): 3 list_points[k].move(dt) 4 list_points[k].draw()

■ 実行結果
イメージ説明

投稿2021/12/12 13:51

cx20

総合スコア4648

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/12/12 13:56

すみません、自分も同じように修正したら問題なく動作させることができました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問