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

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

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

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

Python

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

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

解決済

1回答

1560閲覧

for文でループができない

kaitokun

総合スコア2

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

Python

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

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

0クリップ

投稿2021/04/23 00:40

for分で猫を5*3匹表示したいです。

processingでfor分の中に猫の描画関数を書いたのですが、繰り返しされません
わかる方助けていただけるとありがたいです

ソースコード

python

1def setup(): 2 size(800,600) 3 4def draw(): 5 background(255) 6 for i in range(5): 7 for i in range(3): 8 x=100 9 y=150 10 if x>mouseX and y>mouseY: 11 mode=0 12 elif x<=mouseX and y>mouseY: 13 mode=1 14 elif x>mouseX and y<=mouseY: 15 mode=2 16 else: 17 mode=3 18 draw_cat(x,y,mode) 19 draw_fish() 20def draw_cat(x,y,mode): 21 diff_x=[[0,0,-20,0,-10], 22 [0,0,0,20,10]] 23 diff_y=[[50,0,-10,-10,0], 24 [50,0,0,0,10]] 25 size_w=[40,100,5,5,10] 26 size_h=[60,80,5,5,5] 27 ear_lx=[[35,40,5], 28 [30,40,-20]] 29 ear_rx=[[-30,-40,20], 30 [-40,-35,-5]] 31 ear_y=[-50,-20,-20] 32 tail_x=[[0,40],[0,-40]] 33 tail_y=[75,40] 34 noStroke() 35 for i in range(5): 36 if i<2: 37 fill(239,228,176) 38 else: 39 fill(0,0,0) 40 ellipse(x+diff_x[mode%2][i],y+diff_y[mode/2][i],size_w[i],size_h[i]) 41 fill(239,228,176) 42 triangle(x+ear_lx[mode%2][0],y+ear_y[0], 43 x+ear_lx[mode%2][1],y+ear_y[1], 44 x+ear_lx[mode%2][2],y+ear_y[2]) 45 triangle(x+ear_rx[mode%2][0],y+ear_y[0], 46 x+ear_rx[mode%2][1],y+ear_y[1], 47 x+ear_rx[mode%2][2],y+ear_y[2]) 48 fill(239,228,176) 49 strokeWeight(10) 50 line(x+tail_x[mode%2][0],y+tail_y[0],x+tail_x[mode%2][1],y+tail_y[1]) 51def draw_fish(): 52 noStroke() 53 fill(150,200,250) 54 ellipse(mouseX,mouseY,50,20) 55 triangle(mouseX+10,mouseY,mouseX+30,mouseY-10,mouseX+30,mouseY+10) 56

結果

イメージ説明
こんな感じで1匹しか描画されません。

補足情報(FW/ツールのバージョンなど)

processing3.5.4を使っています。
ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

draw_cat(x,y,mode)

xとyの値が変化しないので、上書きしてしまっているってことなのでは

投稿2021/04/23 00:46

y_waiwai

総合スコア87774

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

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

kaitokun

2021/04/24 02:21

解決しました。x,yの値を増加させるコードを書いていませんでした。ご指摘ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問