アホ男子 向けに 間違えた時に
おバカなコメントを ランダムに表示する様にした。
⭐️ おバカなコメントを表示
import java.awt.*;
import java.awt.event.*;
class Division2{
public static void main(String[] args){
MyWindow mw = new MyWindow();
}
}
class MyWindow extends Frame implements ActionListener{
TextField tf;
Button btn;
int moto; //割られる数値です。
int waru; //割る数値です。
int ans; //答え
static int count = 1; //出題数
static int correct_answers; //正解数
int bottoncount = 1; //1→回答 2→次の問題 3→最後
MyWindow(){
setTitle("問題集");
setSize(640, 400);
setLayout(null); //レイアウトの解除
tf = new TextField(20); //テキストフィールドのインスタンスの作成
tf.setBounds(80, 300, 380, 30); //x,t 大きさx,y
add(tf); //テキストフィールドの配置
btn = new Button(); //ボタンのインスタンスの作成
btn.addActionListener(this);
btn.setLabel("回答");
btn.setBounds(480, 300, 100, 35); //x,t 大きさx,y
add(btn);//ボタンの配置
setVisible(true);
addWindowListener( new WinListener() );
}
public void paint(Graphics g){
Font font1 = new Font("MS Pゴシック",Font.PLAIN, 40);
g.setFont(font1);
g.setColor(Color.DARK_GRAY);
g.drawString( questions() , 80, 130);
}
public void actionPerformed(ActionEvent e){
if(e.getSource() == btn) judgment();
}
public String questions(){ //出題するメソッド
waru = rnd(40) + 2; //割る数値(2〜40)
ans = rnd(20)+1; //答え(1〜20)
moto = waru * ans; //割られる数値
System.out.println(moto + " ÷ " + waru + " = " + ans);//験算用
return moto + " ÷ " + waru + " = ";
}
void judgment(){
if(bottoncount == 1){
String str = tf.getText();
int num = 0;
try{
num = Integer.parseInt(str);
}
catch(Exception e){
System.out.println(e); //後に消去
}
System.out.println(num); //試験用 入力した数値を 表示
if (ans == num){
stop(2000);
correct_answers++;
tf.setText(num + " 正解だよ!!");
}
else if(num == 0){ //numに数値が入力されなかった場合。
stop(2000);
tf.setText(str + " 半角数値で入力してね。");
}
else{
stop(2000);
tf.setText("正解は" + ans + " ! " + comment() );
}
btn.setLabel("次の問題");
count++;
//bottoncount = 2;
if(count <= 5) bottoncount = 2; //5問出題で終了
else bottoncount = 3;
System.out.println(count + "回目の出題です。");
}
else if(bottoncount == 2){
tf.setText("");
btn.setLabel("回答");
bottoncount = 1;
repaint();
}
else if(bottoncount == 3){
tf.setText("おっしまい よく頑張ったね。 正解数は 5問中 " + correct_answers + "問だよ。");
}
}
public void stop(int times){ //時間を止めるメソッド
try{ Thread.sleep(times); } catch(Exception e) {}
}
public int rnd(int max) { return(int)(Math.random()*max);} //整数の乱数を返すメソッド
public String comment(){
String[][] com = {
{"おまえは","おまえの足の裏は","おまえの未来は","おまえのカーチャンは","来年のおまえは"},
{"臭い","よく分からない","ヌルヌルした","カレー味の","イカの味がする","べちょべちょした"},
{"出べそだ","ウンチだ","ケシカスだ","便器だ","パンツだ","小学生だ"}
};
int r1 = rnd(com[0].length);
int r2 = rnd(com[1].length);
int r3 = rnd(com[2].length);
return (com[0][r1] + " " + com[1][r2]+ " " + com[2][r3] + " !!");
}
}
class WinListener extends WindowAdapter{
public void windowClosing(WindowEvent e){System.exit(0);}
}
今日の教訓
さて次は何を作ろう。
0 件のコメント:
コメントを投稿