宠物游戏系统 java
宠物游戏
一 项目背景
结合大二上学期所学的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相关推荐
- 基于javaweb的宠物商城系统(java+jsp+javascript+servlet+mysql)
基于javaweb的宠物商城系统(java+jsp+javascript+servlet+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea ...
- 基于javaweb的在线宠物商店系统(java+ssm+mysql+tomcat)
基于javaweb的在线宠物商店系统(java+ssm+mysql+tomcat) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse ...
- 宠物游戏代码 java
用户包(User):(输出界面进行了优化) 主函数( Master.java): 用户注册 /*注册用户*/public void registeredUser(){ System.out.print ...
- Java项目:在线宠物商店系统(java+SSM+mysql+maven+tomcat)
源码获取:博客首页 "资源" 里下载! 一.项目简述 功能:本系统分用户前台和管理员后台. 系统包括用户的注册登录,狗狗的展示购物车添加以及下 单支付购买,后台有管理员用户,可以操 ...
- Java项目:宠物商城系统(java+Springboot+Maven+mybatis+Vue+mysql)
源码获取:博客首页 "资源" 里下载! 一.项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclis ...
- 计算机毕业设计 SSM网上宠物商店平台 网上宠物美容管理系统 网上宠物订购系统Java
精彩专栏推荐订阅:在 下方专栏
- 【Java项目】java实战宠物领养系统项目
在前几年国人的观念中,国外的宠物饲养就主要是通过领养的方式了,而国内一直都是用购买的方式进行.其实从宠物的饲养数量上来看:国内饲养宠物的人数已经比世界上任何一个国家都要多,主要因素是我国的人口基数大, ...
- JAVA计算机毕业设计宠物购物系统Mybatis+系统+数据库+调试部署
JAVA计算机毕业设计宠物购物系统Mybatis+系统+数据库+调试部署 JAVA计算机毕业设计宠物购物系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...
- java计算机毕业设计网上宠物商店系统源码+系统+数据库+lw文档+mybatis+运行部署
java计算机毕业设计网上宠物商店系统源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计网上宠物商店系统源码+系统+数据库+lw文档+mybatis+运行部署 本源码技术栈 ...
- JAVA宠物领养系统计算机毕业设计Mybatis+系统+数据库+调试部署
JAVA宠物领养系统计算机毕业设计Mybatis+系统+数据库+调试部署 JAVA宠物领养系统计算机毕业设计Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...
最新文章
- 3.Java集合-HashSet实现原理及源码分析
- idea 弹出框中有乱码_IDEA如何自定义快捷键
- ASP.NET MVC 4高级编程(第4版)
- php收集radio表单,jQuery对于单选表单(radio)以及其它表单取值
- Linux集群和自动化维3.1 Python语言的应用领域
- java 全局变量 跳出递归循环_Java技术知识点的一些总结
- golang 数组组合成最小的整数_golang数组-----寻找数组中缺失的整数方法
- Python统计模块statistics用法精要
- ​​​​​​​国民经济行业分类(GB/T 4754—2017)
- 卸载symantec endpoint protection
- 教育未来JAVA培训中心笔记(一):初学者如何学好JAVA
- jquery+cropper剪切、旋转、缩放图片
- [每日一氵] Python 训练过程中,如何优雅的保存loss
- 为什么MES系统等数字化管理系统,在印刷行业应用发展得如此迅速
- 51单片机数码管密码锁
- accept搭配用法_accept for的用法与搭配
- 除了迅雷,这几款下载神器也超级好用!
- mpirun mpd mpiexec
- 这篇文章几乎回答了你对量化对冲的所有疑问
- ARM接口实验—串口实验