zoukankan      html  css  js  c++  java
  • 猜数字升级版

    package org.blackice;
    
    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    
    public class GuestNumber {
    
            /**
             * @param args
             */
            public static void main(String[] args) {
                    try {
                            int i = 0;
                            String sNum = CreateNum();
                            System.out.println("==============================================");
                            System.out.println("指令说明:");
                            System.out.println("0、输入 start 重新开始游戏");//不用这个查看答案
                            System.out.println("1、输入 redo 查看答案");        //这个变成作弊专用
                            System.out.println("2、输入 exit 退出游戏");
                            System.out.println("游戏规则");
                            System.out.println("1、游戏开始时会产生一个0000-9999随机数");
                            System.out.println("2、系统接收您输入的四位数字,并加以比较,猜中并位置正确的数字位以 1 表示");
                            System.out.println("   ");
                            System.out.println("==============================================");
                            String inputStr = "";
                            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                            do {
                                    inputStr = br.readLine();
                                    if (inputStr.equals("redo")) {
                                            System.out.println("既然你这么想知道,我那就告诉你好咯,答案是:" + sNum);
                                    } else if (inputStr.equals("exit")) {
                                            System.exit(0);
                                    } else if (inputStr.equals("start")) {
                                            System.out.println("游戏已重新开始了");  //给出提示
                                            System.out.println("我现在有一个0000-9999的数字,你想的数字是不是和我一样哦!");
                                            i = 0;
                                            sNum = CreateNum();
                                    } else {
                                            if ((!inputStr.matches("[0-9]+")) || inputStr.length() > 4 || inputStr.length() < 4) {
                                                    System.out.println("不要打岔啦,要输入正确的四个数字:" + inputStr.length());
                                            } else if (i >= 9) {//这里添加条件,猜满10不让再猜了
                                                    System.out.println("你已没机会了,等下次再猜吧,答案是:" + sNum);
                                            } else {
                                                    i++;
                                                    if (inputStr.equals(sNum)) {
                                                            switch (i) {
                                                                    case 1:
                                                                             {
                                                                                    switch ((int) (Math.random() * 100) % 4) {
                                                                                            case 0:
                                                                                                    System.out.println("好厉害哦,第一次就猜对了");
                                                                                                    break;
                                                                                            case 1:
                                                                                                    System.out.println("小样,你是不是作弊呀");
                                                                                                    break;
                                                                                            case 2:
                                                                                                    System.out.println("一猜就中,你是不是算命先生");
                                                                                                    break;
                                                                                            case 3:
                                                                                                    System.out.println("额的神哦,你猜的也太准了吧");
                                                                                                    break;
                                                                                    }
                                                                            }
                                                                            break;
                                                                    case 2:
                                                                    case 3:
                                                                    case 4:
                                                                    case 5:
                                                                    case 6:
                                                                    case 7:
                                                                    case 8:
                                                                            System.out.println("恭喜您猜中对了!我还以为你还要再猜" + (10 - i) + "次呢!");
                                                                            break;
                                                                    case 9:
                                                                            System.out.println("你果然没有让我失望呀,在最后的时刻竟然猜对了");
                                                                            break;
                                                            }
    
                                                    } else {
                                                            System.out.println("没有猜对,给个提示你:" + CompareNum(inputStr, sNum));
                                                            System.out.println("还可以再猜" + (10 - i) + "次,要抓紧机会哦");
                                                    }
                                            }
                                    }
                            } while (inputStr != null);
                    } catch (Exception e) {
                            System.out.println(e.getMessage());
                    }
            }
            //比较两个数,并返回比较结果
    
            private static String CompareNum(String str1, String str2) {
                    String strTemp = "";
                    String v1 = "", v2 = "";
                    for (int i = 1; i <= 4; i++) {
                            v1 = str1.substring(i - 1, i);
                            v2 = str2.substring(i - 1, i);
                            if (v1.equals(v2)) {
                                    strTemp += "1";
                            } else {
                                    strTemp += "0";
                            }
                    }
                    return strTemp;
            }
            //取得一个四位随机数
    
            private static String CreateNum() {
                    String strTemp = "";//原来的方法产生四个都是零的机率太高了
                    strTemp = "" +
                                            (int)(Math.random()*10000)%10 +
                                            (int)(Math.random()*10000)%10 +
                                            (int)(Math.random()*10000)%10 +
                                            (int)(Math.random()*10000)%10;
                    return strTemp;
            }
    }
  • 相关阅读:
    Android给ListView设置分割线Divider样式
    Android监听ScrollView滑动到顶端和底部
    .Net——使用.net内置处理程序处理自己定义节点Demo
    Java---25---集合框架共性方法
    网络基础——知识生活化会变得如此简单
    Jquery节点遍历
    Rapha&#235;l 中文帮助文档(API)
    Fitnesse使用系列二
    UVa 10188
    Powershell Mail module, 发送outbox 里的全部邮件(一个.csv文件代表一封邮件)
  • 原文地址:https://www.cnblogs.com/blackice/p/2618288.html
Copyright © 2011-2022 走看看