Java快速入門-05-陣列迴圈條件 例項《延禧攻略》
阿新 • • 發佈:2018-12-16
《延禧攻略》如此火爆,蹭蹭熱度,用 JAVA 最基礎的陣列,迴圈,條件,輸入/輸出,做了一個簡單的小遊戲,幫助初學者鞏固 JAVA 基礎,註釋非常詳細
動態圖展示:
xuanfei.java 原始碼:
//包名根據自己包修改,可以沒有 package xuanfei; //用 Scanner 做輸入 import java.util.Scanner; //public 類 public class appMain { //main函式 public static void main(String[] args) { Scanner input = new Scanner(System.in); //後宮娘娘陣列 String[] nnNameArray = {"西施", "甄嬛", "貂蟬", "甄宓", "王昭君", "楊玉環", "", "", ""}; //娘娘的人數預設為 6 int nnCount = 6; //預設遊戲天數 int gameDays = 1; //級別陣列>依次增大,預設為 0 : 貴人 String[] levelNames = {"貴人", "嬪妃", "貴妃", "皇貴妃", "皇后"}; //每個娘娘對應的級別 int[] level = new int[10]; //對應每個娘娘的好感度,預設100 int[] loves = new int[10]; for (int i = 0; i < loves.length; i++) { loves[i] = 100; } //進入遊戲最多 10 天 while(gameDays <= 10) { System.out.println("**********************************\n遊戲進行到第 " + gameDays + " 天"); System.out.println("1、皇上下旨選妃\t\t(增加)"); System.out.println("2、翻牌寵幸\t\t(修改狀態)"); System.out.println("3、打入冷宮\t\t(刪除)"); System.out.println("4、檢視所有愛妃\t\t(查詢、修改狀態)"); System.out.println("陛下請選擇:"); int choice = input.nextInt(); switch(choice) { case 1: //增加娘娘,原有娘娘好感度都 -10 System.out.println("請輸入娘娘的名稱:"); String newName = input.next(); //1.在姓名陣列增加,2.好感度陣列 if(nnCount == nnNameArray.length) { System.out.println("後宮已滿!"); break; } nnNameArray[nnCount] = newName; loves[nnCount] = 100; //原有娘娘好感度都 -10 for (int i = 0; i < loves.length; i++) { loves[i] -= 10; } nnCount++; break; case 2: //翻牌寵幸,選中娘娘好感度 +10,提升級別,其他好感度 -10 for (int i = 0; i < nnCount; i++) { System.out.print((i+1) + nnNameArray[i] + "\t"); } System.out.println("\n請輸入娘娘編號:"); int select = input.nextInt(); select--; //好感度 +20 loves[select] += 20; //其他好感度 -10 for (int i = 0; i < nnCount; i++) { if(i != select) { loves[i] -= 10; } } System.out.println(nnNameArray[select] + "娘娘好感度 +20,提升級別為:" + level[select] + "其他娘娘好感度 -10"); //級別 +1 if(level[select] < 4) { level[select] += 1; } break; case 3: break; case 4: System.out.println("名字" + "\t" + "級別"+ "\t" + "好感度"); System.out.println("-------------------------"); for (int i = 0; i < nnCount; i++) { System.out.println(nnNameArray[i] + "\t" + levelNames[level[i]] + "\t" + loves[i]); } break; default: System.out.println("必須輸入 1-4 之間的整數"); continue; }//switch gameDays++; }//while input.close(); //www.cnblogs.com/xpwi }//main }//class
貼上即可執行