1. 程式人生 > >Java快速入門-05-陣列迴圈條件 例項《延禧攻略》

Java快速入門-05-陣列迴圈條件 例項《延禧攻略》

《延禧攻略》如此火爆,蹭蹭熱度,用 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

貼上即可執行