
正文
猜字母java游戏源代码 java猜字母游戏while循环
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
JAVA猜字母游戏
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=0;ichs.length;i++){
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=0;ichs.length;i++){
for(int j=0;jinput.length;j++){
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("个数不对猜字母java游戏源代码,请重新输入");
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("恭喜全对猜字母java游戏源代码!得分"+score);
break;
}else{
count++;
System.out.println("总次数"+count+"猜对字母个数"+result[0]+"猜对位置个数"+result[1]);
}
}
}
}
相关问答
Q1: Java 编程求帮助为猜字母游戏添加游戏等级。游戏等级设为三等:5、7和9,
import java.util.*;
public class test {
private static Scanner in = new Scanner(System.in);
public static void main(String args[]) {
int level, guessCount = 0;
String inputStr, guessStr = "";
showMsg("欢迎尝试猜字母游戏!");
showMsg("请输入游戏级别(5、7、9)");
level = getLevel(in.next());
guessStr = getGuessStr(level);
showMsg("游戏开始,请输入你所猜的" + level +
"个字符序列:(exit-退出, guess-作弊)");
while (!"exit".equals(inputStr = in.next())) {
if ("guess".equals(inputStr)) {
showMsg("偷偷告诉你,答案是:" + guessStr);
} else if (guessStr.equals(inputStr.toUpperCase())) {
showMsg("恭喜你猜对了!正确答案是:" + guessStr);
return;
} else {
showGuessState(guessStr, inputStr.toUpperCase(), ++guessCount);
}
}
}
private static void showGuessState(String guessStr, String inputStr, int guessCount) {
int letterRight = 0, positionRight = 0;
for (int i=0;iguessStr.length();i++) {
char s = guessStr.charAt(i);
if (inputStr.contains(s + "")) {
letterRight++;
if (s == inputStr.charAt(i)) {
positionRight++;
}
}
}
showMsg("你猜对" + letterRight + "个字符,"
+ "其中" + positionRight + "个字符的位置正确!"
+ "(总次数-" + guessCount + ", exit-退出)");
}
//获取字符串
private static String getGuessStr(int level) {
String guessStr = "";
Random random = new Random();
for (int i=0;ilevel;i++) {
char str = (char) ('A' + random.nextInt(26));
if (guessStr.contains(str + "")) {
i--;
} else {
guessStr += str;
}
}
return guessStr;
}
//获取游戏等级
private static int getLevel(String inputStr) {
switch (inputStr) {
case "5":
return 5;
case "7":
return 7;
case "9":
return 9;
default:
showMsg("请重新输入游戏等级:");
return getLevel(in.next());
}
}
//控制台输出带前缀
private static void showMsg(String msg) {
System.out.println("GuessingGame" + msg);
}
}
不谢~
Q2: 用java写猜字母的小游戏;随机生成几个字母,玩家输入几个数与随机生成的数进行比较。
这个行不 ????
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(g1 || g4);
char arr[]=new char[g];
for(int i=0;ig;i++){
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=0;iarr.length;i++){
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');
}
}
关于猜字母java游戏源代码和java猜字母游戏while循环的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






