-
숫자 맞추기 게임을 만들어보자 (스파르타캠프)게임 개발기록 2024. 4. 22. 15:33
C#문법 강의 2주차 숙제를 해봅니다.
======
먼저 게임을 시작 하면 게임을 선택 하라는 문구가 나오게 해줬습니다.
Console.WriteLine("안녕하세요. 원강이의 숫자게임 맞추기에 오신 걸 환영 합니다.");
Console.WriteLine(); <- 공백 효과 주기
Console.WriteLine();
Console.WriteLine("아래의 번호를 입력 하여 실행 할 게임의 유형을 선택 하세요!");
Console.WriteLine();
Console.Write("1. x~y 랜덤 숫자 맞추기!");
Console.Write(" 2. 여러 개의 숫자 동시에 맞추기!");
Console.WriteLine();
Console.WriteLine();여기서 ReadLine으로 플레이어가 입력을 하게 해줬습니다.
string choice = Console.ReadLine();
일단 1번과 2번 말고 다른 것을 누를 수 있으니 이걸 반복문으로 덮어 다른 걸 입력 해도 계속 물어보게 해줬습니다.
그리고 1번을 선택 했을 경우에 1번 게임 문구가 나오고, 2번을 선택 했을 시에 2번이 나오게 목표를 잡았습니다.
bool start = true;
while (start)
{
string choice = Console.ReadLine();
int a = 0;
bool p = int.TryParse(choice, out a);
if (p)
{
if (a == 1)
{start = false
}
else if (a == 2)
{start = false
}
else
{
Console.WriteLine("1번과 2번 중 선택 해주세요!");
}
}
else
{
Console.WriteLine("1번과 2번 중 선택 해주세요!");
}
}이제 1번을 선택 했을 시와 2번을 선택 했을 때의 알맞는 코드를 적어주면 완성 입니다.
bool start = true;
while (start)
{
string choice = Console.ReadLine();
int a = 0;
bool p = int.TryParse(choice, out a);
if (p)
{
if (a == 1)
{
start = false;
bool r = false;
do
{
Console.Clear();
Console.WriteLine("랜덤한 숫자를 직접 결정 합니다."); < - 숫자를 직접 결정 할 수 있게 해봤습니다.
Console.WriteLine("1 부터 시작 하는 최소값을 먼저 정해주세요!");
int minimum = int.Parse(Console.ReadLine());
Console.WriteLine("최대값을 정해주세요!");
Console.WriteLine("(최소값보다 작은 수를 입력 하면 오류!)");
int maximum = int.Parse(Console.ReadLine());
Console.WriteLine("설정이 완료 되었습니다! 게임을 실행 하시겠습니까?");
Console.Write("1. 예 ");
Console.Write(" 2. 재설정"); <- 설정을 다시 할 수 있는 기능도 넣어봤습니다.
Console.WriteLine();
int select = int.Parse(Console.ReadLine());
if (select == 1)
{
r = false;
Console.Clear();
Console.WriteLine("게임이 시작 되었습니다.");
Console.WriteLine();
Random random = new Random();
int count = 0;
int game = random.Next(minimum, maximum);
Console.WriteLine("숫자를 맞춰 보세요!");
Console.WriteLine("설정된 숫자 (" + minimum + " ~ " + maximum + ")");
int pick = 0;
while (pick != game)
{
pick = int.Parse(Console.ReadLine());
if (pick == game)
{
Console.WriteLine("축하 합니다. 숫자를 맞췄습니다!");
Console.WriteLine(count + " 번 만에 맞추셨습니다!");
}
else if (pick > game)
{
Console.WriteLine("숫자를 좀 더 작게 입력 해보세요!");
}
else
{
Console.WriteLine("숫자를 좀 더 크게 입력 해보세요!");
}
count++;
}
}
else if (select == 2)
{
r = true;
}
}
while (r);
}
else if (a == 2)
{
Console.WriteLine("해당 게임은 아직 업데이트 전입니다^^.");
Console.WriteLine("1번 게임을 선택 해주세요!");
Console.Write("다시 선택 하기 : ");
}
else
{
Console.WriteLine("1번과 2번 중 선택 해주세요!");
}
}
else
{
Console.WriteLine("1번과 2번 중 선택 해주세요!");
}
}해당 글을 좀 더 자세히 작성 하고 싶었지만 시간이 너무 오래 걸리고 지금 할 게 많습니다. 고로 이렇게 마무리 하겠습니다.
나중에 추가 하고 싶은 거 : 게임이 종료 됐을 때 "게임을 재시작 하겠습니까?" 문구 나오고 재시작 할 수 있게 만들기.
2번 게임 같은 경우는 배열을 사용 해서 만드는 것인데 시간 남으면 꼭 연습 느낌으로 만들기.
숙제 느낀점 : 반복문에 대해서 좀 더 이해 할 수 있게 되었습니다. 다양한 숙제를 원한다...숙제가 재밌군요..
'게임 개발기록' 카테고리의 다른 글
스파르타 개인 과제 / 던전 입장 전 구현 (1) 2024.04.28 틱택토 게임 만들기 (스파르타캠프) (0) 2024.04.22 visual Studio로 BMI 계산기를 만들어 보자. (팀 스파르타 (0) 2024.04.22 visual Studo로 화씨 온도 계산기를 만들어 보자.( 팀 스파르타 (0) 2024.04.22 카드 두 번 연속으로 맞추면 시간 추가 기능/스파르타카드게임) 미니프로젝트 1주차) (0) 2024.04.16