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

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

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

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

Q&A

解決済

3回答

1679閲覧

Processingの図形描画で困っています。

退会済みユーザー

退会済みユーザー

総合スコア0

Processing

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

0グッド

0クリップ

投稿2015/10/12 13:32

こんばんは。
参考書の演習が解けずに困っているので質問させていただきます。
問題の内容は1行目は円を4つ横に描画
2行目は横に3つ描画
3行目は横に1つ描画
4行目は横に2つ描画
するという問題です。イメージ説明
(画像の円の形が不揃いなのは気にしないでください)

そしてこの問題に対して私の書いたコードがこちらです。
void setup(){
size(500,500);
int numbers[] = {4, 3, 1, 2 };
int x = 100;
int y = 100;
int w = 20;
int h = 20;

for(int i = 0; i < numbers[i]; i++){
ellipse(x,y,w,h);
x+=30;
}
}

このコードで実行した結果円が横に2つ並ぶだけのコードにしかなりませんでした。
アドバイス、ヒントなどでもいいので助けて頂けると嬉しいです。
よろしくお願いします。

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

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

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

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

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

guest

回答3

0

いろいろなパターンを描画できるようにしてみました。

java

1void setup() { 2 size(500,500); 3 int board[][]= { 4 {1, 1, 1, 1}, 5 {1, 1, 1, 0}, 6 {1, 0, 0, 0}, 7 {1, 1, 0, 0} 8 }; 9 int w = 20; 10 int h = 20; 11 for (int i = 0; i < board.length; i++) { 12 for (int j = 0; j < board[i].length; j++) { 13 if (board[i][j] == 1) { 14 ellipse(100 + j * 50, 100 + i * 50, w, h); 15 } 16 } 17 } 18}

投稿2015/10/12 22:27

katoy

総合スコア22324

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

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

0

ベストアンサー

void setup(){
size(500,500);
int numbers[] = {4, 3, 1, 2 };
int x = 100;
int y = 100;
int w = 20;
int h = 20;
for(int i = 0; i < 4; i++){
x = 100;
for(int j = 0; j < numbers[i]; j++){
ellipse(x,y,w,h);
x+= 30;
}
y+=100;
}
}

投稿2015/10/12 13:50

YamaguchiKenya

総合スコア69

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

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

退会済みユーザー

退会済みユーザー

2015/10/12 13:54

無事解決できました。ありがとうございました!
YamaguchiKenya

2015/10/12 13:58

よかったです! 今回は numbers配列 をそのまま for の終了条件にしていたのが良くありませんでしたね。 慣れですので頑張ってください!
guest

0

はじめまして。こんにちは。
Processing のことはよく解りませんが下記のようになるのではないでしょうか?

void setup(){
size(500,500);
int numbers[] = {4, 3, 1, 2 };
int x = 100;
int y = 100;
int w = 20;
int h = 20;
for(int i = 0; i < 4; i++){
x = 100;
for(int j = 0; j < numbers[i]; j++){
ellipse(x,y,w,h);
y+=100;
}
}
}

投稿2015/10/12 13:46

編集2015/10/12 13:47
YamaguchiKenya

総合スコア69

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

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

YamaguchiKenya

2015/10/12 13:52

こちら誤っていたので下のを使って下さい
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問