欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 猜字符位置游戏-position gasses

猜字符位置游戏-position gasses

2025/6/8 18:59:03 来源:https://blog.csdn.net/ChyoD1811/article/details/148480778  浏览:    关键词:猜字符位置游戏-position gasses
import java.util.*;public class Main {/*字符猜位置游戏;每次提交只能被告知答对几个位置;根据提示答对的位置数推测出每个字符对应的正确位置;*/public static void main(String[] args) {char startChar = 'A';int gameLength = 8;List<String> ballList = new ArrayList<>();String endChar = "";for (int i = 0; i < gameLength; i++) {endChar = String.valueOf((char)((int)startChar + i));ballList.add(endChar);}String quest;StringBuilder anserString = new StringBuilder();for (int i = 0; i < gameLength; i++) {// 组装答案anserString.append(getTempAnserStr(ballList));}quest = anserString.toString();String anser = "";System.out.println("游戏开始: 共"+gameLength+"位," + "从"+ startChar + "到" + endChar);Scanner sc = new Scanner(System.in);int ansNum = 0;while(!evaAnser(anser,quest)) {anser = sc.next();ansNum++;};System.out.println("回答正确!  答案是:" + quest);System.out.println("回答次数:" + ansNum);}private static boolean evaAnser(String anser, String quest) {if (anser == null || anser.isEmpty()) {return false;}int correctNums = 0;char[] questArr = quest.toCharArray();char[] anserArr = anser.toCharArray();for (int i = 0; i < anserArr.length; i++) {if (questArr[i] == anserArr[i]) {correctNums++;}}System.out.println("correct: " + correctNums);return correctNums == quest.length();}// 获取随机字符private static String getTempAnserStr(List<String> balls) {Random random = new Random();int randomNumber = random.nextInt(balls.size());String tempBall = balls.get(randomNumber);balls.remove(randomNumber);return tempBall;}}

游戏示例:

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词