<오늘의 계획>
1. 기능 수정
2. 콘솔 꾸미기
- 기능 수정
인트로 멘트가 한 글자씩 출력되면 좋을 것 같아서 while문과 Thread.Sleep()을 통해 0.05초에 한 글자씩 나오도록 기본설정을 하고, 아무 키를 입력했을 때 스킵되도록 했다.Console.KeyAvailable은 bool값으로 어떤 키를 눌렀을 때 true를 출력한다. 이를 이용하여 값이 true가 되면 Thread.Sleep()의 속도를 다시 0으로 만들어주어 전체 멘트가 나오도록 했다.이 기능은 자주 사용할 것 같아서 메서드로 만들어주었다.
// 한글자씩 출력
static void OutputTxt(string txt) // string = Char(문자) 배열
{
Console.ForegroundColor = ConsoleColor.Cyan;
// 아무 키나 눌렀을 때 스킵
int speed = 50;
int txtCount = 0; // 글자수
while (txtCount != txt.Length) // txt 글자수가 끝까지 나올 때까지
{
if (Console.KeyAvailable) // 아무 키나 눌렸을 때 true
{
speed = 0;
Console.ReadKey(true);
}
Console.Write(txt[txtCount]); // 글자를 하나하나 가져올 인덱스
Thread.Sleep(speed);
txtCount++;
}
}
// 적용
static void DisplayGameIntro()
{
string startTxt = "스파르타 마을에 오신 여러분 환영합니다.\n이곳에서 던전으로 들어가기 전 활동을 할 수 있습니다.\n";
OutputTxt(startTxt);
}
Console.Readkey( ) : 사용자가 눌린 키 한 문자 정보를 리턴하는 메소드
Console.KeyAvailable : 키 입력값의 참거짓 여부
- 콘솔 꾸미기
콘솔 꾸미기 명령어
// 콘솔 배경
Console.BackgroundColor = ConsoleColor.색상;
Console.Clear(); // 화면 지우기
// 글씨색 변경
Console.ForegroundColor = ConsoleColor.색상;
// 글씨색 기본색으로 되돌리기
Console.ResetColor();
// 콘솔창 이름 설정
Console.Title = "콘솔창";
<추가>
- 코드에 필요한 클래스를 별도의 파일로 만들고 분리해보기
- Readme 작성하기
<마치며>
C#에 좀 더 친숙해지는 것에 중점을 맞췄어야했는데 많은 기능을 구현하고 싶은 욕심에 새로운 메서드를 찾아보고 탐구하는 것에 너무 시간을 할애했던 것 같다. 잘하는 분들은 시간이 남았기 때문에 여러 가지 추가기능을 구현했음을 항상 유의하고 초보자인 나는 문법 위주로 공부해야겠다.
'부트캠프 > Project' 카테고리의 다른 글
<프로젝트> 팀과제 TextRPG 계획(2) (0) | 2023.11.17 |
---|---|
<프로젝트> 팀과제 TextRPG 계획(1) (0) | 2023.11.15 |
<개인 과제> TextRPG 만들기(1) (1) | 2023.11.13 |
<미니 프로젝트> 팀원 소개 카드 게임 5일차 (0) | 2023.11.03 |
<미니 프로젝트> 팀원 소개 카드 게임 4일차 (0) | 2023.11.02 |