【C++】じゃんけんゲーム作ってみた

# 【C++】じゃんけんゲーム作ってみた！

C言語を勉強し始めて1ヵ月。C++を勉強し始めて1週間たって、
アウトプットしようと考え、簡単なじゃんけんゲームを作ってみました。
指摘箇所沢山あるかと思います、「こうしたら良いよ」など、コメントいただけるととてもうれしいです:smiley:

----
```cpp:全体のソースコード

#include <iostream>
#include <ctime>
#include <cstdlib>

using namespace std;


class You{                  //自分のクラス
public:
    int youte(int x);

};


class Aite{                 //相手のクラス
public:
    int aitete(int y);

};


int Aite::aitete(int y){ 
    
    int te;               //変数宣言
    te = y;               //(rand() % 3 + 1)から1～3のどれかの値を代入

    cout << "相手が出した手は・・・";
    if(te == 1)
        cout << "グー" << endl;
    else if (te == 2)
        cout << "チョキ" << endl;
    else if (te == 3)
        cout << "パー" << endl;
    return te;
}



int main()
{
    do {                                //1だったら、再度じゃんけん開始
    srand((unsigned)time(NULL));        //現在の時刻で初期化

    int me;
    cout << "あなたは何を出す？ 1:グー、 2:チョキ、 3:パー >> ";
    cin >> me;
    cout << "あなたが出した手は・・・";
    if(me == 1)                       //1だったらグーと表示
        cout << "グー" << endl;
    else if (me == 2)                 //2だったらチョキと表示
        cout << "チョキ" << endl;
    else if (me == 3)                 //3だったパーと表示
        cout << "パー" << endl;
    
    int te;
    Aite note;
    te = note.aitete(rand() % 3 + 1);     //1～3ランダムに出す


    if(me == te)                       //あいこの条件
        cout << "あいこ" << endl;
    else if (me == 1 && te == 2 ||     //自分の勝ちの条件
            me == 2 && te == 3 ||
            me == 3 && te == 1)
                cout << "あなたの勝ち" << endl;
    else                                          //他の条件は自分は負け
        cout << "あなたの負け" << endl;

    cout << "まだじゃんけんしますか？1:yes, 2:no >> ";
    int tugi;
    cin >> tugi;   
        if(tugi == 2){                 //もし、2だったらbreakでじゃんけん終了
            cout << "終わります";
            break;
        }

    } while (1);                 //1だったら、再度じゃんけん開始

}

```

作ってみました…！


## ※追加　違う数値を入力した場合に、プログラムが終わるようにしてみました！
※今回は練習の為、上記の私が作ったコードを修正してみました…
（上記の分ご指摘等していただいた方々、ありがとうございました！）

```C++:上記機能追加
#include <cstdlib>
#include <ctime>
#include <iostream>

using namespace std;

enum { ROCK = 1, SCISSORS = 2, PAPER = 3 };

enum { YES = 1, NO = 2 };

class Aite {  // 相手のクラス
   public:
    int aitete(int y);
};

int Aite::aitete(int y) {
    int te;  // 変数宣言
    te = y;  //(rand() % 3 + 1)から1～3のどれかの値を代入

    cout << "相手が出した手は・・・";
    if (te == ROCK)
        cout << "グー" << endl;
    else if (te == SCISSORS)
        cout << "チョキ" << endl;
    else if (te == PAPER)
        cout << "パー" << endl;
    return te;
}

int main() {
    do {  // 1だったら、再度じゃんけん開始
        srand((unsigned)time(NULL));  // 現在の時刻で初期化

        int me;
        cout << "あなたは何を出す？ 1:グー、 2:チョキ、 3:パー >> ";
        cin >> me;
        cout << "あなたが出した手は・・・";

        if (me == ROCK) {  // 1だったらグーと表示
            cout << "グー" << endl;
        } else if (me == SCISSORS) {  // 2だったらチョキと表示
            cout << "チョキ" << endl;
        } else if (me == PAPER) {  // 3だったパーと表示
            cout << "パー" << endl;
        } else {
            cout << "出してる手が範囲外です。" << endl;
            cout << "1～3を入力して下さい。" << endl;
            break;
        }

        int te;
        Aite note;
        te = note.aitete(rand() % 3 + 1);  // 1～3ランダムに出す

        if (me == te)  // あいこの条件
            cout << "あいこ" << endl;
        else if (me == ROCK && te == SCISSORS ||  // 自分の勝ちの条件
                 me == SCISSORS && te == PAPER || me == PAPER && te == ROCK)
            cout << "あなたの勝ち" << endl;
        else  // 他の条件は自分は負け
            cout << "あなたの負け" << endl;
        
        cout << "まだじゃんけんしますか？1:yes, 2:no >> ";
        int tugi;
        cin >> tugi;

        if (tugi == NO) {  // もし、2だったらbreakでじゃんけん終了
            cout << "終わります";
            break;
        } else if (tugi != YES) {
            cout << "数値が間違えています。" << endl;
            cout << "1か2を入力して下さい。" << endl;
            break;
        }

    } while (YES);  // 1だったら、再度じゃんけん開始
}

```

終わらず、じゃんけん続けたいのですが、やり方が分からず今悩んでいるところですーー…