学校の課題で、四択クイズを作っている者です。
条件としてテキストファイルにかかれている問題と選択肢を使うことが条件だったので、とりあえず問題の表示とその問題の選択肢の表示まではできたのですが、その問題が正解か不正解を判定させるのに困っています。
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;
}
}
回答1件
あなたの回答
tips
プレビュー