Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- std::unordered_map
- 리스트
- 자료구조
- map
- vector
- 기술면접
- 트리
- 차이점
- static_cast
- 프래그멘테이션
- Queue
- 반복문
- list
- 해쉬맵
- 스택영역
- 힙영역
- 벡터
- 큐
- std::map
- MonoBehaviour
- 스택
- 인프런
- 배열
- thread
- 알고리즘
- 멀티쓰레드
- c#
- 공부
- rookiss
- 객체지향
Archives
- Today
- Total
호빵의 IT 개발소
[C#] 8. 간단한 가위바위보 게임 만들기 본문
if문과 switch문을 활용하여 간단한 가위바위보 게임을 만들어 보겠습니다.
//0 : 가위, 1 : 바위, 2 : 보
Random rand = new Random();
int aiChoice = rand.Next(0, 3); // 0~2사이의 랜덤값 생성(rand.Next는 0이상 3미만으로 알고 계시면 됩니다.)
int choice = convert.Toint32(Console.ReadLine()); //Console.ReadLine()은 콘솔창에서 엔터를 누를 때까지 기다리는 부분입니다. Toint32는 콘솔창에서 받은 값을 숫자로 변형시켜주고 convert는 변형된 숫자를 넘겨주는 역할을 합니다.
switch (choice) //플레이어의 선택을 조건문으로 작성
{
case 0 :
Console.WriteLine("당신은 가위를 냈습니다.");
break;
case 1 :
Console.WriteLine("당신은 바위를 냈습니다.");
break;
case 2 :
Console.WriteLine("당신은 보를 냈습니다.");
break;
}
switch (aiChoice) //컴퓨터의 선택을 조건문으로 작성
{
case 0 :
Console.WriteLine("컴퓨터가 가위를 냈습니다.");
break;
case 1 :
Console.WriteLine("컴퓨터가 바위를 냈습니다.");
break;
case 2 :
Console.WriteLine("컴퓨터가 보를 냈습니다.");
break;
}
//승리, 무승부, 패배 조건문
if (choice == 0) // 만약 플레이어가 가위를 낸다면
{
if (ai == 0) // 플레이어가 가위를 내고 ai가 가위를 내면
{
Console.WriteLine("무승부 입니다.");
}
else if (ai == 1) // 플레이어가 가위를 내고 ai가 바위를 내면
{
Console.WriteLine("패배 하셨습니다.");
}
else // 플레이어가 가위를 내고 ai가 보를 내면
{
Console.WriteLine("승리 하셨습니다.");
}
}
else if (choice == 1) // 만약 플레이어가 바위를 낸다면
{
if (ai == 0) // 플레이어가 바위를 내고 ai가 가위를 내면
{
Console.WriteLine("승리 하셨습니다.");
}
else if (ai == 1) // 플레이어가 바위를 내고 ai가 바위를 내면
{
Console.WriteLine("무승부 입니다.");
}
else // 플레이어가 바위를 내고 ai가 보를 내면
{
Console.WriteLine("패배 하셨습니다.");
}
}
else //만약 플레이어가 보를 낸다면 (=else if (choice == 2))
{
if (ai == 0) // 플레이어가 보를 내고 ai가 가위를 내면
{
Console.WriteLine("패배 하셨습니다.");
}
else if (ai == 1) // 플레이어가 보를 내고 ai가 바위를 내면
{
Console.WriteLine("승리 하셨습니다.");
}
else // 플레이어가 보를 내고 ai가 보를 내면
{
Console.WriteLine("무승부 입니다.");
}
}
조금 더 짧게 하는 방법도 있습니다.
Random rand = new Random();
int aiChoice = rand.Next(0, 3);
int choice = convert.Toint32(Console.ReadLine());
switch (choice)
{
case 0 :
Console.WriteLine("당신은 가위를 냈습니다.");
break;
case 1 :
Console.WriteLine("당신은 바위를 냈습니다.");
break;
case 2 :
Console.WriteLine("당신은 보를 냈습니다.");
break;
}
switch (aiChoice)
{
case 0 :
Console.WriteLine("컴퓨터가 가위를 냈습니다.");
break;
case 1 :
Console.WriteLine("컴퓨터가 바위를 냈습니다.");
break;
case 2 :
Console.WriteLine("컴퓨터가 보를 냈습니다.");
break;
}
//무승부 상황
if (choice == aiChoice) // choice와 aiChoice값이 같을 때, 둘이 같은 걸 냈을때
}
Console.WriteLine("무승부 입니다.");
}
//이겼을때 상황 3가지
else if (choice == 0 && aiChoice == 2) //내가 가위, 컴퓨터가 보
{
Console.WriteLine("승리 하셨습니다.");
}
else if (choice == 1 && aiChoice == 0) //내가 바위, 컴퓨터가 가위
{
Console.WriteLine("승리 하셨습니다.");
}
else if (choice == 2 && aiChoice == 1) //내가 보, 컴퓨터가 바위
{
Console.WriteLine("승리 하셨습니다.");
}
//패배 상황
else //나머지는 패배이기 때문에 else문 사용
{
Console.WriteLine("패배 하셨습니다.");
}
---------------------------------------------------------------------------------------------------------------------------
참고 : [인프런] Rookiss님의 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
'C#, 유니티 > C# 기초' 카테고리의 다른 글
| [C#] 10. While문 (0) | 2021.12.29 |
|---|---|
| [C#] 9. 상수와 열거형 (0) | 2021.12.29 |
| [C#] 7. switch문 (0) | 2021.12.28 |
| [C#] 6. if문 (0) | 2021.12.28 |
| [C#] 5. 데이터 연산 (0) | 2021.12.28 |
Comments