본문 바로가기

C.O.M.P.U.T.E.R/C.+.+

[0] |C++| 숫자야구게임 프로그램 .cpp 파일 (2/2)

#include "Cbaseball.h"

void cBaseball::_init()

{

    Strike = 0;

    Ball = 0;

    RandomNum[NUMBER_MAX] = 0;

    UserNum[NUMBER_MAX] = 0;

}

 

void cBaseball::_random()

{z

    srand((unsigned)time(NULL));

    int NumberChk[NUMBER_MAX] = { 0 };

    int RandomInit = 0;

    int Loop = 0;

    while(Loop < NUMBER_MAX)

    {

        RandomInit = rand()%PLAY_MAX;

        if(NumberChk[Loop] == 0)

        {

            NumberChk[Loop] = 1;

            RandomNum[Loop] = RandomInit + 1;

            Loop++;

        }

    }

    for(int i = 0 ; i < NUMBER_MAX ; i++)

        cout << RandomNum[i] << " ";

    cout << endl;

}

 

void cBaseball::_userInput()

{

    for(int i = 0 ; i < NUMBER_MAX ; i++)

    {

        cout << " " << i + 1 << " : ";

        cin >> UserNum[i];

    }

}

 

void cBaseball::_finding()

{    

    Strike = 0;

    Ball = 0;

    for(int i = 0 ; i < NUMBER_MAX ; i++)

        for(int j = 0 ; j < NUMBER_MAX ; j++)

            if((RandomNum[i] == UserNum[j]) && i != j)

                Ball++;

    for(int i = 0 ; i < NUMBER_MAX ; i++)

        if(RandomNum[i] == UserNum[i])

            Strike++;

    if(Strike != NUMBER_MAX)

        cout << Strike << "스트라이크, " << Ball << "" << endl;

    else

        Clear = 1;

}

 

void cBaseball::_result()

{

    if(Clear == 0)

    {

        cout << "게임 오버" << endl;

        cout << "정답 숫자 : ";

        for(int i = 0 ; i < NUMBER_MAX ; i++)

            cout << RandomNum[i] << " ";        

    }else

        cout << "삼진 아웃" << endl;

}


나름 열심히 만들어 봤지만 오류가 있죠... 한 번 밖에 안된다는 치명적인 오류... Loop 시켜야 합니다. 얼마만큼? 9번 만큼... 주석이 하나도 없지만 요즘 피곤해서... 주석도 습관인데...
이것 외에도 main 함수에서 할 수 있을지... 리스트만 좀 어떻게 되면 좋겠는데...