Javaの復習として、よくある数あてゲームを作りました。
かなり初歩的な内容です。5分くらいで作りました。
コード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import java.util.Scanner; import java.util.Random; class Guessgame{ public static void main(String[] args){ Integer answer = new Random().nextInt(10) + 1; Integer guess = 0; Integer count = 0; System.out.println("Enter your guess?"); for(int i =0; i<4; i++){ guess = new Scanner(System.in).nextInt(); if(answer == guess){ System.out.println("BINGO!!"); count++; System.out.println(count +"回目で正解しました"); if(count == 1){ System.out.println("ドンピシャです!すごい!!"); } break; }else if(answer > guess ){ System.out.println("もっと大きい数字です"); count++; }else{ System.out.println("もっと小さい数字です"); count++; } } System.out.println("正解は『" + answer + "』でした"); } } |
全体像
java.util.Scanner にて入力値を保持できるようにする。
java.util.Random にてランダムな整数を生成する。
答えの数字をランダムに決める。
ユーザーに数字の入力を促す。
入力された数字が、答えの数字より大きいか、小さいか、一致しているか判断。
4回以内に正解すれば終了。
4回以内に正解できなかった場合、正解発表。
こんな感じです。
一発で正解した場合は、ドンピシャです!と表示しています。
また、入力回数をカウントする機能もあります。
もう少し頭をひねった機能を追加したかったですが、特に思いつかなかったです…。
ちなみに
コードのループ回数を、4回ではなく『正解するまで無限ループ』にしたい場合は、下記の方法で書いてください。
breakを書き忘れると停止しなくなってしまいます。
もし、忘れてしまった場合は、Ctrl + C で停止できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
white(true){ if(条件式1){ 処理1 break; }else if(条件式2){ 処理2 }else{ 処理3 } } |
コメント