Java学习小程序(10)三个等级的才字母游戏
生活随笔
收集整理的這篇文章主要介紹了
Java学习小程序(10)三个等级的才字母游戏
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
猜字母游戲----實現游戲等級,游戲等級設為三級:5,7,9,代表所需猜測的字母個數
//為猜字母游戲添加游戲等級,游戲等級為5,7,9 import java.util.Scanner; public class GuessingGame {public static void main(String[] args) { //主方法//便是玩家猜測的次數int count = 0;//表示用戶猜測的數據char[] input = null;//用于保存判斷的結果int[] result = new int[2];Scanner scan = new Scanner(System.in);System.out.println("GuessingGame>歡迎嘗試猜字母游戲!");int level;do {System.out.println("請輸入等級(5,7,9):");level = scan.nextInt();}while(level!= 5 && level!=7 && level!=9);char[] chs = generate(level); //獲取隨機字符數組System.out.println(chs); //作弊哈,顯示猜測答案System.out.println("GuessingGame>游戲開始,請輸入您所猜測的5個字母序列:(exit--退出)");while(true) { //自造死循環String inputStr = scan.next().trim().toUpperCase(); //接收字符串,并轉換為大寫if("Exit".equals(inputStr)) {System.out.println("GuessingGame>謝謝你的嘗試,再見!");break;}input = inputStr.toCharArray();result = check(chs,input);if(result[0] == chs.length) { //完全猜對的情況int score = 100 * chs.length - count *10; //一個字符100分,猜錯一次扣10分System.out.println("GuessingGame>恭喜你猜對了!你的得分是:"+score);break;}else {count++;System.out.println("Guessing>你猜對"+result[1]+"個字符,其中"+result[0]+"個字符的位置對!(總次數="+count+",exit--退出)");}}scan.close();}//隨機生成需要猜測的字母序列,level表示等級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'}; //字符可選范圍數組boolean[] flags = new boolean[letters.length]; //開關數組,默認為falsechar[] chs = new char[level]; //生成隨機字符數組for (int i = 0;i < chs.length; i++) { //遍歷隨機字符數組int index;do {index = (int) (Math.random()* (letters.length)); //生成隨機下標,0到25}while(flags[index]==true);//若下標對應的開關為true,表示已經存過,重新生成index//當下標對應開關為false,表示未存過,條件為假,則為循環結束chs[i] = letters[index]; //基于index下標去letters中獲取數據,并賦值給chs中每一個元素flags[index] = true; //修改index下標對應開關為true,表示已經存過}return chs;}//比較玩家輸入的字母序列和程序所生成的字母序列,逐一比較字符及其位置,并記載比較結果//result[0]為位置對,result[1]為字符對public static int[] check(char[] chs,char[] input) {int[] result = new int[2]; //字符對和位置對for (int i = 0;i < chs.length;i++) {for (int j = 0; j < input.length; j++) {if (chs[i] == input[j]) { //判斷字符是否正確result[1]++; //字符對個數加1if (i == j) { //判斷位置是否正確result[0]++; //位置對個數加1}break;}}}return result;}}?
總結
以上是生活随笔為你收集整理的Java学习小程序(10)三个等级的才字母游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java学习小程序(9)冒泡排序算法实现
- 下一篇: 孪生三兄弟 CycleGAN, Disc