오늘까지 일기형식으로 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;
}
}
이게 이제 원래 캐릭터의 정보창인데 상점에서 물품을 구매 후 보유한 골드가 바뀌게 만들었지만
내일 팀원과 함께 빨간색으로 되어있는 부분을 의논해봐야할거같습니다
팀원코드에서는 골드 관련 부분이 수정이 아예 안되어있기에 둘이 협의봐야할거같습니당
내일도 파이팅