C# 강좌 Day-08 (산술,증가,감소,복합할당식, 논리연산자)
Unity3D/C# 2021. 8. 15. 01:12연산자
산술연산자 (+, -, *, /, %)
증가++, 감소-- 연산자 (전위, 후위표기)
복합 할당식 +=, -=, oper= 등등
산술 연산시 변수 타입에 신경을 쓰자
int hp = 100;
float damage = 12.5f;
hp = hp - (int)damage;
float heal = 10f;
hp = hp + (int)heal;
잘못된 결과가 나올수도 있다.
int maxHp = 100;
int hp = 20;
float per = hp / maxHp;
Console.WriteLine("hp: {0}%", per);
수정해본다
int maxHp = 100;
int hp = 20;
float per = (float)hp / maxHp * 100f;
Console.WriteLine("hp: {0}%", per);
증가, 감소 연산자의 후위연산
다음 실행에서 값이 변함을 주의한다
int damage = 1;
damage++; //1
Console.WriteLine(damage); //2
증가, 감소 연산자의 전위
현재 라인에서 값이 변한다.
int damage = 3;
Console.WriteLine(--damage); //2
Console.WriteLine(damage); //2
복합 할당식 연습
string marine = "marine";
float marineDamage = 1f;
string hydra = "hydra";
float hydraMaxHp = 10f;
float hydraHp = hydraMaxHp;
//marine이 hydra를 공격 했습니다 -1
//hydra hp: 9/10 (90%)
hydraHp -= marineDamage;
float per = (hydraHp / hydraMaxHp) * 100f;
Console.Write(per);
Console.WriteLine("{0}이 {1}를 공격 했습니다 -{2}", marine, hydra, marineDamage);
Console.WriteLine("hydra hp: {0}/{1} ({2}%)", hydraHp, hydraMaxHp, per);
비교연산자 (<, >, <=, >=, ==, !=)
int maxHp = 100;
int hp = 20;
float per = (float)hp / maxHp * 100f;
bool isDie = hp <= 0;
Console.WriteLine(isDie); //false
Console.WriteLine(per == 0); //false
논리연산자 (&&, ||, !)
AND (&&) : 둘다 참일 경우 True
float distance = 3.1f;
float sight = 5f;
float attackRange = 3f;
bool isAttackAvailable = (distance <= sight) && (distance <= attackRange);
Console.WriteLine("공격할수 있는 상태인가? : {0}", isAttackAvailable);
OR (||) : 둘중 하나다로 True면 True
int dungeonRequireLevel = 30;
int player1Level = 10; //쪼렙
int player2Level = 60; //만렙
bool isAvailableEnter =
(player1Level >= dungeonRequireLevel) ||
(player2Level >= dungeonRequireLevel);
Console.WriteLine("입장 가능 여부 : " + isAvailableEnter);
NOT(!) : True를 False로 False를 True로 반전 시킴
int player1Hp = 10;
bool isAlive = player1Hp > 0;
bool isDie = !isAlive;
'Unity3D > C#' 카테고리의 다른 글
C# 강좌 Day-10 (switch) (0) | 2021.08.15 |
---|---|
C# 강좌 Day-09 (if문) (0) | 2021.08.15 |
C# 강좌 Day-07 (입력받기) (0) | 2021.08.15 |
C# 강좌 Day-06 (맴버변수, 지역변수, static, var) (0) | 2021.08.14 |
C# 강좌 Day-05 (object, boxing, 값형식, 참조형식) (0) | 2021.08.14 |