[C++] 간단한 MUD 게임 만들기(DOS Ver.)

in c •  7 years ago 

//DOS 모드로 MOD 게임을 만들기
//즐거운 시간 되시길^^

#include <stdio.h>

void main(void)
{
int swordCount = 0;
int playerHP = 100;
int playerTotalMoney = 0;
int playerNowMoney= 100;

village: ;
printf("당신은 지금 마을 안에 있습니다.\n");
printf("북쪽에는 은행이 있고, 동쪽에는 상점이, ");
printf("서쪽에는 쉴 수 있는 여관이 있습니다.\n");
printf("그리고 마을 밖으로 나가려면 남쪽으로 가면 됩니다.\n\n");

printf("어디로 이동하시겠습니까?\n\n");
printf("1.상점 2.여관 3.은행 4.마을나가기(번호를 입력후 엔터를 쳐주세요)\n");

int i=0;
scanf("%d", &i);

printf("당신은 %d번을 누르셨습니다.\n", i);

switch(i)
{
case 1:
    {
        printf("당신은 지금 상점 안에 있습니다.\n");
        printf("상점안에서는 각종 무기를 구입할 수 있습니다.\n");
        printf("무엇을 구입하시겠습니까?\n");
        printf("1.나무검 2.철검 3.강철검 4.미스릴검\n");
        int sword=0;
        scanf("%d", &sword);

        printf("당신은 %d번 검을 구입하셨습니다.\n", sword);
        switch(sword)
        {
        case 1:
            printf("당신은 나무검으로 장착합니다.\n");
            swordCount=10;
            break;
        case 2:
            printf("당신은 철검으로 장착합니다.\n");
            swordCount=20;
            break;
        case 3:
            printf("당신은 강철검으로 장착합니다.\n");
            swordCount=30;
            break;
        case 4:
            printf("당신은 미스릴검으로 장착합니다.\n");
            swordCount=50;
            break;
        default:
            printf("아무것도 안사셨습니다.\n");
            break;
        }

    }
    break;
case 2: 
    {
        printf("당신은 지금 여관 안에 있습니다.\n");
        printf("쉬시겠습니까?(1번은 예 / 다른번호는 아니요).\n");
        
        int rest=0;
        
        scanf("%d", &rest);
        
        if(rest == 1)
        {
            printf("체력이 전부 회복되었습니다.\n");
            playerHP = 100;
        }

        printf("안녕히 가십시오.\n");

    }
    break;
case 3: 
    {
        printf("당신은 지금 은행 안에 있습니다.\n");     
        printf("무엇을 하시겠습니까?(1. 예금 2. 인출 3. 그외 번호는 나가기).\n");

        int money=0;

        scanf("%d", &money);

        if(money == 1)
        {           
            playerTotalMoney = playerTotalMoney + playerNowMoney;
            playerNowMoney = 0;
            printf("가지고 있는 돈을 전부 예금하였습니다.\n");          
        }
        else if(money == 2)
        {
            printf("얼마를 인출하시겠습니까?.\n");

            int moneyOut=0;

            scanf("%d", &moneyOut);

            if(playerTotalMoney >= moneyOut)
            {
                playerTotalMoney = playerTotalMoney - moneyOut;
                playerNowMoney = moneyOut;
            }           
        }
        else
        {
            printf("잘못 누르셨습니다.\n");
        }
        printf("당신이 가지고 있는 돈은 %d원이고,\n", playerNowMoney);
        printf("은행에 예금된 돈은 전부 %d원입니다.\n\n", playerTotalMoney);
        
        printf("안녕히 가십시오.\n");
    }
    break;
case 4:
    printf("당신은 지금 마을 밖에 있습니다.\n");
    goto area01;
    break;
}   
goto village;

area01: ;
printf("\n\n -체력 %d, 검내구력%d, 소지금 %d-\n", playerHP, swordCount, playerNowMoney);
printf("\n주변엔 아무것도 없습니다.\n");
printf("이곳은 북쪽과 동쪽, 서쪽으로 이동이 가능합니다.\n");
printf("어느쪽으로 이동하시겠습니까?\n");
printf("1. 북쪽 2. 동쪽 3. 서쪽\n");

int course=0;

scanf("%d", &course);

switch(course)
{
case 1:
    printf("북쪽으로 이동합니다.\n\n");
    goto village;
    break;
case 2:
    printf("동쪽으로 이동합니다.\n\n");
    goto area03;
    break;
case 3:
    printf("서쪽으로 이동합니다.\n\n");
    goto area02;
    break;
default:
    printf("다시 입력하세요.\n");
    goto area01;
    break;
}

area02:;
printf("\n\n -체력 %d, 검내구력%d, 소지금 %d-\n", playerHP, swordCount, playerNowMoney);
printf("사나운 오우거가 나타났습니다.\n");

int course2=0;
int monsterHP=3;

area02Battle:;
printf("어떻게 하시겠습니까?\n");
printf("1. 싸운다 2. 후퇴한다\n");

scanf("%d", &course2);

switch(course2)
{
case 1:
    printf("당신은 사나운 오우거에게 공격합니다.\n");
    if( swordCount > 0)
    {
        monsterHP = monsterHP - 1;
        printf("사나운 오우거의 체력은 %d 되었습니다.\n", monsterHP);
        swordCount = swordCount - 1;
        printf("무기의 내구도가 %d 남았습니다.\n", swordCount);
    }
    if(monsterHP == 0 )
    {
        printf("사나운 오우거가 죽었습니다.\n");
        printf("사나운 오우거로부터 10원을 얻었습니다.\n");
        playerNowMoney = playerNowMoney + 10;
        goto area02noBattle;
    }
    printf("사나운 오우거가 가시방망이로 공격합니다.\n");
    playerHP = playerHP - 1;
    printf("당신의 체력은 %d 되었습니다.\n", playerHP);

    if(playerHP == 0)
    {
        printf("당신은 사나운 오우거에게 패배했습니다.\n");
        printf("당신이 가진 소지금을 전부 잃어버렸습니다.\n");
        playerNowMoney = 0;
        playerHP = 50;
        printf("마을로 돌아갑니다.\n");
        goto village;

    }
    goto area02Battle;
    break;
case 2:
    printf("동쪽으로 후퇴합니다.\n\n");
    goto area01;
    break;
default:
    printf("다시 입력하세요.\n");
    goto area02;
    break;
}

area02noBattle:;
printf("\n주변엔 아무것도 없습니다.\n");
printf("이곳은 남쪽과 동쪽으로 이동이 가능합니다.\n");
printf("어느쪽으로 이동하시겠습니까?\n");
printf("1. 남쪽 2. 동쪽\n");

scanf("%d", &course2);

switch(course2)
{
case 1:
    printf("남쪽으로 이동합니다.\n\n");
    goto area04;
    break;
case 2:
    printf("동쪽으로 이동합니다.\n\n");
    goto area01;
    break;
default:
    printf("다시 입력하세요.\n");
    goto area02noBattle;
    break;
}

area03:;
printf("\n\n -체력 %d, 검내구력%d, 소지금 %d-\n", playerHP, swordCount, playerNowMoney);
printf("신비의 힘이 당신의 체력을 전부 회복시켜줍니다.\n");
playerHP = 100;

area03noItem:;

printf("\n주변엔 아무것도 없습니다.\n");
printf("이곳은 서쪽으로만 이동이 가능합니다.\n");
printf("어느쪽으로 이동하시겠습니까?\n");
printf("1. 서쪽\n");

int course3=0;

scanf("%d", &course3);

switch(course3 )
{
case 1:
    printf("서쪽으로 이동합니다.\n\n");
    goto area01;
    break;
default:
    printf("다시 입력하세요.\n");
    goto area03noItem;
    break;
}

area04:;
printf("\n\n -체력 %d, 검내구력%d, 소지금 %d-\n", playerHP, swordCount, playerNowMoney);
printf("\n주변엔 아무것도 없습니다.\n");
printf("이곳은 북쪽과 동쪽으로 이동이 가능합니다.\n");
printf("어느쪽으로 이동하시겠습니까?\n");
printf("1. 북쪽 2. 동쪽\n");

int course4=0;

scanf("%d", &course4);

switch(course4)
{
case 1:
    printf("북쪽으로 이동합니다.\n\n");
    goto area02;
    break;
case 2:
    printf("동쪽으로 이동합니다.\n\n");
    goto area05;
    break;
default:
    printf("다시 입력하세요.\n");
    goto area04;
    break;
}

area05:;
printf("\n\n -체력 %d, 검내구력%d, 소지금 %d-\n", playerHP, swordCount, playerNowMoney);
printf("\n주변엔 아무것도 없습니다.\n");
printf("이곳은 북쪽과 동쪽, 서쪽으로 이동이 가능합니다.\n");
printf("어느쪽으로 이동하시겠습니까?\n");
printf("1. 북쪽 2. 동쪽 3. 서쪽\n");

int course5=0;

scanf("%d", &course5);

switch(course5)
{
case 1:
    printf("북쪽으로 이동합니다.\n\n");
    goto area01;
    break;
case 2:
    printf("동쪽으로 이동합니다.\n\n");
    goto area06;
    break;
case 3:
    printf("동쪽으로 이동합니다.\n\n");
    goto area04;
    break;
default:
    printf("다시 입력하세요.\n");
    goto area05;
    break;
}

area06:;
printf("\n\n -체력 %d, 검내구력%d, 소지금 %d-\n", playerHP, swordCount, playerNowMoney);
printf("\n주변엔 아무것도 없습니다.\n");
printf("이곳은 서쪽으로만 이동이 가능합니다.\n");
printf("어느쪽으로 이동하시겠습니까?\n");
printf("1. 서쪽\n");

int course6=0;

scanf("%d", &course6);

switch(course6)
{
case 1:
    printf("서쪽으로 이동합니다.\n\n");
    goto area05;
    break;
default:
    printf("다시 입력하세요.\n");
    goto area06;
    break;
}

}

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
http://heyzlluck.tistory.com/entry/%EA%B2%8C%EC%9E%84%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-1