C++ 기본 문법
게임 캐릭터를 만들기 위한 첫걸음
안녕하세요! 오늘은 C++에서 가장 기초적인 부분인 기본 문법을 배워보는 시간을 가져보겠습니다. 프로그래밍 언어의 기본 문법은 건물을 짓기 위한 벽돌과 같습니다. 게임 개발에서 캐릭터를 만들고, 움직이고, 상호작용하는 모든 기능도 이런 기본 문법 위에서 작동합니다. 오늘은 이 기본 벽돌을 하나씩 쌓아 보도록 하겠습니다.
변수와 데이터 타입
변수란 무엇일까요? 변수는 데이터를 저장할 수 있는 상자와 같아요. 이 상자에 숫자, 글자, 참/거짓 같은 정보를 담을 수 있습니다. 예를 들어, 게임 캐릭터의 체력이나 이름을 저장하려면 변수라는 상자를 활용해야 합니다.
C++에서 자주 쓰는 데이터 타입
- 정수형(int): 정수를 저장합니다. (예: 0, 100, -50)
- 실수형(float, double): 소수점을 포함한 숫자를 저장합니다. (예: 3.14, -0.99)
- 문자형(char): 한 글자를 저장합니다. (예: 'A', 'z')
- 문자열(string): 여러 글자를 저장합니다. (예: "Hello", "Game")
- 불리언(bool): 참 또는 거짓 값을 저장합니다. (예: true, false)
#include <iostream>
using namespace std;
int main() {
int health = 100; // 체력
float speed = 3.5; // 이동 속도
char grade = 'A'; // 랭크
string name = "Player1"; // 이름
bool isAlive = true; // 생존 여부
cout << "Name: " << name << endl;
cout << "Health: " << health << endl;
cout << "Speed: " << speed << endl;
cout << "Grade: " << grade << endl;
cout << "Is Alive: " << isAlive << endl;
return 0;
}
이 코드를 실행하면 캐릭터의 기본 정보를 출력합니다. 변수에 값을 저장한 후, cout을 사용해 콘솔에 출력합니다. 이렇게 하면 게임 데이터를 관리할 수 있는 첫걸음을 뗀 셈입니다.
입출력
게임을 만들 때 중요한 것은 플레이어와 소통하는 것입니다. C++에서는 cout을 사용해 메시지를 출력하고, cin을 사용해 입력을 받을 수 있습니다.
예시: 플레이어 이름을 입력받기
#include <iostream>
using namespace std;
int main() {
string playerName;
cout << "Enter your name: ";
cin >> playerName;
cout << "Welcome, " << playerName << "!" << endl;
return 0;
}
이 코드를 실행하면 플레이어 이름을 입력받고 환영 메시지를 출력합니다. 게임의 초기 화면처럼 간단하죠?
조건문
조건문은 게임 개발에서 꼭 필요한 기능입니다. 예를 들어, 플레이어가 체력을 모두 소진했는지, 아이템을 획득했는지 등을 판단할 때 조건문을 사용합니다.
조건문의 기본 구조
if (조건)
{
// 조건이 참일 때 실행할 코드
}
else
{
// 조건이 거짓일 때 실행할 코드
}
예시: 아이템 획득
#include <iostream>
using namespace std;
int main()
{
bool hasItem = true;
if (hasItem)
{
cout << "You have picked up a health potion!" << endl;
}
else
{
cout << "No items found." << endl;
}
return 0;
}
연산자
연산자는 숫자를 계산하거나 값을 비교할 때 사용됩니다. 예를 들어, 체력을 깎거나 점수를 더할 때 연산자를 사용합니다.
주요 연산자
- 산술 연산자: +, -, *, /, %
- 비교 연산자: ==, !=, <, >, <=, >=
- 논리 연산자: &&, ||, !
예시: 적과의 전투
#include <iostream>
using namespace std;
int main()
{
int playerHealth = 100;
int enemyDamage = 25;
cout << "Player Health: " << playerHealth << endl;
// 적이 공격!
playerHealth = playerHealth - enemyDamage;
cout << "After attack, Player Health: " << playerHealth << endl;
if (playerHealth <= 0)
{
cout << "Game Over!" << endl;
}
else
{
cout << "Keep fighting!" << endl;
}
return 0;
}
여기서 적의 공격력(enemyDamage)을 플레이어의 체력에서 빼는 과정을 보여줍니다. 체력이 0 이하로 떨어지면 "Game Over"를 출력하고, 그렇지 않으면 계속 싸우라는 메시지를 출력합니다.
반복문
반복문은 어떤 작업을 여러 번 반복하고 싶을 때 사용합니다. 예를 들어, 적을 계속 소환하거나, 특정 행동을 계속 확인하는 루프를 만들 때 유용합니다.
예시: 적 5명 소환하기
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 5; i++)
{
cout << "Enemy " << i << " spawned!" << endl;
}
return 0;
}
실무와 관련된 활용
이제 배운 개념을 활용해 게임 개발의 기초 기능을 만들어 봅시다. 예를 들어, 플레이어와 적의 체력을 계산하고, 적이 계속 공격하는 작은 전투 시스템을 만들어 보겠습니다.
예시: 간단한 전투 시스템
#include <iostream>
using namespace std;
int main() {
int playerHealth = 100;
int enemyDamage = 10;
cout << "Battle Start!" << endl;
for (int turn = 1; turn <= 10; turn++) {
cout << "Turn " << turn << ": Enemy attacks!" << endl;
playerHealth -= enemyDamage;
if (playerHealth <= 0) {
cout << "Player Health: 0" << endl;
cout << "Game Over!" << endl;
break;
} else {
cout << "Player Health: " << playerHealth << endl;
}
}
if (playerHealth > 0) {
cout << "You survived the battle!" << endl;
}
return 0;
}
오늘은 C++의 기본 문법에 대해 배워 보았습니다. 변수와 데이터 타입, 입출력, 연산자, 조건문, 그리고 반복문은 앞으로 게임 개발의 기초를 다지는 데 매우 중요한 요소들입니다. 이제 이 개념을 활용해 더 복잡한 게임 기능을 만들어 볼 준비가 되었을 것입니다.
다음 시간에는 함수와 객체 지향 프로그래밍을 통해 더 체계적으로 코드를 작성하는 방법을 배워 보겠습니다. 기대되시죠? 😊
'개발이야기 > C++' 카테고리의 다른 글
C++기초 6강: 클래스와 객체 (0) | 2024.12.13 |
---|---|
C++기초 5강: 함수: 코드의 조각을 만들고 재활용하기 (0) | 2024.12.13 |
C++기초: 3강 - 첫번째 프로그램 만들기 (0) | 2024.12.03 |
C++기초: 2강-컴파일과 실행의 과정 이해 (0) | 2024.12.02 |
C++기초: 1강- 프로그래밍이란 무엇인가? (4) | 2024.11.25 |