前提・実現したいこと
processingでクラスを使った4択×3問を作成したいです。
初心者で大変申し訳ないのですが、ヒントをいただけたらと思います。
よろしくお願いいたします。
・スタート画面の表示
■スペイン語で「ありがとう」はどれ?
1.サンキュー
2.グラシアス
3.メルシー
4.ダンケシェン
■世界で1番高い山は?
1.富士山
2.キリマンジャロ
3.エベレスト
4.アコンカグア
■日本三名園ではないものは?
1.偕楽園
2.兼六園
3.後楽園
4.新宿御苑
・問題ごとに正解・不正解/正答の表示
・最後に正解数の表示
クラスとオブジェクトの使い方がいまいち理解できません。
発生している問題・エラーメッセージ
4択×1問でいったん考えてみましたが、それでもできません。
試したこと
Start start;
Quiz quiz;
Correct correct;
Incorrect incorrect;
Result result;
int y1 = 300;
int y2 = 400;
int y3 = 500;
int y4 = 600;
int y5 = 700;
int w = 200;
int h = 100;
String[][]questions={{"■スペイン語で「ありがとう」はどれ?","サンキュー","グラシアス","メルシー","ダンケシェン"},
{"■世界で1番高い山は?","富士山","キリマンジャロ","エベレスト","アコンカグア"},
{"■日本三名園ではないものは?","偕楽園","兼六園","後楽園","新宿御苑"}}; //問題文と選択肢
int[]answers={2,3,4,}; //解答
int flow; // 0start, 1quiz, 2result
int score; //正解数
void setup() {
size(1000,1000);
background(255);
fill(0);
PFont font=createFont("MS Gothic", 24);
textFont(font);
start = new Start();
correct = new Correct();
incorrect = new Incorrect();
quiz = new Quiz();
result =new Result();
}
void mouseClicked() {
switch (flow) {
case 0:
flow=1;
quiz.display();
break;
case 1:
if (w < mouseX && mouseX < width/2+ w && y1 < mouseY && mouseY < answers[0]*100+200 + h){
flow=2;
correct.display();
score++;
}
else{
flow=2;
incorrect.display();
}
break;
case 2:
flow=0;
result.display();
break;
}
}
class Start{
void display(){
background(255);
fill(0);
text("問題!", width/3, 250);
}
}
class Quiz{
void display(){
background(255);
fill(0);
text(questions[0][0], width/3, 200);
text("1."+questions[0][1],width/2,y1);
text("2."+questions[0][2],width/2,y2);
text("3."+questions[0][3],width/2,y3);
text("4."+questions[0][4],width/2,y4);
}
}
class Correct{
void display(){
background(255);
fill(0);
text("正解!",width/2,300);
textSize(25);
}
}
class Incorrect{
void display(){
background(255);
fill(0);
text("不正解!",width/2,300);
text("正解は"+answers[0]+"でした",width/2,500);
}
}
class Result{
void display(){
background(255);
fill(0);
text("正解数は"+score+"でした", width/2, 300);
}
}
初心者で大変申し訳ないのですが、ヒントをいただけたらと思います。
よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/19 02:40
2020/12/19 08:33
2020/12/20 09:05