日期:2014-05-20  浏览次数:20916 次

java游戏退回主菜单的代码如何写?
我是一个才学习java的小菜鸟:
最近做一个猜数字游戏!
当游戏被才对时:游戏者回车确认后,回到主界面;如果输入次数超过8次,则提示“超过次数,尚需努力”,游戏者回车确认后,回到主界面。以下是我的代码:
import java.util.Random;
import java.util.Scanner;

public class Guess {
  public static void main(String[] args){
   
  System.out.println("***欢迎进入猜字游戏***");
  System.out.println("1.开始游戏 ");
  System.out.println("2.退出");  
  //产生随机数
  Random r = new Random();
  int num = r.nextInt(100);
   
  Scanner scanner= new Scanner(System.in);
  int command=scanner.nextInt();
  // 这个当输入1时开始:2时退出
  if(command==2){
  System.exit(0);
  }
  while(command==1){
  int guessNum=0;
  System.out.println("请输入你的猜测");
  // 下面是用键盘输入 存在sc中
  Scanner sc = new Scanner(System.in);
  guessNum=sc.nextInt();
   
   
  int compare=guessNum-num;
  if(compare>0){
  System.out.println("你的猜测偏大");
  }
  if(compare<0){
  System.out.println("你的猜测偏小");
  }
  if(compare==0){
  System.out.println("猜测结果正确,游戏结束!");
   
  System.exit(0);
   
  }
   
   
  }  
 

------解决方案--------------------
Java code

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

public class GuessGame {
    public static void main(String[] args) {

    while (true) {

        int command = getIndexChoice();
        ; // 这个当输入1时开始:2时退出
        System.out.println(command);
        if (command == 2)
        System.exit(0);

        else {
        int count = 0;//已经进行过0次
        while (true) {
            boolean flag = playGames();
            if (flag == true) {
            System.out.println("继续玩游戏,返回主界面");
            break;
            } else {
            count++;//次数加1
            if (count == 8) {
                System.out.println("超过次数,尚需努力");
                break;
            }

            }
        }
        ;
        }
    }
    }

    static int getIndexChoice() {//获取主页中选项
    System.out.println("***欢迎进入猜字游戏***");
    System.out.println("1.开始游戏 ");
    System.out.println("2.退出");
    // 产生随机数
    Scanner scanner = new Scanner(System.in);
    return scanner.nextInt();
    }

    static boolean playGames() {//,输出为 是否猜中
    Random r = new Random();
    int num = r.nextInt(100); //随机产生一个数据    
    int guessNum = 0;
    System.out.println("请输入你的猜测");
    // 下面是用键盘输入 存在sc中
    Scanner sc = new Scanner(System.in);
    guessNum = sc.nextInt();
    int compare = guessNum - num;
    if (compare > 0) {
        System.out.println("你的猜测偏大");
        return false;
    } else if (compare < 0) {
        System.out.println("你的猜测偏小");
        return false;
    }
    // if (compare == 0) {
    else {
        //System.out.println("猜测结果正确,游戏结束!");
        //System.exit(0);
        System.out.println("猜测结果正确,回到主界面!");
        return true;
    }
    }
}

------解决方案--------------------
Java code

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

public class GuessGame {
    private static  int GUESS_NUM;
    private static  int GUESS_ALL_NUM=8;
    
    public static void main(String[] args) {
        
        
        while (true) {
            GUESS_NUM=initGuessNumber();
            int command = getIndexChoice();
            ; // 这个当输入1时开始:2时退出
            System.out.println(command);
            if (command == 2)
                System.exit(0);

            else {
                int count = 0;// 已经进行过0次
                while (true) {
                    boolean flag = playGames();
                    count++;
                    System.out.println("已经猜了"+count+"次,还有"+(GUESS_ALL_NUM-count)+"次机会");
                    if (flag == true) {
                        System.out.println("继续玩游戏,返回主界面");
                        break;
                    } else {
                        // 次数加1
                        if (count == GUESS_ALL_NUM) {
                            System.out.println("超过次数,尚需努力");
                            break;
                        }

                    }
                }
                ;
            }
        }
    }
    
    static int initGuessNumber(){
        Random r = new Random();
        int num = r.nextInt(100); // 随机产生一个数据
        return num;
    }

    static int getIndexChoice() {// 获取主页中选项
        System.out.println("***欢迎进入猜字游戏***");
        System.out.println("1.开始游戏 ");
        System.out.println("2.退出");
        // 产生随机数
        Scanner scanner = new Scanner(System.in);
        return scanner.nextInt();
    }

    static boolean playGames() {// ,输出为 是否猜中
        
        int guessNum = 0;
        System.out.println("请输入你的猜测");
        // 下面是用键盘输入 存在sc中
        Scanner sc = new Scanner(System.in);
        guessNum = sc.nextInt();
        int compare = guessNum - GUESS_NUM;
        if (compare > 0) {
            System.out.println("你的猜测偏大");
            return false;
        } else if (compare < 0) {
            System.out.println("你的猜测偏小");
            return false;
        }
        // if (compare == 0) {
        else {
            // System.out.println("猜测结果正确,游戏结束!");
            // System.exit(0);
            System.out.println("猜测结果正确,回到主界面!");
            return true;
        }
    }
}