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])
}
}
}
}