基础C++模拟农场

1.项目介绍

本次项目建立了五个类,首先是建立Animal类,在其中定义了动物名称,动物类型,还有为了执行照顾动物功能定义的数组flag[5],在里面也定义了功能函数例如可以随机照顾(喂食,喂水,清洁,睡觉,游戏)的TakeCare()函数,用于存档的Save(ofstream&)函数,还有为了在派生类中可以调用内部数据的Get_name()等等。

然后再建立Chicken类,Sheep类,Cow类,三个类的基本内容相似,都有记录其动物数量的静态成员Count或County,构造函数(带参数以及不带参数),析构函数,用于生产的Product()和展示照顾进度的Show()函数。

再然后建立用于管理并实现功能的Admin类,用Start()函数来调用购买Buy()函数,菜单Menu()函数,出售Sold()函数,进入农场Enter()函数,读档Load()函数,存档Save()函数,开始新游戏NewGame()函数,展示农场信息Info()函数,在刚运行程序时,首先数显的就是是否读档,如果输入y进行读档,如果不是则调用NewGame()函数,进入新游戏,调用Menu()菜单函数其他功能则需要根据序号进行选择才能执行。

最后在main()主函数建立Admin类的对象a,调用a的Start函数完成程序。

程序类示意图如图1-1所示

图1-1类示意图

操作指南如图1-2所示

图1-2操作指南

动物产品介绍如图1-3所示

小鸡

小羊

奶牛

鸡蛋

羊奶

一瓶牛奶

金蛋

羊毛

两瓶牛奶

图1-3动物产品介绍

2.代码

2.1Animal类

#include <iostream>
#include <fstream>
#include <string>
#include <ctime>
#include <iomanip>
using namespace std;
#define COUNT 100
class Animal
{protected:
	string name;
	int type;
	bool flag[5];
public:
	Animal();
	Animal(string ,bool*);
	void Feed();
	void Water();
	void Clean();
	void Sleep();
	void Game();
	virtual int Product()=0;
    virtual void Show()=0;
	void Save(ofstream&);
	string Get_name();
	int Get_type();
	void Set_name(string);
	int TakeCare();
	virtual ~Animal();
	
};

2.2Chicken类

#include "Animal.h"
class Chicken:public Animal
{private:
static int Count;
public:
	Chicken();
    Chicken(string,bool *);
	int Product();
	void Show();
	static int Get_Count();
	virtual ~Chicken();
};

2.3Cow类

#include "Sheep.h"
class Cow:public Animal
{private:
static int County;
public:
	Cow();
    Cow(string,bool *);
	int Product();
	void Show();
	static int Get_County();
	virtual ~Cow();
};

2.4Sheep类

#include "Chicken.h"
class Sheep:public Animal
{private:
static int County;
public:
	Sheep();
    Sheep(string,bool *);
	int Product();
	void Show();
	static int Get_County();
	virtual ~Sheep();
};

2.5Admin类

#include "Cow.h"
class Admin
{private:
    string name;
	int money;
	int eggs;
	int golden_eggs;
	int wool;
	int sheep_milk;
	int milk;
	Animal *list[COUNT];
public:
	Admin();
	virtual ~Admin();
	void NewGame();   //给农场起名字
	void Start();  //游戏入口
	void Menu();   //主界面
	void Info();
	void Enter();
	void TakeCare(int);
	void Buy();
	void Sold();
	void Save();
	void Load();
};



本文只提供结构,具体逻辑可自行修改。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值