GameChoi
Choi Programming
GameChoi
전체 방문자
오늘
어제
  • 분류 전체보기 (468)
    • C++ Algorithm & Study (184)
      • C++ & Algorithm Strategies (45)
      • Game Math & DirectX 11 (72)
      • Server + UE5 (29)
      • Lyra Clone Coding (37)
    • Create Game (284)
      • [Window API] Game Client & .. (55)
      • [DirectX] DirectX 2D & 3D (155)
      • [UE5] BLUEPRINT & C++ (74)
    • odds and ends (0)
      • English (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • core
  • Player Move Packet
  • Other Character
  • Direct11
  • Algorithm Strategies
  • RPG Game
  • Game Room
  • job queue
  • Player State
  • UE5
  • Destination Move Packet
  • client
  • server
  • Game Server
  • protobuf
  • GAME Client
  • c++
  • session
  • Network Worker
  • Direct3D

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
GameChoi

Choi Programming

[C++] 2 - 기초 문법 공부 일지
C++ Algorithm & Study/C++ & Algorithm Strategies

[C++] 2 - 기초 문법 공부 일지

2022. 11. 28. 19:51
  • MonsterType, ObjectInfo Create
  • playerInfo, monsterInfo
enum class PlayerType
{
	NONE, KNIGHT, ARCHER, MAGE
};

enum class MonsterType
{
	NONE, ORC, SKELETON
};

struct ObjectInfo
{
	int hp;
	int attack;
	int defence;
};

// 전역 변수 선언
ObjectInfo playerInfo;
ObjectInfo monsterInfo;
MonsterType monsterType;
  • player Info
void PlayerInfo()
{
	playerInfo.hp = 100;
	playerInfo.attack = 10;
	playerInfo.defence = 5;
}
  • Create Random Monster
void CreateRandomMonster()
{
	int random = (rand() % 2) + 1;
	switch (random)
	{
	case (int)MonsterType::NONE: // (int) - cast
		break;
	case static_cast<int>(MonsterType::ORC):
		monsterInfo.hp = 20;
		monsterInfo.attack = 5;
		monsterInfo.defence = 3;
		break;
	case static_cast<int>(MonsterType::SKELETON):
		monsterInfo.hp = 10;
		monsterInfo.attack = 3;
		monsterInfo.defence = 1;
		break;
	default:
		break;
	}
}
  • Battle
void Battle()
{
	while (true)
	{
		int damage = playerInfo.attack - monsterInfo.defence;
		if (damage < 0) damage = 0;

		monsterInfo.hp -= damage;
		if (monsterInfo.hp < 0) monsterInfo.hp = 0;

		if (monsterInfo.hp == 0) { return; }
	}
}
  • Main
int main()
{
	while (true)
	{
		PlayerInfo(); // 플레이어 인포 설정

		CreateRandomMonster(); // 몬스터 생성
		cout << monsterInfo.hp << monsterInfo.attack << monsterInfo.defence << endl;

		Battle(); // 나만 때리기
	}
}

'C++ Algorithm & Study > C++ & Algorithm Strategies' 카테고리의 다른 글

[C++] 6 - 기초 문법 공부 일지(동적 할당)  (0) 2022.12.01
[C++] 5 - 기초 문법 공부 일지(CAST)  (0) 2022.12.01
[C++] 4 - 기초 문법 공부 일지(OOP)  (0) 2022.11.29
[C++] 3 - 기초 문법 공부 일지(Pointer)  (0) 2022.11.29
[C++] 1 - 기초 문법 공부 일지  (0) 2022.11.28
    'C++ Algorithm & Study/C++ & Algorithm Strategies' 카테고리의 다른 글
    • [C++] 5 - 기초 문법 공부 일지(CAST)
    • [C++] 4 - 기초 문법 공부 일지(OOP)
    • [C++] 3 - 기초 문법 공부 일지(Pointer)
    • [C++] 1 - 기초 문법 공부 일지
    GameChoi
    GameChoi

    티스토리툴바