0
以下のコードでyesボタンを押すと、test1が一生コンソールに表示されます。つまり一生繰り返し実行されています。なぜかわかりますか。
/**
* プログラム名:メソッドを呼び出す
* 作成者:
* 作成日: Mon Jan 30 02:08:25 JST 2023
*/
public class NewClass extends Turtle {
//画像の生成
ImageTurtle q1 = new ImageTurtle("1.jpg");
ImageTurtle q1y = new ImageTurtle("2.jpg");
ImageTurtle q1n = new ImageTurtle("3.jpg");
ImageTurtle q2y = new ImageTurtle("4.jpg");
ImageTurtle q2n = new ImageTurtle("5.jpg");
ImageTurtle q3y = new ImageTurtle("6.jpg");
ImageTurtle q3n = new ImageTurtle("7.jpg");
//ボタンタートルの生成
ButtonTurtle yes = new ButtonTurtle("Yes");
ButtonTurtle no = new ButtonTurtle("No");
//起動処理
public static void main(String[] args) {
Turtle.startTurtle(new NewClass(), args);
}
//タートルを動かす処理
public void start() {
hide();
window.size(1200,700);
q1.size(1200,700);
q1.warp(600,300);
q1y.size(1200,700);
q1y.warp(600,300);
q1n.size(1200,700);
q1n.warp(600,300);
//隠す
q1y.hide();
q1n.hide();
q2y.hide();
q2n.hide();
q3y.hide();
q3n.hide();
yes.size(220,120);
yes.warp(450,260);
no.size(220,120);
no.warp(770,260);
question1(400);
}
void question1(int X){//メソッドの呼び出し
//yesが押されたらq1y表示,質問2メソッド
while(true){
sleep(0.025);
if(yes.isClicked()){
print("test1");
q1.looks(q1y);
yes.hide();
no.hide();
/*question2(400); */
}
//noが押されたらq1n,質問2
else if(no.isClicked()){
print("test2");
q1.looks(q1n);
yes.hide();
no.hide();
/*question2(400);*/
}
update();
}
}
}