• 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("**********************************
    游戏进行到第 " + 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
    
    

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

  • 相关阅读:
    【五校联考1day2】JZOJ2020年8月12日提高组T2 我想大声告诉你
    【五校联考1day2】JZOJ2020年8月12日提高组T1 对你的爱深不见底
    JZOJ2020年8月12日提高组反思
    JZOJ2020年8月11日提高组T4 景点中心
    JZOJ2020年8月11日提高组T3 页
    JZOJ2020年8月11日提高组T2 宝石
    JZOJ2020年8月11日提高组T1 密码
    JZOJ2020年8月11日提高组反思
    JZOJ2020年8月10日提高组T3 玩诈欺的小杉
    nw335 debian sid x86-64 --3 linux内核自带
  • 原文地址:https://www.cnblogs.com/xpwi/p/9826850.html
Copyright © 2020-2023  润新知