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

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

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

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

Q&A

1回答

2316閲覧

processingについて

aohana

総合スコア6

Processing

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

0グッド

0クリップ

投稿2018/05/28 08:58

前提・実現したいこと

サイコロの目が現れた回数を表示するプログラムをサイコロの目が出るとその棒グラフが増えるという形で作成したいのですが(イメージ説明に参考画像があります)、このとき1の目が出たときのグラフは作れたのですがそれ以外の目の追加の仕方がわかりません。よろしくおねがいします。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

processing

1int n1=0,n2=0,n3=0,n4=0,n5=0,n6=0; 2int num=0; 3 4void setup(){ 5 size(400,400); 6 frameRate(1); 7 float graph_wd=0.8*width;//graph_wd=320 8 float graph_hei=0.8*height;//graph_hei=320 9 float graph_px=0.1*width;//graph_px=40 10 float graph_py=0.1*height;//graph_py=40 11 rect(graph_px,graph_py,graph_wd,graph_hei); 12 textSize(18); 13 text("1",20,80); 14} 15 16void draw(){ 17 int dice_num=int(random(1.0,7.0)); 18 int max_num=25; 19 float bar_ht=0.8*width/max_num;//bar_ht=32 20 int dx=32; 21 float x1=0.1*width; 22 float y1=0.1*height+15; 23 float rect_wi=bar_ht*n1;//32*n1 24 float rect_hei=(width-80)/6; 25 26 switch( dice_num ) { 27 case 1 : n1=n1+1; break; 28 case 2 : n2=n2+1; break; 29 case 3 : n3=n3+1; break; 30 case 4 : n4=n4+1; break; 31 case 5 : n5=n5+1; break; 32 case 6 : n6=n6+1; break; 33 default: num =num+1; 34 } 35 36 rect(x1,y1,rect_wi,rect_hei); 37 38 println(x1,y1,rect_wi,rect_hei); 39 40}

試したこと

ここに問題に対して試したことを記載してください。

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

ここにより詳細な情報を記載してください。イメージ説明

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

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

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

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

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

guest

回答1

0

forループで回しながら、Y座標をずらせばよいかと。
サンプルコードです、ご参考まで。

Java

1java.util.Random rnd = new java.util.Random(); 2int[] sample = new int[6];//配列で管理 3 4void setup(){ 5 size(400,400); 6 frameRate(1); 7 float graph_wd = 0.8 * width;//graph_wd=320 8 float graph_hei = 0.8 * height;//graph_hei=320 9 float graph_px = 0.1 * width;//graph_px=40 10 float graph_py = 0.1 * height;//graph_py=40 11 rect(graph_px, graph_py, graph_wd, graph_hei); 12 textSize(18); 13 for(int i=0;i<sample.length;i++){ 14 text(String.valueOf(i + 1), 20, 80 + (i * 50)); 15 } 16} 17 18void draw(){ 19 int dice_num = rnd.nextInt(6);// 配列に合わせるために0オリジン 20 sample[dice_num]++;//出た目を1加算 21 22 int max_num=25; 23 float bar_ht=0.8 * width / max_num;//bar_ht=32 24 float x1=0.1 * width; 25 float rect_hei=(width-80) / 6; 26 for(int i=0;i<sample.length;i++){ 27 float y1= 55 + (i * 50); 28 float rect_wi = bar_ht * sample[i]; 29 rect(x1,y1,rect_wi,rect_hei); 30 } 31}

◇参考情報
Random#nextInt

投稿2018/06/01 23:33

編集2018/06/01 23:35
umyu

総合スコア5846

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問