宠物游戏

一 项目背景

  • 结合大二上学期所学的java基础编程知识,如循环结构、数组、类和对象等,以及java第二部分编程知识,如继承、多态、异常和集合框架等。

  • 根据自身的实际学习情况,从而决定编写宠物游戏系统,一方面是为了检验自己的学习情况,另一方面则是通过编写程序来增强自己对java的理解,培养良好的编程习惯。

二 程序设计

  • 2.1、系统程序设计

    • 2.1.1、工程结构的设计
  • 在编写宠物游戏系统时,最初的想法是建立两个程序包,一个用于存储用户数据和用户相关的操作方法,另一个则是包含所有的游戏数据汇总。但在写完宠物类后,发现用一个程序包来存储游戏数据的话会太过杂乱。于是便创建了5个程序包,将用户类Master、游戏中的商贩类Merchant存储在一个包中,将所有的宠物类存储在一个包,将游戏中的场所类写在一个包中,将游戏场所的接口存在一个包中,游戏测试单独存储在一个包。
  • 使用接口是为了模拟出通向各个游戏场所的道路,同时方便游戏场所的编写。

如下图所示:


  • 2.1.2、宠物数据的保存
  • 由于宠物系统涉及到的宠物比较多,为了更好的管理这些宠物,我的初步设计想是建立一个Pet抽象类,将所有宠物可能存在的属性和需要的方法编写在其中。之后再根据宠物种类的不同建立子类,如Cat类、Dog类等。在子类中编写某种宠物特定的属性和方法。
  • 在父类Pet中,一共声明了7个变量体现宠物的属性,定义了20种方法对声明的变量进行操作。其中对于父类中的所有变量使用了protected修饰,将其保护起来,只能通过公开的方法进行访问。
  • 关于宠物属性的初始化,一些普通的属性,如宠物名字等采用了让用户直接输入的方法。而其他较为特殊的属性则采用了特殊的赋值方法,如宠物性别的初始化,先是考虑到如果让用户输入可能会出现拼写错误的情况,于是将性别的初始化设定为由用户输入性别选项来确定宠物性别。 但也无法避免用户输入错误选项的情况,于是在用户输入非设定的性别选项时默认用户选择了雄性male.同时也存在需要系统随机定义宠物性别的情况,所以通过系统随机生成的数字0、1来确定宠物性别。同时一些属性也是由系统随机生成的数字来定义的,如健康值、亲密度等。
  • 在父类的方法中,有一个特殊的抽象方法,是用于给宠物的战斗力赋值。由于不同种类的宠物有自己特定的属性,同时该属性也是影响其战斗力的因素,所以要求每个子类写出自己的战斗力赋值方法。同样的在显示宠物的所有信息时,也要求显示该宠物的特定属性,所以在子类中对父类的宠物信息展示方法进行了重写。
  • 对于用户而言,因为其可以拥有多个宠物,所以在用户类Master中用链表存储宠物的信息。在调用用户的某一只宠物时,选择通过让用户输入该宠物的名字来与链表中的宠物进行匹配,在查找到该宠物后输出其在链表中的编号。对于游戏中的npc商贩来说,他们也同样拥有多只宠物。于是我在商贩类Merchant以及在冒险岛类中有关商贩的方法定义中使用了大量的对象数组。
  • ## 三 系统功能
  • ## 四 系统创新点
  • ## 五 具体的程序代码

链接: 宠物游戏代码.

  • ## 六 心得体会

宠物游戏系统 java相关推荐

  1. 基于javaweb的宠物商城系统(java+jsp+javascript+servlet+mysql)

    基于javaweb的宠物商城系统(java+jsp+javascript+servlet+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea ...

  2. 基于javaweb的在线宠物商店系统(java+ssm+mysql+tomcat)

    基于javaweb的在线宠物商店系统(java+ssm+mysql+tomcat) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse ...

  3. 宠物游戏代码 java

    用户包(User):(输出界面进行了优化) 主函数( Master.java): 用户注册 /*注册用户*/public void registeredUser(){ System.out.print ...

  4. Java项目:在线宠物商店系统(java+SSM+mysql+maven+tomcat)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能:本系统分用户前台和管理员后台. 系统包括用户的注册登录,狗狗的展示购物车添加以及下 单支付购买,后台有管理员用户,可以操 ...

  5. Java项目:宠物商城系统(java+Springboot+Maven+mybatis+Vue+mysql)

    源码获取:博客首页 "资源" 里下载! 一.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclis ...

  6. 计算机毕业设计 SSM网上宠物商店平台 网上宠物美容管理系统 网上宠物订购系统Java

    精彩专栏推荐订阅:在 下方专栏

  7. 【Java项目】java实战宠物领养系统项目

    在前几年国人的观念中,国外的宠物饲养就主要是通过领养的方式了,而国内一直都是用购买的方式进行.其实从宠物的饲养数量上来看:国内饲养宠物的人数已经比世界上任何一个国家都要多,主要因素是我国的人口基数大, ...

  8. JAVA计算机毕业设计宠物购物系统Mybatis+系统+数据库+调试部署

    JAVA计算机毕业设计宠物购物系统Mybatis+系统+数据库+调试部署 JAVA计算机毕业设计宠物购物系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

  9. java计算机毕业设计网上宠物商店系统源码+系统+数据库+lw文档+mybatis+运行部署

    java计算机毕业设计网上宠物商店系统源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计网上宠物商店系统源码+系统+数据库+lw文档+mybatis+运行部署 本源码技术栈 ...

  10. JAVA宠物领养系统计算机毕业设计Mybatis+系统+数据库+调试部署

    JAVA宠物领养系统计算机毕业设计Mybatis+系统+数据库+调试部署 JAVA宠物领养系统计算机毕业设计Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...

最新文章

  1. 3.Java集合-HashSet实现原理及源码分析
  2. idea 弹出框中有乱码_IDEA如何自定义快捷键
  3. ASP.NET MVC 4高级编程(第4版)
  4. php收集radio表单,jQuery对于单选表单(radio)以及其它表单取值
  5. Linux集群和自动化维3.1 Python语言的应用领域
  6. java 全局变量 跳出递归循环_Java技术知识点的一些总结
  7. golang 数组组合成最小的整数_golang数组-----寻找数组中缺失的整数方法
  8. Python统计模块statistics用法精要
  9. ​​​​​​​国民经济行业分类(GB/T 4754—2017)
  10. 卸载symantec endpoint protection
  11. 教育未来JAVA培训中心笔记(一):初学者如何学好JAVA
  12. jquery+cropper剪切、旋转、缩放图片
  13. [每日一氵] Python 训练过程中,如何优雅的保存loss
  14. 为什么MES系统等数字化管理系统,在印刷行业应用发展得如此迅速
  15. 51单片机数码管密码锁
  16. accept搭配用法_accept for的用法与搭配
  17. 除了迅雷,这几款下载神器也超级好用!
  18. mpirun mpd mpiexec
  19. 这篇文章几乎回答了你对量化对冲的所有疑问
  20. ARM接口实验—串口实验

热门文章

  1. php时间戳转UTC时间
  2. postman如何使用mockserver?
  3. 小甲鱼 C语言 24课 指针和二维数组
  4. 极简工具(AutoCAD、Tekla)——零件图自动标注
  5. dw中html颜色的设置颜色代码,利用Dreamweaver(DW)快速输入CSS颜色代码值
  6. 基于51单片机及ADC0808的数字电压表数码管汇编语言proteus仿真程序设计
  7. 关于使用CAD文件预览的使用
  8. 基于SSM框架的电影订票系统
  9. UCF101视频分类之CNN-LSTM-Code总结
  10. quick cocos2dx 组件使用要领