적에 공격당했을 때 HP가 깎인다.
앞에 벽이 있으면 갈 수 없다.
단축키를 누르면 스킬이 나간다.
등등 게임은 여러가지 조건들로 이루어져있습니다.
게임뿐만 아니라 다른 프로그램도 변수와 조건들을 조합한 결과물입니다.
이러한 조건을 만드는 if문과 switch문에 대해 알아보겠습니다.
if문
if문을 사용하려면 먼저 비교 연산자에 대해 알아야합니다.
비교 연산자
n < 0 : n이 0보다 작으면 true(참), 그렇지 않다면 false(거짓)를 반환합니다.
n > 0 : 위와 반대입니다.
n <= 0 : n이 0보다 작거나 같으면 true, 그렇지 않다면 false를 반환합니다.
n >= 0 : 위와 반대입니다.
n == 0 : n과 0이 같으면 true, 그렇지 않다면 false를 반환합니다.
if문 형식
if(true 혹은 false를 반환하는 조건식)
{
참일 경우 중괄호안의 코드를 실행
}
거짓일 경우 중괄호를 넘어감
if문 예제
실행 결과
if else문
if else 형식
if(n > 10)
{
...
}
else if(n > 5)
{
...
}
else // 위 조건 전부 참이 아닐 때 실행
{
...
}
단순히 여러개의 조건을 나열한 것 같아보이지만
if else문은 3개의 조건중 만족시키는 조건이 여러개가 있더라도 반드시 1개의 조건만 실행하고 빠져나옵니다.
예를 들어 n이 15면
if(n > 10)과
else if(n > 5)의 조건이 참이지만
if(n > 10)의 중괄호만 실행하고 else if{...}와 else{...}는 실행되지 않습니다.
C언어에서는 위에서 아래로 코드를 실행하기 때문에 1개의 조건만 실행된다면 위쪽의 코드가 실행되는 것입니다.
if else문 예제
실행 결과
Switch문
switch문 형식
switch(변수)
{
case n1: // 변수의 데이터타입에 맞춰야 함
...
break;
case n2:
...
break;
default: // 위 조건이 전부 참이 아닐 때 실행 else와 같음
...
break;
}
switch문 예제
1.
switch문의 case에는 비교 연산자를 사용할 수 없습니다.
그러나 하나의 변수를 여러번 비교할 때 if문보다 깔끔하게 쓸 수 있다는 장점이 있어서 사용됩니다.
2.
2번 예제를 보면 n이 1, 2 둘 중 하나만 만족해도 실행됩니다.
이것은 or 라는 논리연산자를 써서 if문에서도 구현할 수 있습니다. 밑에서 논리연산자에 대해 설명하겠습니다.
논리연산자
&&(AND 연산자) | n >= 1 && n <= 10 | 양쪽의 논리값이 전부 참일 때만 true 반환 |
||(OR 연산자) | n < 0 || n > 10 | 양쪽의 논리값 중 하나만 참이면 true 반환 |
!(NOT 연산자) | n != 0,!(n > 0) | 논리값을 반대로 바꿈 |
NOT 연산자 추가 설명
n != 0 : n과 0이 같지 않다면 true반환
!(n > 0) : n이 0보다 작거나 같으면 true반환
조건식 전체에 괄호를 감싸고 왼쪽에 !를 쓰면 참과 거짓이 반대로 됩니다.
논리연산자 예제
실행 결과
읽어주셔서 감사합니다.
'C언어' 카테고리의 다른 글
숫자 야구 게임 만들기 - AI 숫자 맞추기, Player 숫자 맞추기 (0) | 2021.04.06 |
---|---|
[C언어] 테트리스 게임 만드는 방법 (5) | 2020.05.15 |
[C언어 기초] 반복문 for, while문 예제 (0) | 2020.05.04 |
[C언어 기초] 변수 char, int, float, double형 입출력 방법 (0) | 2020.05.02 |
[C언어 기초] Visual Studio 2019 설치 과정 (0) | 2020.05.02 |
댓글