본문 바로가기

컴퓨터/C

묵찌빠 프로그램

아는 동생의 부탁으로 묵찌빠 로직을 만들었는데, 이것을 같이 공유해 처음 공부하는 다른 학생들도 참고해서 이런 방법도 있다 정도로 알아뒀으면 좋겠다.


간단한 예시로 빈도분석과 같은 로직은 추가하지 않았다.



#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;

}