当前位置: 首页 > article >正文

猜字符位置游戏-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;}}

游戏示例:

http://www.lryc.cn/news/2404267.html

相关文章:

  • 宝塔安装配置FRP
  • 元器件基础学习笔记——结型场效应晶体管 (JFET)
  • tableau 实战工作场景常用函数与LOD表达式的应用详解
  • 智能终端与边缘计算按章复习
  • C#面试问题61-80
  • 分布式Session处理的五大主流方案解析
  • C++ 中的 const 知识点详解,c++和c语言区别
  • 《PyTorch:开启深度学习新世界的魔法之门》
  • 分布式光纤传感(DAS)技术应用解析:从原理到落地场景
  • Spring事务回滚在系统中的应用
  • .Net Framework 4/C# 属性和方法
  • ASP.NET Core使用Quartz部署到IIS资源自动被回收解决方案
  • Fullstack 面试复习笔记:Spring / Spring Boot / Spring Data / Security 整理
  • 调用.net DLL让CANoe自动识别串口号
  • 第5章:Cypher查询语言进阶
  • 【Python进阶】元类编程
  • 算法(蓝桥杯学习C/C++版)
  • Docker镜像无法拉取问题解决办法
  • ZephyrOS 嵌入式开发Black Pill V1.2之Debug调试器
  • # 主流大语言模型安全性测试(二):英文越狱提示词下的表现与分析
  • SAP 在 AI 与数据统一平台上的战略转向
  • 服务器磁盘空间被Docker容器日志占满处理方法
  • c++学习-this指针
  • 交易所系统攻坚:高并发撮合引擎与合规化金融架构设计
  • OpenCV计算机视觉实战(10)——形态学操作详解
  • libiec61850 mms协议异步模式
  • [论文阅读] 人工智能 | 利用负信号蒸馏:用REDI框架提升LLM推理能力
  • 基于 NXP + FPGA+Debian 高可靠性工业控制器解决方案
  • CSS 选择器全解析:分组选择器/嵌套选择器,从基础到高级
  • uniapp 对接腾讯云IM群公告功能