오늘의 TIL

김흥식·2025년 4월 16일
  1. 3주차 강의 듣기
  2. 체크리스트 2번째 시간 듣기
  3. TextRPG 시작해보기!


오늘의 공부 다필요없고.. textRPG 이거 미쳤다.. 사실 나는 처음해보다보니까 일단 시작부터 뭘해야하는거지? 생각이 앞섰다.. 그래서 미치겄네하면서 했다.


맨처음에는 사실 나는 Main 함수 안에 모든걸 다 넣었었다 .. 그러다보니.. 일단 너무 가독성이 떨어진다는 이야기를 들었고.. 또한 내가 그안에서 해결을혀다보니 답이 안나오더라.. 그래서 조언을 얻은것이 일단 캐릭터 정보면 그거에맞는 함수를 상점이면 그거에 맞는 함수를 선언해주면서 그거에 관해 차근차근 정리해나갔다.. 그러다보니 조금은 오? 전보다는 괜찮다 생각이 들었다! 근데 문제는 또 길어지면 길어질수록 너무 지져분한 느낌을 받는데 원래 다 그런것이다 라고 해서.. 그냥 일단 넘어갔고.. 그리고 사실 실행을 했을때 문제가 줄 바꿈이 안되더라 그래서 너무 줄줄이 이어지길래 아니 이걸 어떻게 하는거지몰랐다 그래서 사진에서 보는것처럼 나는 -----------------------이렇게 표현을 했다 ㅋㅋㅋ 그러다 다른분에게 물어보니 \n을 사용하면된다고 하더라 그래서 오호 그렇구나? 하고 하나 더 배웠다 사실 이것도 배운건데 내가 잘 이해를 못했어서 모르고 넘어갔던것이다..근데 알려주신분께서는 textRPG에서는 -------이런것도 잘 쓴다고 하더라!! 그래서 나쁘지는 않았구나!? 싶었다 ㅋㅋㅋㅋ 그래서 이후에는!!
namespace TextRPG
{
internal class TextRPG
{
// 캐릭터 정보 (전역 변수로 설정)
static string name = "전사";
static int level = 1;
static int power = 10;
static int armor = 5;
static int health = 100;
static int gold = 1500;

    static void Main(string[] args)
    {
        MainMenu();
    }

    static void MainMenu()
    {
        string choice = "";

        while (choice != "0")
        {
            Console.Clear();
            Console.WriteLine("스파르타 마을에 오신 여러분 환영합니다.");
            Console.WriteLine("이곳에서는 던전으로 가기 전 활동을 할 수 있습니다.");
            Console.WriteLine("==================================");
            Console.WriteLine("1. 상태창 보기");
            Console.WriteLine("2. 인벤토리");
            Console.WriteLine("3. 상점");
            Console.WriteLine("==================================");
            Console.Write("원하는 선택을 입력해주세요>> ");
            choice = Console.ReadLine();

            switch (choice)
            {
                case "1":
                    Stats();
                    break;
                case "2":
                    Inventory();
                    break;
                case "3":
                    Shop();
                    break;
                case "0":
                    Console.WriteLine("\n게임을 종료합니다.");
                    break;
                default:
                    Console.WriteLine("\n잘못된 입력입니다.");
                    Pause();
                    break;
            }
        }
    }

    static void Stats()
    {
        Console.Clear();
        Console.WriteLine("[상태창 보기]");
        Console.WriteLine($"이름 : {name}");
        Console.WriteLine($"레벨 : {level}");
        Console.WriteLine($"공격력 : {power}");
        Console.WriteLine($"방어력 : {armor}");
        Console.WriteLine($"체력 : {health}");
        Console.WriteLine($"재화 : {gold}g");
        Console.WriteLine("\n0. 나가기");
        Console.Write("원하는 선택을 입력해주세요");
        Console.ReadLine(); // 엔터 입력 시 메인 메뉴로 복귀
    }

    static void Inventory()
    {
        Console.Clear();
        Console.WriteLine("[아이템 목록]");
        Console.WriteLine("1.작창관리");
        Console.WriteLine("0. 나가기");
        Console.ReadLine();
    }

    static void Inventory2()
    {
        String input = "";

        while (input != "0")
        {
            Console.Clear();
            Console.WriteLine("[인벤토리 - 장착관리]");
            Console.WriteLine("보유중인 아이템을 관리 할 수 있습니다.");
            Console.WriteLine("\n아이템 목록");

            Console.WriteLine("- 1 [E]무쇠갑옷      | 방어력 +5 | 무쇠로 만들어져 튼튼한 갑옷입니다.");
            Console.WriteLine("- 2 [E]스파르타의 창  | 공격력 +7 | 스파르타의 전사들이 사용했다는 전설의 창입니다.");
            Console.WriteLine("- 3 낡은 검         | 공격력 +2 | 쉽게 볼 수 있는 낡은 검 입니다.");
            Console.WriteLine("\n 0. 나가기");
            Console.WriteLine("\n>>");
            input = Console.ReadLine();
        }
        static void Shop()
        {
            string input = "";

            while (input != "0")
            {
                Console.Clear();
                Console.WriteLine("[상점]");
                Console.WriteLine("필요한 아이템을 얻을 수 있는 상점입니다.");
                Console.WriteLine("\n[보유골드]");
                Console.WriteLine("800G");
                Console.WriteLine("\n[아이템 목록]");
                Console.WriteLine("- 수련자 갑옷    | 방어력 +5  | 수련에 도움을 주는 갑옷입니다.             |  1000 G");
                Console.WriteLine("- 무쇠갑옷      | 방어력 +9  | 무쇠로 만들어져 튼튼한 갑옷입니다.           |  구매완료");
                Console.WriteLine("- 스파르타의 갑옷 | 방어력 +15 | 스파르타의 전사들이 사용했다는 전설의 갑옷입니다.|  3500 G");
                Console.WriteLine("- 낡은 검      | 공격력 +2  | 쉽게 볼 수 있는 낡은 검 입니다.            |  600 G");
                Console.WriteLine("- 청동 도끼     | 공격력 +5  |  어디선가 사용됐던거 같은 도끼입니다.        |  1500 G");
                Console.WriteLine("- 스파르타의 창  | 공격력 +7  | 스파르타의 전사들이 사용했다는 전설의 창입니다. |  구매완료");

                Console.WriteLine("\n 1. 아이템 구매");
                Console.WriteLine("0. 나가기");
                Console.Write("\n 원하는 선택을 입력해주세요");
                input = Console.ReadLine();
            }
        }

        static void Pause()
        {

        }
    }
}

}
이런식의 함수 선언하면서 열심히 작성을 해봤다 ㅋㅋㅋ 이게 더 나은듯..? 지금은 완성단계가 아니니 더 해서 열심히 해봐야겠당

일단 오늘 정말 많이 힘들었다 혼자서 어떻게해야지? 시작부터 막막했는데 그래도 배운것들 토대로 계속 해보고 모르면 물어보고 여기서 뭘 추가하면 좋을지 질문도하고 하다보니 정말 많은 도움이 되었던것같다.. 근데 솔직히 내가 지금 기본 정보가 부족하다보니 이해가 안가는 부분이 많은데 이것은 무조건 복습이 답이지뭐... 더열심히 하고
내일은 textRPG 마무리 단계까지 가는게 목표이다!

profile
열심히 해보자!

0개의 댓글