Java快速入门-05-数组循环条件 实例《延禧攻略》

版权声明:本文为博主原创文章,未经允许不得转载。 https://blog.csdn.net/qq_40147863/article/details/83245287

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

粘贴请自行修改包名、类名

猜你喜欢

转载自blog.csdn.net/qq_40147863/article/details/83245287