학교 프로젝트 과제로 제작중인 빙고 게임입니다. 문제점좀 해결해 주세요.
핀아
질문 제목 : 학교 프로젝트 과제로 제작중인 빙고 게임입니다. 문제점좀 해결해 주세요.질문 내용 :우선 전역변수 com_arr[]과 user_arr[]을 만들어 rand함수로 난수를 발생시켜 두 전역변수에 집어 넣어 빙고판을 생성합니다. 물론 중복된 숫자는 넣지 않습니다.
그렇게 해서 넣는데에는 성공했습니다. 그런데 이제 빙고판을 서로 맞춰가는 함수 만드는 과정에서 문제가 생기네요. 오류는 발생하지 않습니다.
winner = com 일 때 컴퓨터가 입력을 하는것이고, else ( winner = user )일 때 사용자가 입력을 하는 것입니다.
사용자가 입력하는 함수는 문제없이 잘 됩니다.
하지만 컴퓨터가 입력하는 부분에서 난수 발생 시 문제가 발생합니다.
저 소스대로라면 10~50 범위에서 난수를 무작위로 발생시킵니다.
그리고 for문으로 com_arr[]과 비교를 해서 같다면 출력을 하게만들었습니다.
그러나 실행시켜보면 출력할 때 com_arr[]에 들어있지 않은 난수를 자꾸 끄집어냅니다.
저 소스에 추가되지 않았지만 해본 시도로는
if( com_arr[i] == in_com )
{
~
}else continue;
이렇게 해봤습니다만 문제는 똑갔습니다.
두서없이 쓴 글이라 이해가 되실지 모르겠지만..
고수님들의 조언 부탁드립니다.
-
빵야
잘못 적었네요
10~60입니다^^ -
피라
어디가 문제인진 잘 모르겠지만, 잘못된부분이 하나 보입니다.
랜덤함수인데요. 10~50의 숫자를 하나 뽑으려하시는 듯 하나, 저 코드대로면 10~59의 난수가 되요.
%50이란건 50으로 나눈 나머지. 범위는 0~49까지겠지요. 거기에 10을 더하면 최저값 10부터 최고값 59까지. 그렇게 10~59의 숫자가 나옵니다.
10~50까지의 숫자를 내고싶다면 rand()%41+10 이 답입니다.