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

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

新規登録して質問してみよう
ただいま回答率
85.35%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Processing

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

Q&A

1回答

1248閲覧

processing 配列

tokati1223

総合スコア0

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Processing

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

0グッド

0クリップ

投稿2021/06/25 13:51

processingにて宝箱(中身はランダム)を10個、ランダムに配
置して、それぞれ開けたり閉めたりできるよう
にしたいです。

配列を用いてランダムに宝箱が設置されるようにしたいのですがプログラミング初心者でランダムに宝箱の中身が変わるソースコードはかけたのですが配列の使い方がよくわからないので教えて頂きたいです。

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

実行すらできていません

該当のソースコード

PImage imgBox; PImage imgCoin; PImage imgBomb; void setup() { size(480, 480); background(255, 255, 255); fill(0, 0, 0); noStroke(); frameRate(90); imgBox = loadImage("kaizoku_takarabako.png"); imgCoin = loadImage("kaizoku_takara.png"); imgBomb = loadImage("bakudan.png"); } class Box { int xpos, ypos, size; boolean open = false; int content; Box(int _x, int _y, int _s, int _c) { xpos = _x; ypos = _y; size = _s; content = _c; } void draw() { if (open) { if (content == 1) { image(imgCoin, xpos, ypos, size, size); } else { image(imgBomb, xpos, ypos, size, size); } } else { image(imgBox, xpos, ypos, size, size); } } boolean hit() { return (xpos <= mouseX && mouseX <= xpos+size && ypos <= mouseY && mouseY <= ypos+size); } void open() { open = !open; } } Box box = new Box(90, 90, 300, floor(random(1, 3))); void draw() { background(100, 50, 50); for (int i = 0; i < 10; i++) { box.draw(); } } void mousePressed() { if (box.hit()) { box.open(); } }

試したこと

youtube等で配列を調べましたが有益な情報はあまり得られませんでした

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

ここにより詳細な情報を記載してください。

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

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

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

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

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

thkana

2021/06/25 14:16

まず実行できるようにしたらいかがですか?
tokati1223

2021/06/25 14:50

説明の言葉が足りなくて申し訳ございません。一応youtube等で調べ、 int[] data = new int[10]; for(int i = 0; i < 10; i++) { data[i] = floor(random(1,6)); } のようなソースコードも一度組み込んではみたのですが場所が悪かったのか宣言の仕方が根本的に間違っているのか実行はできても宝箱の数が増えることはなく、特に何も変わることがなかったのでその部分を省き質問させて頂きました。
thkana

2021/06/25 15:26

それは言葉が足りないということかどうか... 「該当の」ソースコードとあるのですから。該当しないソースコードを載せられても、なにを回答すればいいのかわからなくなっちゃう、というのはわかりますか? 「組み込んでみた」どこに? あなたの頭の中は他の誰にも見えないのですから、ちゃんと説明してみてください。 回答者は、あなたが書いてないことは知らない、のです。あなたが自分のやったこと/やりたいことをちゃんと書かなければ、回答は得られません。
guest

回答1

0

実行すらできていません

提示コードの話でしょうか?画像が正しい場所にあれば実行できましたが。

それとも配列化しようとしているコードが、実行できないということでしょうか?
であれば動かなくてもいいので、書けたところまで提示してください。
惜しいところまでできているかもしれません。

宝箱(中身はランダム)を10個、ランダムに配置

現状画像サイズが大きすぎてとても10個も並びませんが、Box box1Box box2と2つだけなら書けますか?

youtube等で配列を調べましたが有益な情報はあまり得られませんでした

processing 配列」で検索して、例えば2個目に出てきたこちら
[Processing×Java] 配列の使いかた - Qiita

2.クラスをつかった配列をつくりかた

などはBallBoxと読み替えれば、ほぼ同じ流れで行けるかと思います。

投稿2021/06/25 15:14

編集2023/08/14 09:56
TN8001

総合スコア9862

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問