package ImperialHaremOrSeraglio;
import java.util.Scanner;
/**
- 后宫选妃
- @author 大杨
*@date 2019年8月17日 上午12:06:54
*/
public class AppMain {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
/*后宫娘娘名称数组,预留五个空间/
String[]nnNameArray= {“甄姬”,“妲己”,“西施”,“杨玉环”,“王昭君”," “,” “,” “,” “,” “};
/*级别名称数组/
String[]levelName={“贵人”,“嫔妃”,“爱妃”,“贵妃”,“皇妃”,“皇贵妃”,“皇后”};
/*对应每个娘娘的等级/
int[]level=new int[10];
/*初始化娘娘等级/
for (int i = 0; i < level.length; i++) {
level[i]=0;
}
/*每个娘娘的好感度/
int[]loves=new int[10];
int nncount=5; //娘娘初始数量
/*初始化娘娘好感度默认为100/
for (int i = 0; i < nncount; i++) {
loves[i]=100;
}
for (int i = 0; i < nncount; i++) {
System.out.println(nnNameArray[i]+”\t"+levelName[level[i]]+"\t"+loves[i]);
}
int gameDay=1;//游戏默认十天
while(gameDay<=10) {
System.out.printf(“游戏进行到第%d天\n”,gameDay);
System.out.println(“1.皇上下旨选妃”);
System.out.println(“2.翻牌宠幸”);
System.out.println(“3.打入冷宫”);
System.out.println(“4.朕的爱妃呢?\t(查找、修改状态)”);
System.out.print(“陛下请选择:”);
int choice=input.nextInt();
switch(choice) {
case 1://皇上下旨选妃\t\t(增加)
if(nncount= =nnNameArray.length) {
System.out.println(“陛下,后宫已人满为患,皇帝家也没米下锅了!”);
break;
}
System.out.print(“请输入新进娘娘的名讳:”);
String newname=input.next();
//增加姓名数组,好感度数组,级别数组
nnNameArray[nncount]=newname;
loves[nncount]=100;//默认好感度为100
//其他娘娘的好感度-10
for (int i = 0; i <nncount; i++) {
loves[i]-=10;
}
nncount++;
break;
case 2://翻牌宠幸\t\t(修改状态)
int searchIndex=-1;
System.out.print(“请输入要宠幸娘娘名讳:”);
String name=input.next();
for (int i = 0; i < nncount; i++) {
if(name.compareTo(nnNameArray[i])= =0) {
searchIndex=i;
break;
}
}
if(searchIndex= =-1) {
System.out.println(“陛下,不要活在梦中,要面对现实!”);
break;
}
//找到之后,该娘娘好感度+20,其他娘娘好感度-10
loves[searchIndex]+=20;
if (level[searchIndex]+1= =levelName.length) {
System.out.printf("%s娘娘已经母仪天下了,升级失败!");
loves[searchIndex]+=10;
break;
}
level[searchIndex]++;
for (int i = 0; i < nncount; i++) {
if (i= =searchIndex) {
continue;
}
loves[i]-=10;
}
System.out.printf("%s被您宠幸,好感度+20,并升级为%s,其他娘娘好感度-10\n",nnNameArray[searchIndex],levelName[level[searchIndex]]);
break;
case 3://打入冷宫,其他娘娘好感度+10
System.out.print(“请输入您要打入冷宫的娘娘名讳:”);
String lgname=input.next();
int lgIndex=-1;
//查找娘娘的下标
for (int i = 0; i < nncount; i++) {
if(lgname.compareTo(nnNameArray[i])= =0) {
lgIndex=i;
break;
}
}
if (lgIndex==-1) {
System.out.println(“陛下,面对现实!您未拥有该美人~~”);
break;
}
/*若找到冷宫娘娘下标,则根据下标删除娘娘名字,好感度,等级/
//删除娘娘名字
for (int i = 0; i < nnNameArray.length-1-lgIndex; i++) {
nnNameArray[lgIndex+i]=nnNameArray[lgIndex+i+1];
loves[lgIndex+i]=loves[lgIndex+i+1];
level[lgIndex+i]=level[lgIndex+i+1];
}
level[nncount]=0;//重置删除的娘娘的等级
loves[nncount]=100;//重置删除的娘娘的好感度
nncount-=1;//娘娘数量-1
for (int i = 0; i < nncount; i++) {
loves[i]+=10;
}
break;
case 4://朕的爱妃呢?\t(查找、修改状态)
//亲自选择娘娘宠幸,该娘娘好感度+50,等级+2,其他娘娘好感度-20
System.out.print(“请输入要宠幸娘娘的名讳:”);
String cxname=input.next();
int cxIndex=-1;
//查找娘娘的下标
for (int i = 0; i < nncount; i++) {
if(cxname.compareTo(nnNameArray[i])= =0) {
cxIndex=i;
break;
}
}
loves[cxIndex]+=50;//好感度+50
level[cxIndex]+=2;//等级+2
for (int i = 0; i < nncount; i++) {
if(i==cxIndex) {
continue;
}
loves[i]-=20;//其他娘娘好感度-20
}
break;
default:
System.out.println(“必须输入1-4之间的数字”);
continue;
}
System.out.println(“名字\t级别\t好感度\t”);
for (int i = 0; i < nncount; i++) {
System.out.printf("%s\t%s\t%d\n",nnNameArray[i],levelName[level[i]],loves[i]);
}
//如果超过或3个娘娘的好感度小于60,游戏提前结束
int count=0;
for (int i = 0; i < nncount; i++) {
if (loves[i]<60) {
count++;
}
}
if(count>=3) {
System.out.println(“由于部分爱妃们对陛下不满,私下密谋将您毒死!”);
System.out.println(“陛下执政”+gameDay+“天!”);
System.out.println(“生涯落下帷幕”);
System.exit(0);
}
gameDay++;
}
System.out.println(“恭喜陛下通过10天考验,相信陛下能掌管朝内各个事务!”);
}
}