一、城堡游戏介绍:

1.这个程序的任务是通过玩家的输入的方向(纯文字)在虚构的城堡内移动(以纯文字作为移动后的返回结果)。
2.这个程序接受help、bye、go south、go north、go west、go east六种命令,要求命令单独一行输入并在结束时敲回车,另外如果接受go xxx的不合规信息会输出不存在这样的房间。
3.help提供帮助信息,bye结束游戏,go后面空一格加south、north、west、east表示在虚构的城堡中移动。
4.有五个地点,分别是:小酒吧,大厅,书房,卧室,次卧。
5.地图:

二:实现代码

package com.company;import java.util.Scanner;/*
城堡游戏介绍:
1.这个程序的任务是通过玩家的输入的方向(纯文字)在虚构的城堡内移动(以纯文字作为移动后的返回结果)。
2.这个程序接受help、bye、go south、go north、go west、go east六种命令,要求命令单独一行输入并在结束时敲回车,
另外如果接受go xxx的不合规信息会输出不存在这样的房间。
3.help提供帮助信息,bye结束游戏,go后面空一格加south、north、west、east表示在虚构的城堡中移动。
4.有五个地点,分别是:小酒吧,大厅,书房,卧室,次卧。
5.地图:...*///定义一个Room类,表示每个房间的情况
class Room{public String room_name;public Room eastExist;public Room southExist;public Room westExist;public Room northExist;public Room(String room_name){this.room_name=room_name;}public void setExist(Room east,Room south,Room west,Room north){if(east!=null){eastExist=east;}if(south!=null){southExist=south;}if(west!=null){westExist=west;}if(north!=null){northExist=north;}}public String toString(){return room_name;}
}public class Game {private static Room current_room;public static void main(String[] args) {Scanner in=new Scanner(System.in);Room pub=new Room("小酒馆");Room hall=new Room("大厅");Room study=new Room("书房");Room bedroom=new Room("卧室");Room bedroom1=new Room("次卧");current_room=pub;//设置各个房间之间连通的门pub.setExist(hall,null,null,null);hall.setExist(bedroom1,study,pub,null);study.setExist(bedroom,null,null,hall);bedroom.setExist(null,null,study,null);bedroom1.setExist(null,null,hall,null);System.out.println("欢迎来到城堡游戏!");System.out.println("请输入您选择的前进方向(east,south,west,north):");System.out.println("输入格式例如:go east");System.out.println("如果需要帮助,请输入:help ,如果需要结束游戏,请输入:bye");Game game=new Game();System.out.println("您当前所在的房间为:"+current_room);while(true) {String str = in.nextLine();String[] arr = str.split(" ");if(arr[0].equals("help")) {game.help();} else if(arr[0].equals("bye")) {break;}else if(arr[0].equals("go")){game.go_ahead(arr[1]);}else{System.out.println("不存在这样的房间!");}}}public void help(){System.out.println("迷路了吗?你可以做的命令有:go | bye | help");System.out.println("如:go east");}public void go_ahead(String direction){if(direction.equals("east")){if(current_room.eastExist==null){System.out.println("输入的方向没有房间");}else {current_room = current_room.eastExist;System.out.println("你当前所在的房间为:"+current_room);}}else if(direction.equals("south")){if(current_room.southExist==null){System.out.println("输入的方向没有房间");}else{current_room=current_room.southExist;System.out.println("你当前所在的房间为:"+current_room);}}else if(direction.equals("west")){if(current_room.westExist==null){System.out.println("输入的方向没有房间");}else {current_room = current_room.westExist;System.out.println("你当前所在的房间为:"+current_room);}}else if(direction.equals("north")){if(current_room.northExist==null){System.out.println("输入的方向没有房间");}else {current_room = current_room.northExist;System.out.println("你当前所在的房间为:"+current_room);}}else {System.out.println("不存在这样的房间");return;}System.out.print("和当前房间连通的房间的方向有:");if(current_room.eastExist!=null){System.out.print("east ");}if(current_room.southExist!=null){System.out.print("south ");}if(current_room.westExist!=null){System.out.print("west");}if(current_room.northExist!=null){System.out.print("north");}System.out.println();}}

以下文章是对本篇文章中代码的优化:
Java之城堡游戏的优化

Java之城堡游戏设计相关推荐

  1. java程序实现剪刀石头布功能_基于JAVA的剪刀石头布游戏设计——Java课程设计报告_...

    基于JAVA的剪刀石头布游戏设计 1剪刀石头布游戏设计思路阐述 在设计游戏时,我们要充分考虑到剪刀石头布游戏的特性,以及多种技术的实现: ⑴构造创建服务器端和客户端 ⑵创建输入输出流 ⑶编写服务器端处 ...

  2. 基于java的扫雷论文_毕业论文基于JAVA的扫雷游戏设计

    毕业论文基于JAVA的扫雷游戏设计 课 程 设 计 报 告 课程名称: 计算机技术综合课程设计 题 目: 基于JAVA语言的扫雷游戏设计 学 院: 信息工程 系: 计算机 专 业: 计算机科学与技术 ...

  3. 基于Java的雷电游戏设计(含源文件)

    欢迎添加微信互相交流学习哦! 项目源码:https://gitee.com/oklongmm/biye 基于Java的雷电游戏 摘   要    电脑游戏,是指在计算机上能够运转的游戏软件.这种软件具 ...

  4. 基于Java的连连看游戏设计与实现

    项目介绍 连连看是一种消除类益智游戏,核心要求是在规定的时间内,消除游戏界面中选中的两张相同的图案,直至完全消除所有图案.这款游戏操作简单(只需单击鼠标左键操作).面向人群广泛,在限时操作的游戏要求下 ...

  5. java程序设计蜘蛛纸牌_蜘蛛纸牌java程序设计 小游戏设计 代码

    JA V A程序--小游戏设计:蜘蛛纸牌4 代码如下: import javax.swing.JMenuBar; import javax.swing.JMenu; import javax.swin ...

  6. 翁恺老师Java进阶城堡游戏源码

    刚开始学习Java,在比站发现了翁恺老师的课程,讲的很不错.Castle源码我找了很久都没有找到老师课上自己讲的那个程序,于是我决定做一回搬运工,自己敲了出来,现在也方便一下大家,大家一起学习,一起进 ...

  7. java飞机大战编程_[源码和文档分享]Java飞机大战游戏设计与实现

    1 概述 本次Java课程设计是做一个飞机大战的游戏,应用Swing编程,完成一个界面简洁流畅.游戏方式简单,玩起来易于上手的桌面游戏.该飞机大战项目运用的主要技术即是Swing编程中的一些窗口类库. ...

  8. 基于java的围棋游戏设计

    围棋游戏能实现联机对战,和单机版游戏对战.用Eclipse开发Java程序的相关技术,主要运用了GUI(用户图形界面)API(应用程序借口)来实现,此程序没有用到图片的引用,棋盘和棋子的设计完全是应用 ...

  9. 基于java的围棋游戏设计-计算机毕业设计

    项目介绍 围棋游戏能实现联机对战,和单机版游戏对战.用Eclipse开发Java程序的相关技术,主要运用了GUI(用户图形界面)API(应用程序借口)来实现,此程序没有用到图片的引用,棋盘和棋子的设计 ...

最新文章

  1. MpVue开发之swiper的使用
  2. SAP BSP source code handling - how is native html source generated by UI framework
  3. c#中textbox属性_C#.Net中的TextBox.Visible属性与示例
  4. leetcode 877. 石子游戏(dp)
  5. 2021巨量引擎连锁经营行业洞察报告
  6. 循环数组最大字段和(51Nod-1050)
  7. 使用SqlDependency监测数据库
  8. AE “每用户订阅上的所有人SID 不存在”
  9. CDays-3 习题一 (处理命令行参数)及相关内容解析。Python getopt 简介
  10. adadelta算法_【深度学习】深入理解优化器Optimizer算法(BGD、SGD、MBGD、Momentum、NAG、Adagrad、Adadelta、RMSprop、Adam)...
  11. 超定方程 matlab,Matlab求解超定方程组实例(精品文档)
  12. torch.kron()函数
  13. 【应用程序无法正常启动0xc000007b 请点击确定关闭应用程序】的错误如何解决?
  14. 《快速掌握PyQt5》
  15. Spring Boot整合MyBatis框架(完整的注解版)
  16. Android悬浮窗口开发
  17. Oracle EBS PAC定期成本分配处理程序请求报错:30011一个无效帐户与正在处理的物料关联
  18. Python学习笔记002-安装SQL Server2016(和操作系统般配^-^)
  19. Java安卓如何添加悬浮窗_Android桌面悬浮窗效果实现
  20. java 获取浏览器名称及版本号

热门文章

  1. vue项目使用思源黑体
  2. Python Machine Learning 中文版,Python机器学习介绍
  3. 电总协议调试助手V1.0.4发布
  4. 大学生程序设计创新实践基地2022年冬季校赛(NPU ACM Winter Contest)
  5. Linux下的暴力密码在线破解工具Hydra
  6. 全网Oracle基础最全教程
  7. Micromine.v10.0.5-ISO 1CD矿山软件
  8. 2023年全国最新高校辅导员精选真题及答案
  9. GNU与GPL的区别
  10. 那些年,网页踩过的坑