5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

どなたか作っていただけませんか?【C++】

1 :デフォルトの名無しさん:2009/09/03(木) 22:48:23
どなたかC++でプログラム作っていただけませんか?
使っている教材は講談社「これならわかるC++」著:小林健一郎
進度的には第5章 魔王と戦う英雄を終えたところです

プログラム本体は2以降に書きます


2 :デフォルトの名無しさん:2009/09/03(木) 22:49:43
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;

class Mao;
class Hero;

class Kougeki
{
friend class Mao;
friend class Hero;
int energy; //攻撃エネルギー
int pos; //攻撃位置
};

class Mao
{
int energy; //エネルギー
int pos; //位置
public:
Mao():energy(100),pos(rand()%10){}
void Attacked(Kougeki n); //攻撃されたときの反応の関数
int GetEnergy() const{ return energy; } //エネルギーを戻す関数
};



3 :デフォルトの名無しさん:2009/09/03(木) 22:50:41
//ユーザの「攻撃」がnであったとき、、、という関数
void Mao::Attacked(Kougeki n){
if(n.pos == pos){
cout << "ぎゃー。命中だ!" << endl;
//命中したら、攻撃エネルギーの5倍のエネルギーを失うことにする
energy -= n.energy * 5;
pos += rand()%3 - 1; //posを変える(逃げるということ)
}
else if(n.pos == pos-1 || n.pos == pos+1){
cout << "おっと危ない! だがはずれだ。" << endl;
//おしいときは、攻撃エネルギーと同じ分を失うことにした
energy -= n.energy;
}
else{
cout << "どこをねらっている? まったくはずれだ。" << endl;
}
if(energy <= 0){
energy = 0; //エネルギーがマイナスなのは見苦しいので0に直します。
cout << "ああ、やられた! 君は英雄だよ。" << endl;
}
cout << "魔王の残りエネルギー:" << energy << endl;
}


4 :デフォルトの名無しさん:2009/09/03(木) 22:51:43
class Hero
{
int energy;
public:
Hero():energy(50){}
Kougeki Attack();
int GetEnergy() const{ return energy; }
};

Kougeki Hero::Attack(){
Kougeki k; //Kougekiオブジェクトkを生成
cout << endl;
cout << "正義の力を受けてみよ!" << endl;
cout <<"(攻撃するエネルギーを決めてください。)" << endl;
cout <<"(ただし、英雄の残りエネルギーは" << energy << "です。)" << endl;
cin >> k.energy; //kのenergyを設定
if(k.energy > energy){ k.energy = energy; } //残りエネルギー以上の攻撃はできない
energy -= k.energy;
cout << "(0から9の半角数字で、攻撃位置を指示してください。)" << endl;
cin >> k.pos; //kのposを設定
return k;
}

class Game
{
Mao m;
Hero h;
void Ending() const;
public:
Game();
void Play();
};

5 :デフォルトの名無しさん:2009/09/03(木) 22:52:45
Game::Game(){
cout << "これから魔王と戦います。がんばれ!" << endl;
cout << "魔王の残りエネルギー:" << m.GetEnergy() << endl;
}

void Game::Ending() const{
cout << "さあ、ゲームはオシマイです。" << endl;
}

void Game::Play(){
while(h.GetEnergy()>0){
if(m.GetEnergy()<=0){
break;
}
m.Attacked(h.Attack());
}
if(m.GetEnergy()>0){
cout << "だめだ。魔王は逃げてしまった。" << endl;
}
Ending();
}

int main()
{
srand((unsigned)time(NULL));
Game g;
g.Play();
}

このぐらいのレベルでお願いします

6 :デフォルトの名無しさん:2009/09/03(木) 22:55:07
これはまさにアイちゃん・・・

7 :デフォルトの名無しさん:2009/09/03(木) 23:05:20
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

8 :1:2009/09/04(金) 12:22:30
[自決]

9 :デフォルトの名無しさん:2009/09/05(土) 01:51:16
晒しage

10 :デフォルトの名無しさん:2009/09/05(土) 08:41:53

VIPで死ね

11 :デフォルトの名無しさん:2009/09/05(土) 11:49:48
void Mao::Tokudane(){
cout << "どうして、特ダネは私の写真が転んだ時のなの?"
<< endl;
}


12 :デフォルトの名無しさん:2009/09/05(土) 14:34:38
アイちゃんプログラムの訓練も始めたのか
頑張れアイちゃん!!

13 :デフォルトの名無しさん:2009/09/09(水) 20:09:02
なにこの低脳スレw

5 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)