본문 바로가기

카테고리 없음

8월29일공부:

 

오늘까지 일기형식으로 TIL쓰고 내일부터는 좀 색다르게 써보려고합니다 ㅇㅂㅇ

 

목표 : 기승전결이 있는 TIL을 써보자

 

 

 

 

 

첫번쨰로 보자마자 머리가 멍해진게

 

약수를 어떻게 구하지?????싶었습니다

 

더하고 빼고 이런건 그래도 쉬운축에 속하는데 갑자기 정수?

 

OMG 쉽지않겠다 싶어서 바로 구글링부터 했습니다

 

 

 

public class Solution
    {
        public int solution(int n)
        {
            int answer = 0;
             
            for (int i = 1; i <= n/2; i++) // i가 1부터 n/2값이 될때까지 증가시키면서 for문 반복
            {
                if (n % i == 0) 
                {       
                    answer += i; // 나눠떨어지면 약수이므로 곧장 answer에 더해줌
                }
            }
            return answer + n;    // 마지막으로 자기자신 n을 더해주면서 리턴한다.
        }
    }

 

 

라고 일단 나왔는데 솔직히 하면서도 이해가 잘 안돼서 열심히 머리속으로 이해하려고 노력했다

 

그치만 실패했습니다. 내일도 다시 볼거같아요

 

 

그리고 오늘 어제 하루동안 회의해서 어떤기능을 구현할지 파악해놓은뒤 한번 해봤습니다

 

 static void Shop()
        {
            Console.Clear();
            Console.WriteLine("상점에 오신 것을 환영합니다 !");
            Console.WriteLine("아래에 물건을 구매하실 수 있습니다.");
            Console.WriteLine("현재 소지액: " + player.Gold);
            Console.WriteLine("1. 도란검 . 100원");
            Console.WriteLine("2. 도란방패 . 150원");
            Console.WriteLine("3. 도란링 . 200원");
            Console.WriteLine();
            Console.WriteLine("0. 나가기");

            int input = CheckValidInput(0, 4); 
            switch (input)
            {
                case 0:
                    DisplayGameIntro();
                    break;
                case 1:
                    Shop();
                    break;
                case 2:
                    BuyItem("도란검", 100);
                    break;
                case 3:
                    BuyItem("도란방패", 150);
                    break;
                case 4:
                    BuyItem("도란링", 200);
                    break;
                

            }
        }

 

메인 클래스인 Shop을 생성 아이템목록과 가격을 넣어줬습니다

저번주 개인과제 shop을 응용하고 수정했는데

int input = CheckValidInput(0, 4); 

이 부분이 원래 해결못한 부분이었습니다 괄호부분이 범위를 나타내는 건줄 몰라가지고

팀원한테 도움을 받았어요!! 이제 서른마흔다섯개의 케이스를 늘려도 걱정없습니다

 

 static void BuyItem(string itemName, int itemPrice)
    {
        if (player.Gold >= itemPrice)
        {
            player.ModifyGold(-itemPrice);
            Console.WriteLine(itemName + "을(를) 구매했습니다.");
            Console.WriteLine("남은 소지액: " + player.Gold);
        }
        else
        {
            Console.WriteLine("소지금이 부족합니다.");
        }

        Console.WriteLine("0. 나가기");

        int input = CheckValidInput(0, 0);
        switch (input)
        {
            case 0:
                DisplayGameIntro();
                break;
        }
    }

 

이건 아이템을 구매시 나오는 멘트인데 문제가 

사고나서 다른 물품을 살 수 없는거랑 구매후 상점메인화면으로 가지 못하는거?

따로 케이스를 넣고 수정할 듯 싶습니다

 

그리고 문제가 하나 생겼는데

 


public class Character
{
    public string Name { get; }
    public string Job { get; }
    public int Level { get; }
    public int Atk { get; }
    public int Def { get; }
    public int Hp { get; }
    public int Gold { get; private set; }

    public Character(string name, string job, int level, int atk, int def, int hp, int gold)
    {
        Name = name;
        Job = job;
        Level = level;
        Atk = atk;
        Def = def;
        Hp = hp;
        Gold = gold;
    }

    public void ModifyGold(int amount)
    {
        Gold += amount;
    }

}

 

이게 이제 원래 캐릭터의 정보창인데 상점에서 물품을 구매 후 보유한 골드가 바뀌게 만들었지만

 

내일 팀원과  함께 빨간색으로 되어있는 부분을 의논해봐야할거같습니다

 

팀원코드에서는 골드 관련 부분이 수정이 아예 안되어있기에 둘이 협의봐야할거같습니당

 

내일도 파이팅