Jumat, 20 Juni 2014

Codingan program Mini Console Harvestmoon C++


#include<iostream>

using namespace std;

class Harvest{
private:
int energy, happiness;
public:

Harvest(){
this->energy = 100;
this->happiness = 100;
}
//copy constructor
Harvest(Harvest &obj){
this->energy = obj.getEnergy();
this->happiness = obj.getHappiness();
}

void setEnergy(int energy)
{
this->energy = energy;
}

int getEnergy()
{
return energy;
}

void setHappiness(int happiness)
{
this->happiness = happiness;
}

int getHappiness()
{
return happiness;
}

void status()
{
cout << "Energy : "<< this -> energy << endl;
cout << "Happiness : " << this->happiness << endl << endl;
}

void status(Harvest obj)
{
cout << "Energy : "<< obj.getEnergy() << endl;
cout << "Happiness : " << obj.getHappiness() << endl << endl;
}

//destructor
~Harvest(){}
};


void clear(){for(int i = 0;i< 25; i++)cout << endl;}
void menu()
{
cout << "Mini Console Harvestmoon" << endl;
cout << "==================" << endl;
cout << "1. Male" << endl;
cout << "2. Female" << endl;
cout << "3. Exit" << endl;
}

void choose(Harvest &obj){
int opt=0, temp=0, flag=0;
char name[100];

obj.setEnergy(100);
obj.setHappiness(100);

clear();
do
{
cout << "Insert the character name [3..20 characters]: ";
cin.getline(name,100);cin.clear();cin.sync();
}while(strlen(name) < 3 || strlen(name) > 20);
do
{
clear();
opt = 0;
flag = 0;

cout << endl << endl << "Welcome, " << name << endl;

obj.status(obj);
cout << "1. Socialize" << endl;
cout << "2. Harvest" << endl;
cout << "3. Rest" << endl;
cout << "4. Return to main menu" << endl;
do
{
cout << "Choose: ";
cin >> opt;
cin.clear();
cin.sync();
}while(opt < 1 || opt > 4);

clear();
switch(opt)
{
case 1:
if(obj.getEnergy() <= 0)
{
cout << "You don't have enough energy... You need to rest for a while..." << endl;
}
else
{
cout << "Meet neighbors";
do
{
for(int i = 0;i< 100000000;i++);cout << ".";
flag++;
}while(flag < 5);
obj.setEnergy(obj.getEnergy() - 10);
obj.setHappiness(obj.getHappiness() + 20);
if(obj.getHappiness() >= 100)cout << endl << "Happiness is full";
else cout << endl << "Happiness increase 20 points";

cout << " and energy decrease 10 points" << endl;
}
cin.get();
break;
case 2:
if(obj.getEnergy() <= 0)
{
cout << "You don't have enough energy... You need to rest for a while..." << endl;
}
else if(obj.getHappiness() <= 0)
{
cout << "You don't have enough happiness... You need to meet your neighbour..." << endl;
}
else
{
cout << "Harvesting the farm";
do
{
for(int i = 0;i< 100000000;i++);cout << ".";
flag ++;
}while(flag < 5);
obj.setEnergy(obj.getEnergy() - 10);
obj.setHappiness(obj.getHappiness() - 10);

cout << endl << "Happiness decrease 10 points and energy decrease 10 points" << endl;
}
cin.get();
break;
case 3:
if(obj.getEnergy() >= 100)
{
cout << "You don't need to rest again..." << endl;
}
else
{
cout << "Resting";
do
{
for(int i = 0;i< 100000000;i++);cout << ".";
flag ++;
}while(flag < 5);
obj.setEnergy(obj.getEnergy() + 20);
if(obj.getEnergy() >= 100)cout << endl << "Your energy has been full" << endl;
else
cout << endl << "Energy increase 20 points" << endl;
}
cin.get();
break;
}

if(obj.getEnergy() > 100)obj.setEnergy(100);
if(obj.getHappiness() > 100)obj.setHappiness(100);
if(obj.getEnergy() < 0)obj.setEnergy(0);
if(obj.getHappiness() < 0)obj.setHappiness(0);

}while(opt != 4);
}

void main()
{
int opt;
Harvest male;
Harvest female(male);
//female.status(female);
do
{

clear();
menu();
do
{
cout << "Choose: ";
cin >> opt;
cin.sync();
cin.clear();
}while(opt < 1 || opt > 3);

switch(opt)
{
case 1:choose(male);
break;
case 2:choose(female);
break;
case 3:
clear();
cout << endl << endl << " Thank you and have a nice day.. ^^" << endl;
cin.get();
break;
}

}while(opt != 3);

}

Tidak ada komentar: