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

利用JAVA基础语法,如数组、循环、条件判断及输入/输出,创建一个宫廷题材的互动小游戏,帮助初学者理解并实践JAVA基础知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《延禧攻略》如此火爆,蹭蹭热度,用 JAVA 最基础的数组,循环,条件,输入/输出,做了一个简单的小游戏,帮助初学者巩固 JAVA 基础,注释非常详细

动态图展示:

1483449-20181021210259276-1900484393.gif

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

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

转载于:https://www.cnblogs.com/xpwi/p/9826850.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值