구조체 struct을 보면서 c++ 로 게임을 만들어봤어.
간단해. 구조체를 보면서 예제가 별루더라고. 그래서 생각해서 쭉 만들어봤어.
ANSI C(99) 이상의 컴파일러를 사용해야해
namespace 들어갔으니깐
소스는 이거야 \"----\" 부터 \"----\" 사이에 있는걸 복사해. 언어는 C++ 이야.
컴파일 에러없어 dev-c++에서 확인. 그냥 c++기초플러스 5판 4장에 복합데이터형 설명하면서 구조체 설명하길래 떠올라서 만들어봤어. 약간만 만들려고 했는대 재미있어서 쭉쭉 만들어봤지~ 한번 해봐. 60년대 고전에 향기를 느낄지도
--------------------
#include <iostream>
struct base
{
char name[20];
char gender[20];
char job[20];
};
struct war
{
char name[20];
double dam;
double hp;
};
int main()
{
using namespace std;
base Mage=
{
\"루돌프\",
\"남성\",
\"마법사\"
};
base knight=
{
\"산타\",
\"남성\",
\"기사\"
};
cout <<\"반갑습니다, 새녘의 C++ 게임월드에 오신걸 환영합니다!\\n\";
cout <<\"==============================================\\n\";
cout <<\"당신은 두개의 직업을 선택하여 플레이 하실 수 있습니다.\\n\";
cout <<\"직업은 다음과 같습니다.\\n\";
cout <<Mage.job<<\"(1)\"<<knight.job<<\"(2)\";
cout <<\"당신이 플레이할 직업을 골라주십시오.=\";
int sect;
cin >> sect;
if(sect==1)
{
cout<<\"\\n당신은 마법사로 세계를 여행하게 될 것 입니다\\n\";
cout<<\"마법사는 다음과 같은 초기설정을 가지고 있습니다\\n\";
cout<<\"이름 \"<<Mage.name<<\" 성별 \"<<Mage.gender<<\"\\n\";
}
else if(sect==2)
{
cout<<\"\\n당신은 기사로 세계를 여행하게 될 것 입니다\\n\";
cout<<\"기사는 다음과 같은 초기설정을 가지고 있습니다\\n\";
cout<<\"이름 \"<<knight.name<<\" 성별 \"<<knight.gender<<\"\\n\";
}
cout<<\"즐거운 게임 되시길 바랍니다! <Enter>키로 진행을 하실 수 있습니다.\\n\";
cout <<\"================================================\\n\";
cin.get();
cin.get();
cout<<\"숲속을 가던 중! 몬스터가 당신을 공격합니다!\\n\";
cout<<\"그냥해! 전투개시!\\n\";
cin.get();
if(sect==1)
{
war monster =
{
\"고블린\",
20,
100
};
war mage =
{
\"마법사(견습)\",
40,
100
};
cout <<\"\\n(-_-)/~@\"<<\"난 고블린일 뿐이고! 갑자기 널 공격하고 싶을 뿐이고!!\\n\";
cout <<monster.name<<\"이 당신을 봤습니다 \"<<\"데미지:\" <<monster.dam <<\" HP:\"<<monster.hp<<\"\\n\";
cout <<mage.name<<\"는 다급히 지팡이를 듭니다.\" <<\" 데미지:\"<<mage.dam<< \" HP:\"<<mage.hp<<\"\\n\";
cout<<\"\\n\" <<\"고블린이 입에 거품을 물며 달려옵니다.\"<<\"\\n\"<<\"일반공격(1) \"<<\"마법공격(2)=\";
int go;
cin >>go;
if(go ==1)
{
cout<<\"\\n이얍!받아라 나무지팡이 공격!\";
cout<<\"\\n(-_-) 너무한거 아님? 저 랜덤변수도 없어서 그대로 얻어맞음.\";
cin.get();
monster.hp = monster.hp - 30;
cout<<\"\\n크헉 ! 너무아퍼!\"<<\" 고블린 HP:\"<<monster.hp;
cin.get();
cout<<\"\\n널 가만두지 않겠어!\";
cout<<\"\\n고블린 분노의 휘파람불기 애들아 도와줘!!!!\";
cin.get();
cout<<\"\\n(-(-(-_-)-)-) 월래 고블린은 양으로 밀어붙여.\";
cout<<\"\\n애들아! 집단 공격이다!\\n\";
cin.get();
mage.hp = mage.hp - 100;
cout<<\"\\n크윽!\"<<\" HP:\"<<mage.hp;
cout<<\"\\n(-_-) 흐흐.. 약해 너가 무엇을 선택하던 동일한 결과를 얻게 될 것이다!\";
cout<<\"\\n GAME - OVER \";
}
else if(go==2)
{
cout<<\"\\n이얍!받아라 마법공격!!!!\";
cout<<\"\\n(-_-) 너무한거 아님? 랜덤변수도 없어~ 소스귀찮아서 붙여넣어.\";
cin.get();
monster.hp = monster.hp - 50;
cout<<\"\\n크헉 ! 너무아퍼!\"<<\" 고블린 HP:\"<<monster.hp;
cout<<\"\\n널 가만두지 않겠어!\";
cout<<\"\\n하하하하!\";
cin.get();
cout<<\"\\n나는 사실 드래곤이였다. 고로 넌 죽었다고 복창해라.\\n\";
cout<<\"\\n드래곤 퐈이어~▶\";
cin.get();
mage.hp = mage.hp - 100;
cout<<\"\\n크아아악!!\"<<\" HP:\"<<mage.hp;
cout<<\"\\n(-_-) 흐흐.. 약해 너가 무엇을 선택하던 동일한 결과를 얻게 될 것이다!\";
cout<<\"\\n GAME - OVER \";
}
cin.get();
}
else if(sect==2)
{
cout<<\"하필 당신은 만들기 귀찮아 생략한 기사를 선택하였습니다\\n\\n\";
cout<<\"당신은 패배자~~\\n\\n\";
cout<<\"주의! 당신의 혈압이 ㅋㅋㅋ 마구 상승하고 있습니다.\\n\\n\";
cin.get();
}
}
---------------
이게바로 if 로 만드는 산뜻한 RPG!@
여기다싸질러놓지마시기바랍니다
shopping channel.
캡슐화라고 들어봤는가 모르겠네....
식고자
C99와 C++의 관계를 알려주시죠
횽아들... 나 애 무서워...