#include<stdio.h>
void main()
{
char name[10];//캐릭터의 이름
int level=0;//캐릭터의 레벨
int status_STR=0;//스텟 힘-공격력
int status_DEF=0;//스텟 수비-방어력
int status_DEX=0;//스텟 민첩-회피
int status_INT=0;//스텟 지혜-마력
int cho;//선택
int square;//광장
printf("=======판타지월드에 오신것을 환영합니다.=======\n");
printf("플레이하실 캐릭터의 이름을 입력해주세요.\n");
scanf("%s",&name);
printf("반갑습니다. %s님. 이제부터 모험을 시작하겠습니다.\n",name);
system("cls");
printf("[1]광장\n[2]사냥터\n[3]상점\n[4]여관\n[5]종료\n");
scanf("%d",&cho);
system("cls");
do
{
switch(cho)
{
case 1:
printf("활기가 넘치는 광장입니다!\n");
system("cls");
break;
case 2:
printf("초보자사냥터입니다!\n");
system("cls");
break;
case 3:
printf("상점에 오셨습니다.\n");
system("cls");
break;
case 4:
printf("여관에 오셨습니다.\n");
system("cls");
break;
default:
printf("잘못 입력하셨습니다.\n");
system("cls");
break;
}
}while(cho!=5)
}
사실 난 C를 배운지 1년됬지만 학교에서 2학기때부터 C를 가르쳐서 본격적으로 배운건 2학기때부터야.
게임관련과인데 지금은 2학년됬고..
지금 친구가 기획을 다 못해서 아주 기초적인것만 만들고있는데.. 처음이라 쉽지가 않ㅇㅏ..
저렇게 기본베이스를 짜고 캐릭터 스텟이라던가 레벨 이런건 스트럭스로 만들려고했고
스위치문이 많아지면 자꾸 꼬이니까 함수로 중첩써서 해볼까도 생각하고있었어.
근데 이게 머야 첨부터 막히는거야ㅋㅋ그래서 정말 막막하더라고.. 역시 C는 이론대로만은 안되는구나 해서..
열혈C 책으로 배워왔거든 그래서 계속 책찾아보고 이것저것 인터넷도 찾아보고 머드게임도 해보고 했는데도 어렵더라...
사실 나 수학도못하고 C도못하고 플밍도 못해
그런주제에 겜프로그래머 되고싶다고 공부는 대학와서 하는거라고 생각했었어ㅋㅋ 근데 오산이더라.. 정말 힘들어..
학교는 인문계였고 문과였엉 난 수학을 싫어했거든ㅋㅋ
근데 플밍을 위해서라면 수학정도는 다시 기초부터 해보겠다는 생각으로 왔는데 그게 너무힘들다...
자꾸 하고 하고 해도 난 기초부터 해야되니깐 남들보다 느린것같고 많이 돌아가는것같고.. 그런생각때매 한동안 플밍 아예 손떼다가
이제 다시 시작해보려고 한게 머드게임이었어.. 이것때매 방학때 집에도 안가고 기획하는 친구랑 남았거든.
ㅋㅋㅋ아이고 어쩌다보니 한풀이가됬넹.. 암튼 내가 너무 멍청한가봐.. 남들 다 하는거 나만못하네..ㅠ.ㅠㅋㅋ
내가 스스로찾아서 한다고 해도 막힌부분 뚫어넘기기가 쉽지않네... 다시돌아가서ㅋㅋㅋㅋ
내가 저기서 계속 생각하면서 잘못된걸 찾아봤는데 scanf위치가 잘못된거같기도 해서 자꾸 바꿔보고했는데도 안되고... 스위치대신 if를 써볼까했다가 막막해져서 또 고민만하고있었엉... 그런와중에 글쓴거기억나서 뭔가 조언이라도 있을까해서 들어와봤어!ㅎㅎㅎ 댓글 많이써줘서 고마워..ㅠ.ㅠ
사족이긴 한데, 머드라는 게임 종류 자체가 텍스트 기반아닌가요? 굳이 텍스트머드라고 쓰실 필요가..
scanf를 위에서 한번만 받는게 문제네 ㅡㅡ;;
do_while이후로는 scanf를 또 받는게 없잖아;
아.. 머드겜보니깐 막 텍스트긴하지만 그런걸로 그림도 넣고 그랬더라구여 근데 난 그런실력안되니깐 오직 글로만하려고해서 텍스트라고 붙인거에요.ㅜㅜ
http://blog.naver.com/rasede/150087618098
작년에 제가 한건데 좀 난잡하지만 소스까지 있으니까 한번 봐봐요.
같은 머드게임임 ㅎㅎ
스위치이전에도 넣어봤는데 안돼.. 근데 do~while이후에도 또 scanf를 받아야돼??
안돼안대안됑안돼앵나됑ㄴ앙앙ㄴ돼
fflush(stdio); 는 뭔데??
fflush(stdio);안넣어서 그럴수도 있을거같네.
아 이미 chodadoo형이 적었구나
fflush(stdio);를 넣으면 scanf의 병신성이 하나 치료된다고 생각하면됨
fflush(stdio); 넣어도 안돼... 그리고 오류난게 문법오류가아니야...
내가보기엔 스캔f 뒤에 fflush(stdio);넣고 스위치전에 또 스캔f랑 fflush(stdio);넣으면 해결될거같은데;
그럼 난 진짜 뿅!
무시하고 실행해보면 광장입니다 이걸 못벗어나고 무한루프걸린다.. 여기서 잘못된건가? 스위치에서 잘못된거 있어??ㅜㅜ
fflush(stdin);
이거 아닌가 fflush(stdio); 이거는 뭐임
아 ㅅㅂ stdio.h땜에 햇갈렸어.
stdin이 맞음
사실 fflush생각하고 네이버에 fflush검색해서 괄호안에 뭐넣었더라? 하고 찾아보니까 stdio라고 쓴 병신새끼가 있어서 그거땜에 햇갈렸다.
날 낚은 병신 지식인의 주소
http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=66596645&qb=ZmZsdXNoK★HN0ZGlvKTs=&enc=utf8§ion=kin&rank=3&search_sort=0&spq=0&pid=gxi3rc5Y7vRssuFfeOlssc--294850&sid=TxZ3rMdgFk8AACnSFdE
나도 찾아봤는데 stdio라고 쓴새끼 있음ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
ㅇㅇ 나도 찾아봤음ㅋㅋㅋㅋㅋㅋㅋㅋ
지금보니 chodadoo 횽도 똑같이 틀렸엌ㅋㅋㅋㅋㅋ 짱짱아 미앙!
오 ㅁㄴㅇㄹ형아꺼 했어!! 비슷한거같아!!!
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ머야 이형아들ㅋㅋㅋㅋㅋㅋㅋ웅 고쳐볼께 잠만ㅜㅜ
흠 고치고 영어쓰던남자형아말처럼 해봤는데두 안된다...도대체 뭐가문제지?ㅜㅜ
printf(\"[1]광장n[2]사냥터n[3]상점n[4]여관n[5]종료n\"); scanf(\"%d\",&cho); [...]; 위 부분을 do-while문 가장 앞에다 놔횽, 그리고
횽 우선 scanf(\"%s\",&name); 에서 &연산자 빼...... 배열이름이 주소잖아.....
umvue 횽.. \\n인것 같아ㅋㅋㅋ
아!! cls때매그런거였구나 아 난진짜 상병신인갑다ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ아ㅡ하핳한하흫가헿 일단 실행은 된다 근데 화면을 지워야되는데..음...이건좀더 고민해봐야겠다 암튼 고마워!!!