JAVA 实现《英文猜词游戏》游戏

您所在的位置:网站首页 英语猜词游戏 JAVA 实现《英文猜词游戏》游戏

JAVA 实现《英文猜词游戏》游戏

2024-06-24 20:00| 来源: 网络整理| 查看: 265

前言

《英文猜词游戏》代码行数没有超过200行,是之前为了背英语单词,特意研发的小游戏。

主要设计

事先准备单词文本。

为了让玩家能与程序互动,使用下面这个命令可达效果

Scanner sc = new Scanner(System.in);

运行WordleMaster里的main方法

在Wordle中输入第一个单词(默认第一个单词是abort,会显示在console中。可在代码中修改)

将Wordle中的判定结果输入到console中。

0表示不包含该字母,即灰色。1表示包含该字母,但是位置不正确,即黄色。2表示包含该字母且在正确的位置,即绿色。

在console输出的结果中选择一个单词输入Wordle中,并在console中输入该词的序号。

重复5-6步,直至找到正确答案。

功能截图

游戏开始:

image-202202219047717

输入单词(这个单词可以自己设定)

image-20220221909373

image-202202219550940

代码实现

游戏启动类

public class WordleMaster { public static void main(String[] args) throws IOException { final String DEFAULT_FIRST_WORD = "abort"; Scanner sc = new Scanner(System.in); System.out.println("欢迎使用 wordle-master !请在Wordle游戏中输入第一个单词:(输入回车则默认使用abort作为初始词)"); System.out.println("提示:英文单词长度要为5!"); Word lastWord = new Word(sc.nextLine()); while (!lastWord.isValid()) { if (lastWord.getWord().equals("")) { lastWord = new Word(DEFAULT_FIRST_WORD); break; } System.out.println("请输入一个有效的单词!"); lastWord = new Word(sc.nextLine()); } System.out.println("初始词为:" + lastWord.getWord()); Pattern pattern = new Pattern(); // 输入Wordle结果 int[] res = pattern.result(); // 读取所有的单词 List allWords = new ArrayList(); File file = new File("wordle_words.txt"); InputStreamReader reader = new InputStreamReader(new FileInputStream(file)); BufferedReader bufferedReader = new BufferedReader(reader); String word = bufferedReader.readLine(); while (word != null){ Word w = new Word(word); allWords.add(w); word = bufferedReader.readLine(); } bufferedReader.close(); reader.close(); // 符合条件的单词 List hope = allWords; while (hope.size() > 1){ for (int i = 0; i w.notLocate(finalLastWord.getWord().charAt(finalI), finalI)).collect(Collectors.toList()); break; default: } } System.out.println("size: " + hope.size()); for (int i = 0; i 1) { Scanner scanner = new Scanner(System.in); int chose = Integer.MAX_VALUE; while (chose > 9 || chose


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3