분기문
if-else
int hp = 100;
bool isDead = (hp<=0);
if (isDead)
{
Console.WriteLine("You are Dead!");
}
else // = if(isDead==false)
{
Console.WriteLine("You are Alive!");
}
int choice = 0; //0:가위 1:바위 2:보
if (choice==0)
Console.WriteLine("가위입니다.");
else if (choice==1)
Console.WriteLine("바위입니다.");
else if (choice==2)
Console.WriteLine("보입니다.");
else
Console.WriteLine("잘못된 입력입니다.");
switch
int choice = 0; //0:가위 1:바위 2:보
switch (choice) //괄호 안에는 정수와 문자만 넣을 수 있음
{
case 0:
Console.WriteLine("가위입니다.");
break;
case 1:
Console.WriteLine("바위입니다.");
break;
case 2:
Console.WriteLine("보입니다.");
break;
default:
Console.WriteLine("잘못된 입력입니다.");
break;
}
삼항연산자
: (조건 ? 맞을때 : 틀릴때)
int number = 25;
bool isPair = ((number % 2) = 0 ? true : false);
실습1 (가위바위보게임)
// 0:가위 1:바위 2:보
const int ROCK = 1;
const int PAPER = 2;
const int SCISSORS = 0;
Random rand = new Random();
int aiChoice = rand.Next(0,3); //0~2사이의 랜덤 값
int choice = Covert.ToInt32(Console.ReadLine());
// switch문의 case 뒤에는 변수가 아닌 상수를 사용해야 한다.
switch(choice)
{
case SCISSORS :
Console.WriteLine("당신의 선택은 가위입니다.");
break;
case ROCK :
Console.WriteLine("당신의 선택은 바위입니다.");
break;
case PAPER :
Console.WriteLine("당신의 선택은 보입니다.");
break;
}
switch(aiChoice)
{
case SCISSORS :
Console.WriteLine("컴퓨터의 선택은 가위입니다.");
break;
case ROCK :
Console.WriteLine("컴퓨터의 선택은 바위입니다.");
break;
case PAPER :
Console.WriteLine("컴퓨터의 선택은 보입니다.");
break;
}
if (choice == aiChoice)
{
Console.WriteLine("무승부입니다.");
}
else if (choice == SCISSORS && aiChoice == PAPER)
{
Console.WriteLine("승리입니다.");
}
else if (choice == ROCK && aiChoice == SCISSORS)
{
Console.WriteLine("승리입니다.");
}
else if (choice == PAPER && aiChoice == ROCK)
{
Console.WriteLine("승리입니다.");
}
else
{
Console.WriteLine("패배입니다.");
}
//열거형
namespace CSharp
{
class Program
{
enum Choice
{
ROCK = 1,
PAPER = 2,
SCISSORS = 0
}
static void Main(string[] args)
{
...
switch(choice)
{
case (int)Choice.SCISSORS:
Console.WriteLin("당신의 선택은 가위입니다.");
break;
...
}
}
}
}