TIL

2023/11/17 TIL

미역제자 2023. 11. 17. 21:13


오늘은 알고리즘 코드카타 시작하는 날이다.

다른분들은 풀었던 알고리즘 문제를 github에 올려놓으셨던데 일일이 어떻게 작성하는가 싶었다.

오잉? 그렇다. 자동으로 해주는 프로그램이 있던 것이다.

https://velog.io/@spy03128/%EB%B0%B1%EC%A4%80-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-Github-%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C-%EC%BB%A4%EB%B0%8B%ED%95%98%EA%B8%B0

 

백준, 프로그래머스 Github 자동으로 커밋하기

최근 알고리즘을 다시 공부하기 시작했는데 언어를 python으로 변경했어요!!자바에서는 한계를 느꼈지만,, 파이썬으로 알고리즘을 풀 때는 날아다니길 빌며,,오늘은 크롬 확장 프로그램을 통해서

velog.io

크롬 확장 프로그램으로 간편하게 사용 가능하다.


팀원들과 캐릭터 스탯 중 Luk 스탯을 활용할  방법을 고민해보았다.

Random random = new Random();
double 기본성공확률 = 0.01; // 초기 성공 확률
double luk = /* 행운 스텟 값 */;
while (true)
{
    double 랜덤값 = random.NextDouble(); // 0.00 이상 1.00 미만의 난수
    if (랜덤값 < (기본성공확률 + luk * 0.01))
    {
        // 성공
        Console.WriteLine("성공!");
    }
    else
    {
        // 실패
        Console.WriteLine("실패!");

이 코드는 팀원의 아이디어였고,

Random rand = new Random();
int number = rand.Next(player.Luk);
if(number <= 5) //따로 추가 스탯 없을경우 평타
{
	Console.WriteLine("당신의 공격");
	Console.ForegroundColor = ConsoleColor.Red;
	Console.Write($"{player.Str}");
	Console.ResetColor();
	Console.WriteLine("의 데미지를 주었다.");
}
else //치명타 (luk의 추가 스탯이 많을 수록 확률이 올라감)
{
	Console.WriteLine("당신의 공격");
	Console.ForegroundColor = ConsoleColor.Magenta;
	Console.WriteLine("치명타!");
	Console.ForegroundColor = ConsoleColor.Red;
	Console.Write("{0}", player1.Str + player.Luk);
	Console.WriteLine("만큼의 데미지를 주었다.");
	Console.ResetColor();
}

이 코드는 내가 구상해본 아이디어이다.

 

같은 목적으로 쓸려고 하더라고 다양한 방법이 있었다.

 

랜덤성, 확률 등을 더 짧고 간결하게 표현할 수 있는 방법이 없는지 알아봐야겠다.

 

'TIL' 카테고리의 다른 글

2023/11/21 TIL  (1) 2023.11.21
2023/11/20 TIL  (0) 2023.11.20
2023/11/16 TIL  (0) 2023.11.16
2023/11/15 TIL  (0) 2023.11.15
2023/11/14 TIL  (1) 2023.11.14