제 목 c++ part.2 빙고게임 질문 입니다
작성자 우대식 등록날짜 2022-01-06 13:54:06 / 조회수 : 133
강좌명 [패키지] 게임 프로그래밍 취업 완성 패키지
첨부파일
  • 아래 함수는 빙고게임 중 컴퓨터의 숫자 선택을 위한 함수입니다.

     

    처음 몇번은 정상작동을 하다가 코드가 반복되다보면  컴퓨터가 if문의 조건인 if (Comtable[nRand] != 0)(배열값이 0이 아닐때 true) 를 무시하고

    결과값 0을 내뱉는 경우가 발생하길래 코드를 하나하나 검증해가면서 확인을 해 봤습니다.

     

    그런데 for문 쪽에서 오류나면서 25회 반복 후 가끔 -8억 단위의 숫자*(주소값으로 추정중입니다.) 를 내기도 해서 질문 드립니다.

    어느부분에서 오류가 난거고 어떻게 해야 이 오류를 해결할수있을까요?

     

    void ComSelect(int* usertable, int* Comtable)
    {
        int nRand;
        int nSelect=0;

        nRand = rand() & 25;

        while (true)
        {
            if (Comtable[nRand] != 0)
            {
                nSelect = Comtable[nRand];

                for (int i = 0; i < 25; i++)
                {
                    if (Comtable[nRand] == usertable[i])
                    {
                        usertable[i] = 0;
                        Comtable[nRand] = 0;
                        break;
                    }

                }
                break;
            }
            else
            {
                nRand = rand() & 25;
            }
        }

        cout << "컴퓨터 :" << nSelect< }

  • 작성자 : 게임클래스 / 등록날짜 : 2022-01-06 17:46:01
  • 안녕하세요 게임 클래스 입니다.

    해당 내용만으로는 문제를 파악하는데 어려움이 있습니다

    C++ 파일와 헤더파일을 업로드 해주시면 

    코드를 파악하는데 더 용이할 것 같습니다.

    sln 파일말고 c++파일로 파일첨부 부탁드려요~~

댓글 1개
  • 우대식 [ 2022-01-06 23:46:58 ]
  • cpp 파일로 등록했습니다!