게임을 만들 때, 주인공 즉 플레이어가 가져야할 요소들은 무엇이 있을까?
다양한 요소들 중 체력, 공격력, 소지금 등등 수치로 나타낼 수 있는 것들,
그 중 값이 변하는 것 들은 '변수'로 선언하여 관리할 수 있다.
'변수'란, 값을 저장할 수 있는 메모리 공간의 이름이다.
변수의 선언 방법은 아래와 같다.
#include<iostream>
int main()
{
int var;
}
세 순서로 이루어지는데, 처음으로는 데이터타입을 정한다.
int, float, char 등 저장하려는 값의 데이터 타입을 정해서 얼마만큼의 메모리 공간을 사용할 것인지 알려주는 것이다.
이러한 데이터 타입의 용량은 데이터 타입마다 다른데, 이는 다른 부분에서 설명하도록 하겠다.
비유하자면, 메모리라는 호텔의 방을 빌린다고 하자.
그러기 위해서 먼저 몇인실인지 방의 크기를 정할 필요가 있는 것이다.
int인실, float인실, char인실 각 방의 크기와 위치는 서로 다르기 때문에 각각 다른 라인에 있다.
int동, float동, char동 등을 예시로 들 수 있겠다.
이렇게 데이터 타입을 정한 다음에는, 변수의 이름을 설정한다.
데이터 타입에 따라 메모리 공간의 양을 정한 다음, 그 공간에 이름을 붙여주는 것이다.
변수의 이름을 설정할 때에는 의미 없이 선언하지 말고, 꼭 의미를 한 번에 알 수있도록 이름을 지어주는 것이 좋다.
프로그래밍, 특히 게임개발의 특성상 다른 사람들과의 협업이 있기 때문에 다른 사람이 봤을 때도 알아봐야하기 때문이다.
#include<iostream>
int main()
{
int num;
int playerSkillDmg1;
int playerSkillDmg2;
int playerSkillDmg3;
}
이런식으로 변수를 선언하게 되면 num이 어떤 곳에서 어떻게 사용하는 정수인지,
playerSkillDmg는 어떤 스킬의 데미지인지 직관적으로 알기 어렵기 때문에 지양하는 것이 좋다.
#include<iostream>
int main()
{
int i_num1; // 변수의 이름은 알파벳, 숫자, 언더스코어로 지을 수 있다.
int int; // 변수의 이름으로 데이터 타입명을 사용할 수 없다.
int num1 ~ num4; // 변수의 이름에 특수문자와 공백이 들어갈 수 없다.
int 플레이어공격력; // 선언은 가능하나, 지양하는 것이 좋다.
int num;
int Num;
int nUm;
int nuM;
// 변수의 이름은 대소분자를 구분하기 때문에 위 num변수들은 모두 각자 다른 별개의 변수들이다
}
변수의 이름은 알파벳, 숫자, 언더스코어로 지을 수 있으며 숫자로 시작할 수 없다.
변수의 이름에 데이터 타입을 입력할 수 없으며 특수문자, 공백이 사용될 수 없다.
변수는 한글로도 선언이 가능하나, 다른 프로그램과의 충돌, 타인과의 협업에 장애가 생김으로 지양하는 것이 좋다.
또한, 변수의 이름은 대소문자의 구분이 가능하다.
위와같이 변수를 선언하였다면, 변수를 초기화 시켜줘야 한다.
초기화하지 않은 변수를 사용한다면 에러가 발생하게 된다.
#include<iostream>
int main()
{
int num = 10;
}
변수의 초기화는 위와 같이 변수에 대입 연산자 = 을 사용해서 오른쪽에 변수에 넣을 값을 변수의 데이터타입에 맞는 값을 넣어주면 된다.
아래와 같이 변수가 int형 변수인 경우에는 정수를, float나 double과 같은 실수형 변수에는 실수를,
char와 같이 문자형인 경우에는 작은 따옴표 안에 글자를 넣어 대입하면 된다.
#include<iostream>
int main()
{
int num = 1;
float weight = 74.8;
double height = 181.482;
char a = 'a';
}
'C++ 일기' 카테고리의 다른 글
| 6 - 1. 산술연산자 (+, -, *, /, %) (0) | 2024.02.20 |
|---|---|
| 5. std::cout과 std::cin (C++의 입출력) (0) | 2024.02.20 |
| 4. 자료형 (Data Type) (2) | 2024.02.20 |
| 2. main함수 (int main()) (0) | 2024.02.20 |
| 1. 전처리기 (#include) (0) | 2024.02.20 |