티스토리 뷰
콘솔을 이용한 간단한 전투게임을 만들자.
캐릭터와 스킬은 구조체를 이용해 구현하고, 공격은 함수를 이용해 구현해보자.
먼저 스킬의 이름, 최저 대미지, 최대 대미지를 가진 skill 구조체를 만든다.
struct stSkill {
char* name;
int minDam;
int maxDam;
}
캐릭터의 이름, 현재hp, 최대 hp, 스킬3개를 가진 캐릭터 구조체를 만든다. (mp는 hp와 같은 방법으로 만들면 된다.)
stuct stCharacter {
char* name;
int hp;
int maxHp;
stSkill skill1;
stSkill skill2;
stSkill skill3;
}
메인함수에서 캐릭터 hero 와 enemy를 만든다.
구조체는 일반 변수를 우리가 직접 만든것이라고 생각하면 쉽다. 변수 안에 각각 name, hp 등을 가지고 있고, 변수에 접근하기위해 . 을 사용한다고 생각하면 된다.
stCharacter hero; // hero구조체를 만들었다.
stCahracter enemy; // enemy 구조체를 만들었다.
두 캐릭터를 만들었으니 각각 name hp 등등을 설정해주자. (hero와 같은 방법으로 enemy도 초기화 해준다. )
hero.name = "영웅";
hero.hp = 1000;
hero.maxHp = 1000;
hero.skill1.name = "스킬1";
hero.skill1.minDam = 100;
hero.skill1.maxDam = 200;
hero.skill2.name = "스킬2";
hero.skill2.minDam = 200;
hero.skill2.maxDam = 300;
hero.skill3.name = "스킬3";
hero.skill3.minDam = 300;
hero.skill3.maxDam = 400;
두개의 캐릭터가 생성되었으니 서로 싸우기 시작하면 된다.
스킬3개 중 하나를 선택하도록 선택지를 출력해 주고, cin을 이용해 입력받는다.
입력받은 스킬의 최소 ~ 최대 대미지 사이의 값을 적의 hp에서 빼주고, 적의 공격 또한 같은 방법으로 만들어준다.
cout << "skill1 : " <<hero.skill1. name << endl;
cout << "skill2 : " <<hero.skill2. name << endl;
cout << "skill3 : " <<hero.skill3. name << endl;
cin >> input;
if(input == 1)
damage = hero.skill1.minDam + rand() % (hero.skill1.minDam - hero.skill1.maxDam);
else if(input == 2)
damage = hero.skill2.minDam + rand() % (hero.skill2.minDam - hero.skill2.maxDam);
else if(input == 3)
damage = hero.skill3.minDam + rand() % (hero.skill3.minDam - hero.skill3.maxDam);
enemy.hp -= damage;
cout << hero.name << "이 " << enemy.name << "에게 " << damage << "의 대미지를 입혔습니다..." << endl;
같은 방법으로 enymy의 공격 또한 만들어주면 간단한 콘솔 게임이 완성된다.
'C++' 카테고리의 다른 글
20160518_클래스와 객체지향(1) (0) | 2016.05.22 |
---|---|
20160517_포인터로 별찍기 (0) | 2016.05.22 |
20160513_포인터와 함수 (0) | 2016.05.17 |
20160512_포인터 (0) | 2016.05.17 |
20160511_빙고게임만들기 (3) | 2016.05.12 |
- Total
- Today
- Yesterday
- ngui 파티클
- 구글 스프레드시트 드롭다운
- Library/PackageCache
- 유니티 Library
- 클라이언트 면접
- 성남돌잔치
- 값형식과 참조형식의 차이
- particle cliping
- ngui 스크롤뷰 파티클 클리핑
- Unreal
- 유니티 텍스트 하이퍼링크
- c언어
- 베이비젠요요
- 기술면접
- 연결리스트
- C#
- ngui 스크롤뷰
- ngui 스크롤뷰 파티클
- 연말정산
- 유니티 a href
- ngui scrollview particle
- UPROPERTY
- 언제어디서나요요
- scrollview particle
- 휴대용유모차
- 도서대출프로그램
- 직군면접
- 내돈내산
- 유니티 개발자 면접
- 스토케요요
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |