zoukankan      html  css  js  c++  java
  • 数字游戏

    猜数字游戏:
    生成一个4位的随机数,每一位都在0-9之间,每位必须不同。用户在外部输入一个猜测的4位数字,系统判断后返回结果。判断规则如下:如果用户猜测的数字正确且位置正确,则返回一个A;如果用户猜测的数字正确但是位置不正确,则返回B;
    例如:随机数为:1234。如果用户输入1357,则返回1A1B(1的数字和位置正确,3的数字正确但是位置不正确);如果用户输入2468,则返回0A2B(2和4这个两个数字正确,但是位置都不对。);如果用户输入6789,则返回0A0B(用户没有猜对任何数字);只有用户输入1234,即返回4A0B的情况,才算用户猜对。
    用户每次游戏共有7次机会。

    package com.lovo.gamework;

    public class Machine {  

      public static void main(String[] args){

       User user=new User();   

    user.theOutput();

    }

    }

     //随机产生四个数

    package com.lovo.gamework;

    public class Randomnumber {

     private int [] Randomnumber=new int[4];      

      public int[] getRandomnumber() {  

     return Randomnumber;  

    }

     public void setRandomnumber(int[] randomnumber) {   

    Randomnumber = randomnumber;  

    }

    public  Randomnumber(){
      for(int j=0;j<3;j++){
       Randomnumber[j]=(int) (Math.random()*10);

    switch(j){
          case 0:
           break;
          case 1:
           if(Randomnumber[j]==Randomnumber[j-1]){
            j--;
           }
           break;
          case 2:
           if(Randomnumber[j]==Randomnumber[j-1]&&Randomnumber[j]==Randomnumber[j-2]){
            j--;
           }
           break;
          case 3:
           if(Randomnumber[j]==Randomnumber[j-1]&&Randomnumber[j]==Randomnumber[j-2]&&Randomnumber[j]==Randomnumber[j-3]){
            j--;
           }
           break;
          }
           }
     }

        
     }
     

    //比较

    package com.lovo.gamework;

    import java.util.Scanner;

    public class User {

     private int[] number=new int[4];

     private int[] Randomnum=new int[4];

     Scanner scan = new Scanner(System.in);

    //输入数 
     
    public void theNumber(){
     
     System.out.println("请输入四个不重复的数");

    for(int i=0;i<4;i++){
                System.out.println("请输入第"+(i+1)+"数");
       number[i]=scan.nextInt();

    switch(i){
       case 0:
        break;
       case 1:
         if(number[i]==number[i-1]){
                         System.out.println("有相同数字,请重新输入");
          i-=1;
         }
          break;
       case 2:
        if(number[i]==number[i-1]&&number[i]==number[i-2]){
         System.out.println("有相同数字,请重新输入");
         i-=1;
        }
               break;
              
       case 3:
        if(number[i]==number[i-1]&&number[i]==number[i-2]&&number[i]==number[i-3]){
         System.out.println("有相同数字,请重新输入");
         i-=1;
        }
        break;
        }
      }
      
    }

    //比较 public String toCompare(int A,int B){

      for(int s=0;s<4;s++){                                        //randomnum数组的下标      

    for(int n=0;n<4;n++){                  //number数组的下标      

     if(this.number[n]==this.Randomnum[s]){                     

    if(n==s){              

    A++;             

    }             

    else{             

      B++;            

      }     

      }              

     else{           

     continue;              

    }              

    }                      //内层for语句结束        

    }                         //外层for语句结束  return A+"A"+B+"B"; } 

    //输出
    public void theOutput(){
     Randomnumber Randomnumber=  new Randomnumber();
        this.Randomnum=new Randomnumber().getRandomnumber();
     int A=0;
     int B=0;
      for(int m=1;m<8;m++){     //机会
       theNumber();
       String str=toCompare(0,0);
      if(!str.equals("4A0B")){
       System.out.println(str);
       System.out.println(str+"您还有"+(7-m)+"次机会");  
      }
      else{
       System.out.println(str);
       System.out.println("恭喜你成功了!");
       break;
      }
      
    }

    //结束   

    System.out.println("game over");
      if(A!=4){
       System.out.println("很遗憾,你的机会以用完");
      }
      System.out.println("欢迎下次光临");
      System.exit(0); 

    }

    }

  • 相关阅读:
    Android AdapterView View的复用机制 分析
    go12---interface
    go11---方法method
    go10---struct
    go09---defer
    go8---函数function
    go7---map
    go6---slice切片
    go5--数组
    go4--break,continue + 标签
  • 原文地址:https://www.cnblogs.com/-xhx/p/5539963.html
Copyright © 2011-2022 走看看