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

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

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

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Processing

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

解決済

Processingで四択クイズを作りたい。

nyhahaha
nyhahaha

総合スコア3

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Processing

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

1回答

0評価

2クリップ

300閲覧

投稿2022/06/25 12:18

編集2022/06/26 12:55

学校の課題で、四択クイズを作っている者です。
条件としてテキストファイルにかかれている問題と選択肢を使うことが条件だったので、とりあえず問題の表示とその問題の選択肢の表示まではできたのですが、その問題が正解か不正解を判定させるのに困っています。
mouseX,mouseYを使えば、マウスをクリックした座標の取得ができるということは調べてわかりましたが、どうしても特定の座標のテキストで条件分岐させる方法が分かりません。
最初は、if文でmouseX,mouseYをmouseClicked()内で取得して、そこで正解のテキストが書かれている座標と同じであれば、status=2の正解に移動、それ以外であれば、status=3に移動させようかと書いては見たのですが、判定されず、マウスをクリックしたら次の問題に移動してしまいました。
自分の頭ではこれが限界です。ヒントをよろしくお願いします。

processing java
コード
//以下が現状のコードです。
//課題の要件は、問題→正解か不正解か表示→次の問題(これを計3問)→合計スコアを表示で終了です。
String[]a;
String[]b;
int c = 0;
int score = 0;//スコア
int status = 0;
int count = 0;//問題をやった回数

void setup(){
size(500, 500);
PFont font = createFont("Meiryo", 50);
textFont(font);
a = loadStrings("課題.txt");
}

void draw(){// ゲームシーンの処理

if(status == 0){//問題を表示
background(255);
fill(0);
textAlign(CENTER);
textSize(80);
text("問題!",250,250);//「問題」を表示
}

if(status == 2){
background(255);
textAlign(CENTER);
textSize(80);
text("正解!",250,250);//「正解」を表示
score++;
count++;
status = 1;
}

if(status == 3){
background(255);
textAlign(CENTER);
textSize(80);
text("不正解",250,250);//「不正解」を表示
count++;
status = 1;
}

if(status == 4){// クリアシーンの処理
background(255);
textAlign(CENTER);
textSize(40);
text("正解数は",180,250);
text(score,280,250);
text("です。",360,250);
}
}

void mouseClicked(){
if(status == 1){

if(c<3){
b = split(a[c],",");
c++;
}

textSize(30);
background(255);
text(b[0],250,150);
text(b[2],140,200);
text(b[3],140,250);//1番目の問題の答え
text(b[4],140,300);//2番目の問題の答え
text(b[5],140,350);//3番目の問題の答え

}
}

void mousePressed(){
if(status == 0){
status = 1;
}
if(count == 3){
status = 4;
}
}

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

meg_

2022/06/25 15:18

コードは「コードの挿入」で記入しましょう。
nyhahaha

2022/06/25 16:07

使い方がよくわかっていないかったので、申し訳ないです。

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Processing

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