아는 동생의 부탁으로 묵찌빠 로직을 만들었는데, 이것을 같이 공유해 처음 공부하는 다른 학생들도 참고해서 이런 방법도 있다 정도로 알아뒀으면 좋겠다.
간단한 예시로 빈도분석과 같은 로직은 추가하지 않았다.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main (){
int win=0;//승리수
int me;//유저
unsigned int rand_num;
srand((unsigned int)time(NULL));
while(1){
printf("묵찌빠를 시작하기 전에 선을 정하기 위하여 가위바위보를 해야합니다.\n다음 메뉴중 원하는것을 입력해주세요.\n\n메뉴번호[1=가위 2=바위 3=보] : ");
scanf("%d",&me);//처음 가위바위보 값
rand_num=rand()%(3)+1;
if(me==1){
printf("당신은 가위를 내셨습니다. 컴퓨터는 ");
if(rand_num==1) printf("가위를 냈습니다. 그 결과 비겼습니다.\n");
if(rand_num==2) printf("바위를 냈습니다. 그 결과 졌습니다.\n");
if(rand_num==3) {printf("보를 냈습니다. 그 결과 이겼습니다.\n");win++;break;}
}
if(me==2){
printf("당신은 바위를 내셨습니다. 컴퓨터는 ");
if(rand_num==1) {printf("가위를 냈습니다. 그 결과 이겼습니다.\n");win++;break;}
if(rand_num==2) printf("바위를 냈습니다. 그 결과 비겼습니다.\n");
if(rand_num==3) printf("보를 냈습니다. 그 결과 졌습니다.\n");
}
if(me==3){
printf("당신은 보를 내셨습니다. 컴퓨터는 ");
if(rand_num==1) printf("가위를 냈습니다. 그 결과 졌습니다.\n");
if(rand_num==2) {printf("바위를 냈습니다. 그 결과 이겼습니다.\n");win++;break;}
if(rand_num==3) printf("보를 냈습니다. 그 결과 비겼습니다.\n");
}
continue;
}
for(win;win>0;)
{
if(win==1){
printf("현재 당신:공 컴퓨터:수\n");
printf("메뉴번호[1=가위 2=바위 3=보] : ");
scanf("%d",&me);
rand_num=rand()%(3)+1;
if(me==1){
printf("당신:찌 컴퓨터:");
if(rand_num==1) {printf("찌 로 묵찌빠를 이기셨습니다!\n");break;}
if(rand_num==2) {printf("묵 으로 공수교대\n");win=2;continue;}
if(rand_num==3) {printf("빠 로 이어서\n");continue;}
}
if(me==2){
printf("당신:묵 컴퓨터:");
if(rand_num==1) {printf("찌 로 이어서\n");continue;}
if(rand_num==2) {printf("묵 묵찌빠를 이기셨습니다!\n");break;}
if(rand_num==3) {printf("빠 로 공수교대\n");win=2;continue;}
}
if(me==3){
printf("당신:빠 컴퓨터:");
if(rand_num==1) {printf("찌 로 공수교대\n");win=2;continue;}
if(rand_num==2) {printf("묵 이어서\n");continue;}
if(rand_num==3) {printf("빠 묵찌빠를 승리하셨습니다!\n");break;}
}
}
if(win==2){
printf("현재 당신:수 컴퓨터:공\n");
printf("\n메뉴번호[1=가위 2=바위 3=보] : ");
scanf("%d",&me);
rand_num=rand()%(3)+1;
if(rand_num==1){
printf("컴퓨터:찌 당신:");
if(me==1) {printf("찌 로 묵찌빠를 패배하셨습니다!\n");break;}
if(me==2) {printf("묵 으로 공수교대\n");win=1;continue;}
if(me==3) {printf("빠 로 이어서\n");continue;}
}
if(rand_num==2){
printf("컴퓨터:묵 당신:");
if(me==1) {printf("찌 로 이어서\n");continue;}
if(me==2) {printf("묵 으로 묵찌빠를 패배하셨습니다.\n");break;}
if(me==3) {printf("빠 로 공수교대\n");win=1;continue;}
}
if(rand_num==3){
printf("컴퓨터:빠 당신:");
if(me==1) {printf("찌 로 공수교대\n");win=1;continue;}
if(me==2) {printf("묵 으로 이어서\n");continue;}
if(me==3) {printf("빠 로 묵찌빠를 패배하셨습니다.\n");break;}
}
}
}
return 0;
}
'컴퓨터 > C' 카테고리의 다른 글
itoa, ftoa.. 안되는 이유가 뭐야? (1) | 2018.02.10 |
---|---|
c에서 명령줄로 여러 옵션 받기 (0) | 2014.03.12 |
숨김 폴더를 만들고 비밀번호를 걸기 (0) | 2013.09.27 |
scanf에서 값을 받아들이지 못하고 스킵될 때 (2) | 2013.04.03 |
개념을 콕콕 잡아주는 C 프로그래밍 초판 272쪽 문제점 (0) | 2013.01.09 |