반응형
1. 분기문
- if문
- switch문
- 삼항연산자
using System;
namespace CSharp {
class Program{
// Main function
static void Main(string[] args) {
// 분기문
int hp = 100;
bool isDead = (hp<=0);
// if-else문
if (isDead) {
Console.WriteLine("you are dead_1");
Console.WriteLine("you are dead_2");
} else {
Console.WriteLine("you are alive");
}
// if-elseif문
int choice = 0; // 0:가위 1:바위 2:보
if (choice == 0) {
Console.WriteLine("가위입니다");
} else if (choice == 1) {
Console.WriteLine("바위입니다");
} else {
Console.WriteLine("보입니다");
}
// switch문
switch (choice) {
case 0:
Console.WriteLine("가위입니다");
break;
case 1:
Console.WriteLine("바위입니다");
break;
case 2:
Console.WriteLine("보입니다");
break;
default:
Console.WriteLine("해당사항 업습니다");
break;
}
// 삼항연산자
int number = 23;
bool isPair;
if((number%2)==0){
isPair = true;
} else {
isPair = false;
}
isPair = (number%2)==0 ? true : false;
// -------------------------------------------------------------------------------------
// 가위바위보 게임
// 0:가위, 1:바위, 2:보
// 컴퓨터가 랜덤으로 가위바위보 중에 하나를 생성
Random rand = new Random();
int aiChoice=rand.Next(0,3); // 0~2사이의 랜덤 값 0,1,2 중에 하나의 값
// 유저가 입력하는 값을 받아옴
int choice = Convert.ToInt32(Console.ReadLine());
// 결과 출력
// switch문
switch (choice) {
case 0:
Console.WriteLine("당신의 선택은 가위입니다");
break;
case 1:
Console.WriteLine("당신의 선택은 바위입니다");
break;
case 2:
Console.WriteLine("당신의 선택은 보입니다");
break;
default:
Console.WriteLine("당신의 선택은 올바른 입력값이 아닙니다");
break;
}
switch (aiChoice) {
case 0:
Console.WriteLine("컴퓨터의 선택은 가위입니다");
break;
case 1:
Console.WriteLine("컴퓨터의 선택은 바위입니다");
break;
case 2:
Console.WriteLine("컴퓨터의 선택은 보입니다");
break;
default:
Console.WriteLine("컴퓨터의 선택은 올바른 입력값이 아닙니다");
break;
}
// 승리 무승부 패배 표시 - 방법 1
if(choice==0){
switch (aiChoice) {
case 0:
Console.WriteLine("무승부");
break;
case 1:
Console.WriteLine("패배");
break;
case 2:
Console.WriteLine("승리");
break;
}
} else if(choice==1){
switch (aiChoice) {
case 0:
Console.WriteLine("승리");
break;
case 1:
Console.WriteLine("무승부");
break;
case 2:
Console.WriteLine("패배");
break;
}
} else {
switch (aiChoice) {
case 0:
Console.WriteLine("패배");
break;
case 1:
Console.WriteLine("무승부");
break;
case 2:
Console.WriteLine("승리");
break;
}
}
// 승리 무승부 패배 표시 - 방법 2
if (choice == aiChoice) {
Console.WriteLine("무승부");
} else {
switch(choice) {
case 0:
aiChoice==1?Console.WriteLine("패배"): Console.WriteLine("승리");
break;
case 1:
aiChoice==0?Console.WriteLine("승리"): Console.WriteLine("패배");
break;
case 2:
aiChoice==0?Console.WriteLine("패배"): Console.WriteLine("승리");
breeak;
}
}
// 승리 무승부 패배 표시 - 방법 3
if (choice == aiChoice) {
Console.WriteLine("무승부");
} else if((choice==0&&aiChoice==2) || (choice==1&&aiChoice==0) || (choice==2&&aiChoice==1)) {
Console.WriteLine("승리");
} else {
Console.WriteLine("패배");
}
}
}
}
2. 상수와 열거형
using System;
namespace CSharp {
class Program{
// 열거형
enum CHOICE {
ROCK=1,
PAGER=2,
SCISSORS=0
}
// Main function
static void Main(string[] args) {
// 상수
const int SCISSORS = 0; //가위
const int ROCK = 1; //바위
const int PAPER = 2; //보
// 상수값은 다시 할당이 되지않는다
int choice = 0;
switch(choice) {
case (int)CHOICE.ROCK:
break;
case (int)CHOICE.PAGER:
break;
case (int)CHOICE.SCISSORS:
break;
}
switch(choice) {
case ROCK:
break;
case PAGER:
break;
case SCISSORS:
break;
}
}
}
}
반응형
':SERVER > C#(C Sharp)' 카테고리의 다른 글
클래스, 생성자, static (0) | 2022.09.16 |
---|---|
스택,힙 메모리, 클래스 (0) | 2022.09.16 |
함수, ref, out (0) | 2022.09.15 |
반복문 (0) | 2022.09.14 |
C# 변수, 문자열 (0) | 2022.09.14 |