温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用Java代码实现经典角色扮演侦探游戏游戏

发布时间:2022-02-18 10:45:05 来源:亿速云 阅读:127 作者:iii 栏目:开发技术

本篇内容主要讲解“怎么用Java代码实现经典角色扮演侦探游戏游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Java代码实现经典角色扮演侦探游戏游戏”吧!

    前言

    游戏背景

    百变山庄坐落于太平洋的一座小岛上,山庄主人亦是小岛的主人。这个神秘主人细致周到,邀请函里不仅附着往返港口的机票,港口的邮船也是通往小岛的专线。 初登小岛,恢宏大气的山庄直入眼帘,通过门廊,金碧辉煌的大厅震人心魄. 受邀的侦探们陆续到齐,【侍者】彬彬有礼地站在一旁,他安排你们围坐在一个奇特十边形的桌子旁稍加等待。【侦探指尖】回忆着自己临行前调查的各位名侦探的资料,除了那个神秘的【电话亭】侦探仍没有现身,世界侦探排名前五的侦探们们刚好每个人占据了桌子的两边一角,就最近破获的案情相互寒暄着。 "各位名侦探,欢迎你们来到百变山庄。"一个苍老沉重的声音响起,灯光骤灭。 乳白的墙面上同时投射出一个诡谲的背影。 "百变山庄的谜案,只有最优秀的侦探才能破解,我不会让你们失望。希望你们也能经受住我的重重考验。谜案的具体信息,晚宴之后再向大家介绍。各位名侦探,祝你们用餐愉快!"画面消失,灯光重新亮起,【侍者】推着餐车缓缓走来。 这个神秘的主人并没有亲临现场。 【御姐侦探】对此十分不满,她拉着【侦探手心】去往盥洗室,这两位精致的美女侦探要在用餐前修补妆容。 【侍者】托起一盘酒,示意大家自便拿取。你打量着眼前的酒杯,山庄主人对艺术有着执着的追求,连酒杯也都是十边形的,说起不同寻常之处,这酒杯还有一个杯耳。 两位美女侦探拿走酒杯刚一落座,德高望重的【安乐椅】侦探便举杯祝词,大家一饮而尽。少年侦探【红领巾】试图和【御姐】侦探交杯被拒绝,突然【侦探手心】皱着眉头吐出来说酒味道不对,一旁的【侍者】赶紧递过手帕擦拭。 "居然用这种廉价的餐酒来敷衍我们!真的是太…"【侦探手心】突然双手扼住自己的脖子,倒在地上。"当….当…当……大厅一角的古董钟敲响了8下。 少年侦探【红领巾】第一时间检查了【侦探手心】的身体,向大家宣布了她的死亡。 挑战已经开始了吗? 【侦探指尖】暗自思忖着。名侦探们慌乱一团,却被【侍者】告知他们已经不能离开这里了。 岛上并没有信号,而接送大家的游船也已经驶出小岛。真是个有趣的主人,【侦探指尖】不禁露出了微笑。

    主要需求

    用JAVA的基本语法和一些逻辑判断,把剧情串起来,去吧,找出凶手。

    主要设计

    1、通过随机数,获取玩家所对应的身份

    2、设计剧情背景,写好剧本

    3、玩家在控制台输入指定的命令,可以与剧情互动。可以通过代码实现:

    Scanner sc = new Scanner(System.in)
        //获取从控制台输入的字符
        String input = sc.next();

    4、通过逻辑判断,就可以在不同的剧情流程中进行流转。

    功能截图

    随机获取玩家身份

    怎么用Java代码实现经典角色扮演侦探游戏游戏

    角色介绍

    怎么用Java代码实现经典角色扮演侦探游戏游戏

    故事背景

    怎么用Java代码实现经典角色扮演侦探游戏游戏

    你的任务

    怎么用Java代码实现经典角色扮演侦探游戏游戏

    探索现场

    怎么用Java代码实现经典角色扮演侦探游戏游戏

    所以,你找到凶手了吗

    代码实现

    游戏主界面

    /*
    这里是游戏执行类 侦探
     */
    public class MainGame extends Story {
        public static void main(String[] args) {
            //实现猜数字小游戏,通过随机的x数以下的随机数,获取你所对应的身份
            Random r = new Random();
            int id = r.nextInt(5) + 1;
    
            inChoice(id);
            // switchChoice(id);
    
            sleep(1000);
            Scanner sc = new Scanner(System.in);
            System.out.println("接下来就深入了解一下其他人的身份吧!(请输入 “yes” 或 “no”)");
            String input = sc.next();
            String yes = "yes";
            if (!yes.equals(input)) {
                System.out.println("你确定不想了解其他人的身份吗?");
                System.out.println("这些线索能够帮助你更快找到答案哦!");
                System.out.println("那么就进入下一步吧!(请输入“yes”)");
            } else {
                character();
                System.out.println("那么就进入案情推理吧!(请输入“yes”)");
            }
            String input2 = sc.next();
            if (yes.equals(input2)) {
                Antecedent();
            }
    
            System.out.println(" ");
            misson();
    
    
            //开始游戏
            Game game = new Game();
            Scanner in = new Scanner(System.in);
            while (true) {
                String line = in.nextLine();
                String[] command = line.split(" ");
                if (command[0].equals("help")) {
                    game.printHelp();
                } else if (command[0].equals("go")) {
                    game.goRoom(command[1]);
                } else if (command[0].equals("bye")) {
                    System.out.println("下面进行结案投票环节,请选择你认为的凶手:" +
                            "1.安乐椅 2.御姐侦探 3.红领巾侦探 4.侦探手心 5.侦探指尖 6.侍者(输入序号即可)");
                    Scanner sca = new Scanner(System.in);
                    int ordinal = sca.nextInt();
                    Story.Truth(ordinal);
                    System.out.println();
                    System.out.println("命案解决了,你好棒喔~欢迎去玩下一部呐~");
                    System.exit(0);
                    break;
                }
            }
    
        }
    
        public static void misson() {
            System.out.println("你的任务\n" +
                    "1.找出案件真凶;\n" +
                    "2.推断侦探指尖在世界侦探排行榜中是第几名。");
        }
    
        public static void inChoice(int id) {
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入您猜测的数字(1-6之间的整数,它将对应你的身份):");
            while (true) {
                int input = sc.nextInt();
                if (input > id) {
                    System.out.println("您猜的数据" + input + "大了");
                } else if (input < id) {
                    System.out.println("您猜的数据" + input + "小了");
                } else {
                    switchChoice(id);
                    break;
                }
            }
        }
    
        public static void switchChoice(int id) {
            System.out.print("现在进行...随机分配,你的身份是:");
            sleep(1000);
            switch (id) {
                case 1:
                    System.out.println("安乐椅侦探");
                    break;
                case 2:
                    System.out.println("御姐侦探");
                    break;
                case 3:
                    System.out.println("红领巾侦探");
                    break;
                case 4:
                    System.out.println("电话亭侦探");
                    break;
                case 5:
                    System.out.println("侦探指尖");
                    break;
                case 6:
                    System.out.println("侍者");
                    break;
            }
        }
    
        public static void sleep(int mills) {
            try {
                Thread.sleep(mills);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    }

    主卧

    public class BedRoom extends Room {
    
        public BedRoom() {
            super("指尖的房间");
        }
    
        @Override
        public void narration() {
            System.out.println("指尖的侦探笔记");
            System.out.println("【左利手】习惯用左手的人");
        }
    
    }

    初始化

    public class Initialization {
        //初始化当前房间
        Room currentRoom;
    
        //显示欢迎信息
        public void welcome() {
            System.out.println("输入“go+房间”去你想去的房间开始搜证,如go main_bed");
            System.out.println("如果想结束游戏进行投票环节请输入“bye”");
            System.out.println("如果需要帮助,请记住输入 “help”");
        }
    
    
        //设定所有房间
        public void setRoom() {
            //初始化所有的房间
            Room bedroom = new BedRoom();
            Room lobby = new Lobby();
            Room secBed = new secBedroom();
            Room thBed = new thBedroom();
    
    
            //大厅初始化
            lobby.setExit("thr_bed", thBed);
            lobby.setExit("sec_bed", secBed);
            lobby.setExit("main_bed", bedroom);
    
            //指尖初始化
            bedroom.setExit("sec_bed", secBed);
            bedroom.setExit("thr_bed", thBed);
    
            //侍者初始化
            secBed.setExit("thr_bed", thBed);
            secBed.setExit("main_bed", bedroom);
    
            //御姐的初始化
            thBed.setExit("sec_bed", secBed);
            thBed.setExit("main_bed", bedroom);
    
    
            //设定起始房间
            currentRoom = lobby;
        }
    
        //获得当前房间
        public Room getCurrentRoom() {
            return currentRoom;
        }
    
    }

    大厅

    public class Lobby extends Room {
        public Lobby() {
            super("大厅");
        }
    
        @Override
        public void narration() {
            System.out.println("这里有红领巾侦探的杯子(1)和安乐椅侦探(2)的杯子,请输入你要查看的杯子");
            Scanner sc = new Scanner(System.in);
            String cup = sc.next();
            String hCup = "1";//红领巾侦探的杯子
            String ACup = "2";//安乐椅侦探的杯子
            if (cup.equals(hCup)) {
                System.out.println("你注意到“红领巾”侦探在饮酒是的诡异举动,决定去检查它的杯子。他的杯沿一侧检测除了毒药成分,所有人杯沿一侧都检查出了毒药成分!\n" +
                        " 你记得“红领巾”侦探和死者都是左利手!");
            } else if (cup.equals(ACup)) {
                System.out.println("你注意到“安乐椅”侦探领酒时异常的神情,决定去检查它的杯子,这个杯子居然是十一边形的!而其他人的杯子和桌子一样是十边形的。\n ");
            } else {
                System.out.println("你所输入错误,请输入1或2");
            }
    
        }
    }

    到此,相信大家对“怎么用Java代码实现经典角色扮演侦探游戏游戏”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI