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)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
GameChoi

Choi Programming

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

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

2022. 11. 28. 17:53
  • Precompiled Header
    • 미리 컴파일된 헤더 사용
#pragma once 
#include <windows.h> 
#include <iostream> 
using namespace std;
  • Data Type
    • char, short, int, __int64 ...
    • unsigned char, unsigned short, unsinged int ...
    • float, bool
int main()
{
	int hp = 100;
	unsigned int maxhp = 200; // unsigned - 음수 제거 후 양수 증가
    
	char ch = 100; // ASCII CODE
	bool bStart; // true, false
    
	short BossHp = 10000;
	BossHp += 40000; // overflow
}
  • Branch
    • if - 삼항연산자
    • switch - enum
      • 기존 enum 사용할 경우 이름이 중복이 되는 경우가 생김
      • 이를 방지하기 위해 enum class(c++ 11) 사용
enum class WeaponType
{
	NONE, COMMON, RARE, UNIQUE,
}; // pch.h

int main()
{
	int level = 10;
	int maxHp = 100;
	bool bIsHighLevel = (level >= 50); // false
	
	if (bIsHighLevel) maxHp += 10;
	else maxHp -= 10;

	maxHp = (bIsHighLevel) ? maxHp + 10 : maxHp - 10; // 삼항 연산자
	cout << maxHp << endl; // 80
    
	WeaponType weaponType = WeaponType::NONE; // enum class 사용

	switch (weaponType)
	{
	case WeaponType::NONE:
		break;
	case WeaponType::COMMON:
		break;
	case WeaponType::RARE:
		break;
	case WeaponType::UNIQUE:
		break;
	default:
		break;
	}
    
    
}
  • Loop
    • for, while, do-while
    • continue, break
    • range-base for (c++ 11)
int main()
{
	int count = 0;

	for (int i = 0; i < 10; i++)
	{
		if (i == 9) continue; // i가 9일 때 실행하지 않고 넘김
		count++;
	}
	cout << count << endl;

	count = 0;
	while (count < 10)
	{
		if (count == 5) break; // count가 5일 때 while 종료
		count++;
	}
	cout << count << endl;

	// TODO
	vector<int> v{ 1,2,3,4,5,6 }; // range-base for 사용하기위한 벡터
	for (int number : v)
		cout << number << endl;
}
  • Function
int Attack(int playerHp, int attackerHp, int attackerDamage) { return playerHp - attackerDamage; }
float Attack(int playerHp, int attackerHp, float attackerDamage) { return playerHp - attackerDamage; }

int main()
{
	int playerHp = 100;
	int attackerHp = 50;

	int attackerDamage = 10;
	float attackerDamagef = 5.f;

	Attack(playerHp, attackerHp, attackerDamage);
	Attack(playerHp, attackerHp, attackerDamagef);
}

'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++] 2 - 기초 문법 공부 일지  (0) 2022.11.28
    'C++ Algorithm & Study/C++ & Algorithm Strategies' 카테고리의 다른 글
    • [C++] 5 - 기초 문법 공부 일지(CAST)
    • [C++] 4 - 기초 문법 공부 일지(OOP)
    • [C++] 3 - 기초 문법 공부 일지(Pointer)
    • [C++] 2 - 기초 문법 공부 일지
    GameChoi
    GameChoi

    티스토리툴바