Java猜字符小程序1.0
import java.util.Scanner;
public class Text {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("GuessingGame>游戏开始");
char[] chs= generate();
System.out.println(chs);
int score = 0;
int score1 = 0;
while (true){
System.out.println("猜吧");
String str = scan.next().toUpperCase();
if(str.equals("EXIT")){
System.out.println("下次再来吧");
break;
}
char[] input= str.toCharArray();
int[] result = pk(chs, input);
if(result[1]==chs.length){
System.out.println("猜对了");
score=100;
System.out.println("字符猜对的个数是:"+result[0]+"个,并且位置猜对的个数是:"+result[1]+"个。"+"本次得分为:"+score+"分。");
break;
}else{
switch (result[0]) {
case 1:
score=10;
break;
case 2:
score=20;
break;
case 3:
score=30;
break;
case 4:
score=40;
break;
case 5:
score=50;
break;
default:
break;
}
switch (result[1]) {
case 1:
score1=10;
break;
case 2:
score1=20;
break;
case 3:
score1=30;
break;
case 4:
score1=40;
break;
case 5:
score1=50;
break;
default:
break;
}
score=score+score1;
System.out.println("字符猜对的个数是:"+result[0]+"个,并且位置猜对的个数是:"+result[1]+"个。"+"本次得分为:"+score+"分。");
}
}
}
public static char[] generate(){
char[] result = new char [5];
char[] letters = {'Q','W','E','R','T','Y','U','I','O','P','A','S','D','F','G','H','J','K','L','Z','X','C','V','B','N','M'};
boolean[] flags = new boolean[26];
for(int i=0;i<result.length;i++){
int index = (int)(Math.random()*26);
while(flags[index]){
index=(int)(Math.random()*26);
}
result[i]=letters[index];
flags[index] = true;
result[i]=letters[index];
}
return result;
}
public static int[] pk(char[] chs,char[] input){
int[] result = new int [2];
for(int i=0;i<chs.length;i++){
for(int j=0;j<input.length;j++){
if(chs[i]==input[j]){
result[0]++;
if(i==j){
result[1]++;
}
}
}
}
return result;
}
}