宠物养成游戏_第1页
宠物养成游戏_第2页
宠物养成游戏_第3页
宠物养成游戏_第4页
宠物养成游戏_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录1 前言12 需求分析12.1 任务和要求12.2 运行环境12.3 开发语言13 分析和设计23.1 系统分析及设计思路23.2 主要类图33.3 函数流程图44 具体代码实现55 课程设计总结125.1 程序运行结果或预期运行结果125.2 设计结论14参考文献15致 谢151 前言C+面向对象编程强调“封装”,“继承“和“多态”。数据和与数据相关的操作被包装成对象(严格的说是“类”),每一种对象是相对完整和独立的。对象可以有派生的类型,派生的类型可以覆盖(或重载)原本已有的操作。 优点如下:(1)更接近自然事物的描述方式,容易理解。(2)继承封装多态,使得程序便于管理和扩展。(3)

2、对大型的项目有帮助,小型的讲求运行效率的,面向过程更好一点。 队员分工:(1) :负责宠物养成游戏的策划和协助方案。(2) :负责面向对象的模块设计和程序实现。(3) :负责宠物养成游戏的体验与后期维护。2 需求分析2.1 任务和 要求使用类结构设计宠物养成游戏。具体要求:(1)设定宠物基本属性,如成长、饥饿、快乐、忠诚等,可以通过用户选择对宠物属性进行修改,如喂食即可增加饥饿值。饥饿、快乐、忠诚都达到一定值即可提高成长值。(2)每次操作宠物增加的属性值是随机的,并且不会自动减少。但是,可以有随机事件减少属性值,如喂食时可能有中毒事件,减少一定饥饿值。(3)宠物基本信息需要保存在存档文件中,自

3、由读写。2.2 运行环境(1)WINDOWS操作系统(2)Visual C+ 6.0编译环境或DEV C+ 5.0编译环境2.3 开发语言C+语言3 分析和设计3.1 系统分析及设计思路相信大多数使用Windows操作系统的使用者,对这款游戏都不陌生。这款游戏不止操作简单,规则也不难,再加上游戏速度的控制机制易得,让整个游戏在操作过程中充满了愉快与轻松的气氛。除了游戏当中能够给使用者带来快乐以外,游戏设计内容无形中也不短训练使用者逻辑思考能力,对于依靠高度脑力工作的现代人,都可以通过这个游戏,不时训练一下自己的智商,所以我们不难发现,在各种可携带的电子产品上都有着款游戏的踪影。下面我们来介绍一

4、下这款养成游戏的设计思路:根据游戏策划,来分析所要设计的对象。首先,我们设计一个动物类(animal),附有基本属性和动物的活动方法。在设计几个可爱型的动物,如小猫,小狗。继承于动物类(animal)的基本属性和玩法。为了增添游戏的趣味性,让宠物与其他小动物进行pk,展示自身的活力。最后,设计一个输出类(input)显示宠物的基本属性和他们的需求。3.2 主要类图 图3.1 宠物养成游戏类图3.3 函数流程图 图3.2 宠物养成游戏流程图4 具体代码实现模块一主函数:#include <iostream>#include "cat.h"#include &quo

5、t;dog.h"#include "animal.h"#include "input.h"using namespace std;/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char* argv) /主函数,生成类的对象,进行客户所需要的操作。cat c1(50,50); int n,sex;input t;while(!0) cin

6、>>n;switch(n)case 1:p1.play();t.add(p1);t.cheak(p1);break;case 2:p1.eat();t.add(p1);t.cheak(p1);break;case 3:p1.drink();t.add(p1);t.cheak(p1);break;case 4:p1.work();t.add(p1);t.cheak(p1);break;case 5:p1.sleep();t.add(p1);t.cheak(p1);break;case 6:c1.fight(p1);t.add(p1);t.cheak(p1);t.cheakk(c1);

7、break;case 7:p1.show();t.add(p1);t.cheak(p1);break;default:cout<<"输入错误喽!重新输入吧!"<<endl;return 0; 模块二 input类的定义(input.h)和代码的实现(input.cpp)。#ifndef INPUT_H#define INPUT_Hclass input /定义了输出类的基本属性和实现方法public:input();input();void xianshi();/显示小狗当前的信息 void sexXianshi();/显示用户可以玩的方式 void

8、 cheakk(); /检查小猫的状态进行处理 void cheak(): /检查小狗的状态进行处理 void add(): /修开玩家操作后的小狗和小猫的信息;#endif#include "input.h"#include<iostream>using namespace std;input:input()input:input()void input:xianshi()cout<<"ttt请输入:ntt1.狗 狗 玩 耍ntt2.狗 狗 吃 饭ntt3.狗 狗 喝 水ntt4.狗 狗 工 作ntt5.狗 狗 睡 觉ntt6.狗狗 p

9、k 猫猫打架ntt7.显 示 狗 狗 信 息"<<endl;void input:sexXianshi()int a;cout<<" 尊敬的用户您好,欢迎来到本游戏,祝你玩得开心!nn本产品由: , , 为你奉献nnnt要继续请随意输入任意数字(0-9)"<<endl;cin>>a;system("cls");cout<<"tt请输入小狗狗的性别吧!ntt1.男性 2.女性"<<endl;void animal:cheakk(cat&c1)if(

10、c1.weight<=40)cout<<"小猫被你pk掉了!很厉害啊,小狗狗,释放你无尽的活力吧!再pk下一个吧!"<<endl; catCount+; c1.weight=50;elsec1.weight;int input:cheak(dog&p1)if(p1.weight>110)cout<<"主人,我已经饱了!"<<endl;p1.weight=110;if(p1.weight<=90)cout<<"主人,我好好饿啊!"<<end

11、l;else;return 0;int input:add(dog&p1)if(p1.count>=4)p1.age+;p1.mood+=2;p1.smart+;p1.count=0;cout<<"年龄:"<<p1.age<<"n心情:"<<p1.mood<<"n聪明指数:"<<p1.smart<<endl; if(p1.mood>=100&&p1.smart>=110)p1.classs=1;if(num=0

12、)cout<<"小狗狗生长期达到1级!继续加油奥!"<<endl;num+;elsenum;if(p1.mood>=120&&p1.smart>=120)p1.classs=2;if(num=1)cout<<"小狗狗生长期达到2级!小狗狗成为聪明小玲珑了,再接再厉哈!"<<endl;num+;elsenum;if(p1.mood>=130&&p1.smart>=130)p1.classs=3;if(num=2)cout<<"小狗狗

13、达到3级,很厉害!小狗狗成为快乐达狗了!"<<endl;num+;if(p1.mood>=140&&p1.smart>=140)p1.classs=4;if(num=3)cout<<"小狗狗达到4级,成为聪明快乐元老了!"<<endl;num+;elsenum;elsep1.count,p1.classs;return 0;模块三 animal类的定义(animal.h)和代码的实现(animal.cpp)。#ifndef ANIMAL_H#define ANIMAL_Hclass animal /定

14、义animal的一些基本属性和方法private:int age;int sex;int classs;int weight;int drinks;int mood;int smart;public : animal(); animal(); void play(); void eat();#endif#include "animal.h"animal:animal()animal:animal()模块四dog类的定义(dog.h)和代码的实现(dog.cpp)。#ifndef DOG_H#define DOG_Hclass dog:public animal /定义了do

15、g类的基本属性和函数方法。(继承animal类)private: int age,sex,classs,weight,drinks,mood,smart; static int count=0; public: dog(int age,int sex,int classs,int weight,int drinks,int mood,int smart ):age(age),sex(sex),classs(classs),weight(weight),drinks(drinks),mood(mood),smart(smart) dog(dog&p1) age=p1.age;sex=p1

16、.sex;classs=p1.classs;weight=p1.weight;drinks=p1.drinks;mood=p1.mood;smart=p1.smart;void play();void eat();void drink();void sleep();void work();void show(); ;#endif#include "dog.h"#include<iostream>using namespace std;dog:dog()dog:dog()void dog:play()count+;weight-;cout<<"

17、;玩的很high!"<<endl;void dog:eat()count+;weight+=2;cout<<"又吃了一顿大餐!"<<endl;void dog:drink()count+;weight+;cout<<"我喝到甜甜的水了!"<<endl;void dog:sleep()count+;cout<<"为了健康,我好好休息!n主人别打扰我奥!"<<endl;void dog:work()count+;weight-;smart+;co

18、ut<<"好好工作哦喽!"<<endl;void dog:show()cout<<"tt小狗狗信息:ntt1.年龄:"<<age<<endl;cout<<"tt2.性别:"<<sex<<endl;cout<<"tt3.等级:"<<classs<<endl;cout<<"tt4.p k 猫猫数:"<<catCount<<endl;c

19、out<<"tt4.体重:"<<weight<<endl;cout<<"tt5.湿润度:"<<drinks<<endl;cout<<"tt6.心情:"<<mood<<endl;cout<<"tt7.聪明指数:"<<smart<<endl;模块五 cat类的定义(cat.h)和代码的实现(cat.cpp)。#ifndef CAT_H#define CAT_Hclass cat

20、:public animal /定义了cat的属性和操作函数。(继承animal类)private:int weight,smart;public: cat(int weight,int smart):weight(weight),smart(smart) cat();void fight(dog&p1);void show();#endif#include "cat.h"cat:cat()cat:cat()void cat:fight(dog&p1) p1.mood-;p1.weight-=2;p1.smart+=2;weight-=2;smart+;co

21、ut<<"小狗狗与小猫作战!小猫体重下降2点哦啊"<<endl;void cat:show()cout<<"tt小猫的信息:ntt1.体重:"<<weight<<"2.聪明度:"<<smart<<endl;5 课程设计总结5.1 程序运行结果或预期运行结果图5.1 欢迎与游戏介绍图5.2宠物的选择图5.3 与宠物进行互动图5.4 输出小狗的基本信息图5.5当小狗有需求时候及时反馈给玩家5.2 设计结论随着宠物养成游戏的开发完成,本游戏中期的主要功能也基本实现。本系统以Devc作为开发工具,Devc以简单,易用等优点成为开发本系统的首选工具。本报告阐述了宠物养成游戏的分析与设计的全过程,并在论文中相应的位置插入了图片、流程图、类图以及一些具有技巧性的程序代码,更加清晰的描述了该游戏是如何是实现运行的。宠物养成游戏是一款益智游戏,该游戏与那些网络游戏和3D游戏相比,他有编写简单上手特点,非常适合任务人们在完成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论