其中,游戏的得分规则为:字符的个数乘以100为总分,即此游戏的总分为 500 分。玩家如果第一次就猜对,则得满分(500分);每多猜测一次,则扣10分。
最后,如果玩家在控制台录入 exit,则游戏中止,程序结束。
1. 猜字母游戏-设计数据结构
本案例需要实现猜字母游戏中的数据结构设计,即,设计相关的数据结构,可以存储此程序中所用到的相关数据。
完整代码
2. 猜字母游戏——设计程序结构
方案
分析猜字母游戏可以看出,程序首先需要随机产生 5 个不同的字母作为需要猜测的结果,因此,可以先定义一个方法,以实现此功能;其次,每当玩家猜测一次后,程序需要将玩家录入的字符串和正确答案进行比较,统计正确的字符个数以及正确的位置个数,因此,也可以先定义一个方法,专用于实现比较功能。这样,就可以在 main 方法中调用这两个方法。
完整代码
3. 猜字母游戏——实现字母生成方法
方案
实现猜字母游戏中的字母生成方法,即,随机生成 5 个不同的字母作为猜测的结果。
gererate方法,首先声明一个字符类型的数组,用于存储 26 个大写字母,然后声明一个 boolean 类型的数组,其长度也为 26。此数组中的初始值均为false,意味着,程序起始,没有任何字母被选中。如果某个字母被选中,则同时设置该字母在 boolean 类型数组中对应位置上的值为true,表示该字母被选中过。
然后,使用嵌套循环:外层循环用于控制所生成的字母个数,即,循环 5 次,以产生5 个字母;而内层循环则用于判断所生成的字母是否重复。
流程图
完整代码:
4. 猜字母游戏——实现字母检测方法
比较玩家输入的字母序列和程序所生成的字母序列,逐一比较字符及其位置,并记载比较结果。
实现check方法,需要逐一取出玩家录入的每个字符,并和结果字符串一一比较:比较字符本身以及字符所在的位置,并记载比较的结果。此案例需要使用嵌套循环来实现。
完整代码
5. 猜字母游戏——实现主方法
为实现猜字母游戏的整体过程,首先需要调用generate() 方法,以生成五个字母;其次,需要使用 while(true) 循环允许玩家进行多次猜测;在循环中,接收玩家猜测的字母,然后调用check() 方法,检查猜测的结果。如果猜测正确,则输出提示信息和分数,游戏结束;如果猜测错误,则输出猜测的判断结果并提示玩家游戏继续。
代码如下:
该程序完整代码如下:
注意:如有错误,欢迎指出,共同进步!多多包涵!这个类不完善,还有很多可以添加的内容!