C언어 rpg game 프로그램입니다.(콘솔)

lfs의 이미지

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
 
struct _saram{
    int power;
    int gold;
    int destroy;
    int bag[10];
}SARAM;
 
struct _mop{
    int dokkabi[3];
}MOP;
 
int ganpan(void)
{
	printf("<====영 혼 게 임====>\n");
	printf("천상세계에서의 유람을\n");
	printf("즐기는 게임       입니다.\n");
	printf("재미있게 즐기십시요.   \n");
	printf("===================\n");
 
	return 0;
}
 
int main(void)
{
    int i; //for문 일회용 변수
    int key; //주된 키보드 변수
    int sub1key; //물약을 살건지 물어보는 변수
    int drug=0; //물약 갯수
    int count=0; //가방 카운트 갯수
    char chdrug[4];//물약을몇개 살지 물어보는 변수
 
    SARAM.power=30;SARAM.gold=10;SARAM.destroy=2;
    //사람 체력, 돈, 파괴력
    for(i=0;i<10;i++)
        SARAM.bag[i]=0;
    //사람 가방 초기화
    MOP.dokkabi[0]=2;MOP.dokkabi[1]=4;MOP.dokkabi[2]=10;
    //몹 도깨비 공격력,체력,도깨비에서 나올 돈
 
 
    ganpan();
 
    while(1){
        printf("<===꽃 동산===>\n");
		printf("도깨비가 나타났습니다.!!\n");
		printf("사람 %d 체력이 있습니다.\n", SARAM.power);
		(SARAM.power)-=(MOP.dokkabi[0]);
		key=_getch();
 
	if(key==55){ //7번키를 눌렀을때
            MOP.dokkabi[1]-=SARAM.destroy;
            printf("도깨비 체력이 %d 되었습니다.\n",MOP.dokkabi[1]);
 
            if(MOP.dokkabi[1]==0){
                SARAM.gold+=MOP.dokkabi[2];
                printf("돈 10원을 얻었습니다.\n");
            }
        }
        else if(key==57){ //9번키를 눌렀을때
            printf("사람 체력을 키웁니다.\n");
 
            for(i=0;i<10;i++){
                if(SARAM.bag[i]==4){
                    (SARAM.power)+=(SARAM.bag[i]);
                    SARAM.bag[i]=0;
                    count++;
 
                    if(count==1){
                        printf("체력을 충전하였습니다.\n");
                        break;
                    }
                }
            }
            count=0;
        }
        else if(key==53){  //5번키를 눌렀을때
            printf("상점에 왔습니다.\n");
            printf("돈 계산을 합니다.\n");
            printf("돈 계산은 %d 입니다.\n",SARAM.gold);
 
            printf("물약을 사겠습니까?(y/n)");
            sub1key=_getch();
            if(sub1key==121){ //y키를 눌렀을때
                printf("물약을 사겠습니다.\n");
                printf("몇개 사겠습니까?\n");
                printf("입력>>");
                gets(chdrug);
                drug=atoi(chdrug);
                /*scanf("%d",drug); */
 
                if((drug*10)>(SARAM.gold)){
                    printf("물약 갯수가 많습니다.\n");
                    continue;
                }
                else if((drug*10)<0){
                    printf("잘못된 입력입니다.\n");
                    continue;
                }else{
                    (SARAM.gold)-=(drug*10);
 
                    for(i=0;i<10;i++){
                        if(SARAM.bag[i]==0){
                            SARAM.bag[i]=4;
                            count++;
 
                            if(count==drug){
                                printf("물약을 %d 개 샀습니다.\n",drug);
                                break;
                            }
                        }
                    }
                    count=0;
                }
                drug=0;
 
            }
            else if(sub1key=110){ //n키를 눌었을때
                printf("물약을 안사겠습니다.\n");
                continue;
            }
        }
        else if(key==48){  //0번키를 눌렀을때
            printf("게임을 끝마치겠습니까?(y/n)");
            sub1key=_getch();
 
            if(sub1key==121){ //y키를 눌렀을때
                printf("게임을 끝내겠습니다.\n");
                break;
            }
            else if(sub1key==110){ //n키를 눌렀을때
                printf("게임을 계속합니다.\n");
                continue;
            }
        }
 
        if(MOP.dokkabi[1]==0)
            MOP.dokkabi[1]=4;
    }
 
    return 0;
}

rpg game소스입니다. 초 간단하면서 알차게 만들었으니
참고하시기 바랍니다.

Forums: 

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.