天天看點

Java版 猜數字小遊戲

猜數字小遊戲是一定是大家學習C語言程式設計的第一個或者是前幾個小小項目了吧,今天,我們使用Java進行猜數字小遊戲的實作

有對猜數字小遊戲的基本思想不清楚的可以看這篇部落格,裡面是用C語言進行的實作以及相關講解

c語言猜數字小遊戲

話不多說,上代碼

import java.util.Random;
import java.util.Scanner;

class Game {
    // 開始菜單
    public void menu() {
        System.out.println("*******************************************************************");
        System.out.println("************************* 猜數字小遊戲 *****************************");
        System.out.println("******************** 0. 退出遊戲   1. 開始遊戲 *********************");
        System.out.println("*******************************************************************");
    }
    // 生成随機數
    public int random() {
        Random random = new Random();
        return random.nextInt()+;
    }
    // 判斷輸入數字與随機數之間的關系,大于傳回大于0,小于傳回小于0,等于傳回0
    public int compare(int num, int random) {
        return num-random;
    }
    // 根絕 compare 傳回的值輸出提示語句,并傳回接下來是否繼續進行, 猜對了傳回1,遊戲結束,猜錯了傳回0,遊戲繼續
    public int message(int compare) {
        if(compare > ) {
            System.out.println("太大了");
            return ;
        } else if(compare < ) {
            System.out.println("太小了");
            return ;
        } else {
            System.out.println("猜對了");
            return ;
        }
    }
    // 接受stdin輸入的字元,傳回為對應數字
    public int scanf() {
        System.out.print("請輸入:>");
        Scanner input = new Scanner(System.in);
        String str = input.next();
        int num = Integer.parseInt(str);
        return num;
    }

    // 邏輯函數
    public void realGame() {

        int num = ;
        int flag = ; 
        do {
            menu();
            flag = scanf();
            switch(flag) {
                case : {// 開始遊戲
                    int random = this.random();
                    System.out.println(random);
                    num = this.scanf();
                    while(message(compare(num, random)) == ) {
                        num = this.scanf();
                    }
                    flag = ; 
                }
                break;
                case : {
                    flag = ;
                    System.out.println("遊戲退出");
                }
                break;
                default: {
                    System.out.println("請輸入正确選項");
                    flag = ;
                }
                break;
            }
        }while(flag == );
    }
}

class PlayGame {
    // 在構造方法裡列印遊戲開始菜單

    private Game game = new Game();
    // 調用Game類中的遊戲方法
    public void start() {
        game.realGame();
    }


}

public class Day5 {
    public static void main(String[] args) {
        /* System.out.println("input");

        if( str.equals("0")) {
            System.out.println(str);
        } else {
            System.out.println("hah");
        } */
        PlayGame game = new PlayGame();
        game.start();
    }
}