用java写猜字母的小游戏;随机生成几个字母,玩家输入几个数与随机生成的数进行比较。

Python022

用java写猜字母的小游戏;随机生成几个字母,玩家输入几个数与随机生成的数进行比较。,第1张

这个行不 ????

package zhouhu12

import java.util.Arrays

import java.util.Scanner

/**

* 1.难度选项选择;

* 2.随机生成相应数量的字符,并装入数组;

* 3。接受控制台输入的字符并加以比较。输出比较的结果。

* toUpperCase 转换为大写字母 toLowerCase 转换为小写。

*/

public class GuessABC {

public static void main(String[] args) {

int num

do{

guessGame(generate())

System.out.println("1. 重新开始游戏,2.退出游戏")

Scanner sc=new Scanner(System.in)

num=sc.nextInt()

}while(num==1)

System.out.print("游戏结束,欢迎下次来玩。")

}

public static char[] generate(){

Scanner sc=new Scanner(System.in)

int g

do{

System.out.println("欢迎进入猜字母游戏,请选择游戏难度等级:1.初级 2.中级 3.高级")

g=sc.nextInt()

}while(g<1 || g>4)

char arr[]=new char[g]

for(int i=0i<gi++){

arr[i]=(char)(int)(Math.random()*26+97)

}

return arr

}

public static void guessGame(char arr[]){

int count=0

char arr1[]=new char[arr.length]

do{

System.out.println("请输入"+arr.length+"个字母:(输入 0 退出)")

Scanner sca=new Scanner(System.in)

String A=sca.next()

System.out.println(A)

char arr2[]=A.toCharArray()

arr1=Arrays.copyOf(arr2,3)

if(arr1[0]=='0')

break

System.out.print("答案:")

for(int i=0i<arr.lengthi++){

if(arr[i]==arr1[i]){

count++

System.out.print(arr[i])

}

else{

System.out.print("*")

}

}

System.out.println()

if(count==arr.length){

System.out.println("恭喜你猜对了")

break

}

else{

System.out.println("猜对"+count+"个,继续加油。")

}

count=0

}while(arr1[0]!='0')

}

}

public class GuessingGame {

    public static char[] generate(int level){

     char[] letters = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T',

     'U','V','W','X','Y','Z'}

     char[] chs = new char[level]

     boolean[] flag  = new boolean[26]

     for(int i=0i<chs.lengthi++){

     int index

     do{

     index = (int)(Math.random()*26)

     }while(flag[index])

     chs[i] = letters[index]

     flag[index] = true

     }

     return chs

    }

    public static int[] check(char[] chs,char[] input){

     int[] result= new int[2]

     for(int i=0i<chs.lengthi++){

     for(int j=0j<input.lengthj++){

     if(chs[i]==input[j]){

     result[0]++

     if(i==j){

     result[1]++

     }

     break

     }

     }

     }

     return result

    }

public static void main(String[] args) {

int level

int score

int count=0

Scanner scanner = new Scanner(System.in)

System.out.println("请选择游戏等级")

level = scanner.nextInt()

        char[] chs = generate(level)

        System.out.println(Arrays.toString(chs)+"\n猜吧")

        while(true){

         String inputStr = scanner.next().trim().toUpperCase()

         char[] input = inputStr.toCharArray()

         do {

          System.out.println("个数不对,请重新输入")

          inputStr = scanner.next().trim().toUpperCase()

               input = inputStr.toCharArray()

          }while(input.length!=level)

         int[] result = check(chs,input)

         if("EXIT".equals(inputStr)){

         System.out.println("谢谢")

         break

         }

         if(result[1]==level){

         score = 500-count*10

         System.out.println("恭喜全对!得分"+score)

         break

         }else{

         count++

         System.out.println("总次数"+count+"猜对字母个数"+result[0]+"猜对位置个数"+result[1])

         }

        

        }

}

}