《延禧攻略》如此火爆,蹭蹭热度,用 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("**********************************
游戏进行到第 " + gameDays + " 天");
System.out.println("1、皇上下旨选妃 (增加)");
System.out.println("2、翻牌宠幸 (修改状态)");
System.out.println("3、打入冷宫 (删除)");
System.out.println("4、查看所有爱妃 (查找、修改状态)");
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] + " ");
}
System.out.println("
请输入娘娘编号:");
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("名字" + " " + "级别"+ " " + "好感度");
System.out.println("-------------------------");
for (int i = 0; i < nnCount; i++) {
System.out.println(nnNameArray[i] + " " + levelNames[level[i]] + " " + loves[i]);
}
break;
default:
System.out.println("必须输入 1-4 之间的整数");
continue;
}//switch
gameDays++;
}//while
input.close();
//www.cnblogs.com/xpwi
}//main
}//class
粘贴请自行修改包名、类名