반응형
별것은 아니고 간단하게 입출력 기능과 조건문 활용해서 가위바위보 게임처럼 구성해 봤습니다.
게임이라고 하기는 좀 민망하지만 갑자기 심심해서;
namespace CSharp
{
class Program
{
static void Main(string[] args)
{
//0: 가위 1:바위 2:보
const int SCISSOR = 0;
const int ROCK = 1;
const int PAPER = 2;
Random rand = new Random();
int aiChoice = rand.Next(0, 3); // 0~2 사이의 랜덤 값
int choice = Convert.ToInt32(Console.ReadLine());
switch(choice)
{
case SCISSOR:
Console.WriteLine("당신의 선택은 가위입니다");
break;
case ROCK:
Console.WriteLine("당신의 선택은 바위입니다");
break;
case PAPER:
Console.WriteLine("당신의 선택은 보입니다");
break;
}
switch (aiChoice)
{
case SCISSOR:
Console.WriteLine("컴퓨터의 선택은 가위입니다");
break;
case ROCK:
Console.WriteLine("컴퓨터의 선택은 바위입니다");
break;
case PAPER:
Console.WriteLine("컴퓨터의 선택은 보입니다");
break;
}
//결과 -> 승리, 무승부, 패배
if(choice == aiChoice)
{
Console.WriteLine("비겼습니다");
}
else
{
if(choice == SCISSOR)
{
if(aiChoice == ROCK)
{
Console.WriteLine("졌습니다!");
}
else
{
Console.WriteLine("이겼습니다!");
}
}
else if (choice == ROCK)
{
if (aiChoice == SCISSOR)
{
Console.WriteLine("이겼습니다!");
}
else
{
Console.WriteLine("졌습니다!");
}
}
else if (choice == PAPER)
{
if (aiChoice == SCISSOR)
{
Console.WriteLine("졌습니다!");
}
else
{
Console.WriteLine("이겼습니다!");
}
}
}
}
}
}
하드코딩은 지양하자,
라는 의미에서 enum 사용해서 조금 바꾼 버전
namespace CSharp
{
class Program
{
enum Choice
{
Scissors = 0,
Rock = 1,
Paper = 2
}
static void Main(string[] args)
{
Random rand = new Random();
int aiChoice = rand.Next(0, 3); // 0~2 사이의 랜덤 값
int choice = Convert.ToInt32(Console.ReadLine());
switch(choice)
{
case (int)Choice.Scissors:
Console.WriteLine("당신의 선택은 가위입니다");
break;
case (int)Choice.Rock:
Console.WriteLine("당신의 선택은 바위입니다");
break;
case (int)Choice.Paper:
Console.WriteLine("당신의 선택은 보입니다");
break;
}
switch (aiChoice)
{
case (int)Choice.Scissors:
Console.WriteLine("컴퓨터의 선택은 가위입니다");
break;
case (int)Choice.Rock:
Console.WriteLine("컴퓨터의 선택은 바위입니다");
break;
case (int)Choice.Paper:
Console.WriteLine("컴퓨터의 선택은 보입니다");
break;
}
//결과 -> 승리, 무승부, 패배
if(choice == aiChoice)
{
Console.WriteLine("비겼습니다");
}
else
{
if(choice == (int)Choice.Scissors)
{
if(aiChoice == (int)Choice.Rock)
{
Console.WriteLine("졌습니다!");
}
else
{
Console.WriteLine("이겼습니다!");
}
}
else if (choice == (int)Choice.Rock)
{
if (aiChoice == (int)Choice.Scissors)
{
Console.WriteLine("이겼습니다!");
}
else
{
Console.WriteLine("졌습니다!");
}
}
else if (choice == (int)Choice.Paper)
{
if (aiChoice == (int)Choice.Scissors)
{
Console.WriteLine("졌습니다!");
}
else
{
Console.WriteLine("이겼습니다!");
}
}
}
}
}
}
반응형