가위바위보 문제 질문좀하겠습니다 ㅠ
잇힝
#include stdio.h#include stdlib.h#include time.h
int versus(int a,int b);
int versus(int a,int b){ if(a==b) { printf(비김\n); return 1; }
if(a==1 && b==3) { printf(사용자 승리, 컴퓨터 패배\n); return 2; }
if(a==3&&b==1) { printf(사용자 패배, 컴퓨터 승리\n); return 3; }
if(ab) { printf(사용자 승리 컴퓨터 패배\n); return 2; }
if(ab) { printf(사용자 패배 컴퓨터 승리\n); return 3; }}
int main (void){ int draw=0; int win=0; int player,com; int dummy; for(; ;) {
printf(가위 : 1 , 바위 : 2 , 보 :3 \n); scanf(%d,&player); srand((int)time(NULL)); com=(rand()%3)+1;
if(versus(player,com)==2) win++;
if(versus(player,com)==1) draw++;
if(versus(player,com)==3) { printf(게임의 결과: %d승 %d무\n,win,draw); draw=0; win=0; }
}
return 0;}
제가 지금 만들고 있는 프로그램이
사용자한테서자한테서 가위바위보 입력받아서 컴퓨터(난수이용)랑 겨루게끔하는건데요/
승,무일때는 win,draw가 적립되게하고
사용자가 패배해버리면 여태까지의 승,무(게임의 결과)를 출력하고
아예 승,무 적립을 다시 0으로 만들어버리고 반복하는 프로그램인데요
근데 이상한게, 사용자 패배 컴퓨터 승리 or 비김
이 말들이
한번씩만 나오게끔 프로그래밍한거같은데
저렇게 3개씩나옵니다 ㄷㄷ;
왜 저런건가요? ㅠ 어디가 틀린거지요??
-
알렉산더
와 감사합니다 ㅠㅠ!!
-
드리
메인에 보시면
이프문 안에 함수호출을 세번 하고계시네요
변수에 리턴값을 받으신 후에 이프문을 사용해보세요