오늘은 알고리즘 코드카타 시작하는 날이다.
다른분들은 풀었던 알고리즘 문제를 github에 올려놓으셨던데 일일이 어떻게 작성하는가 싶었다.
오잉? 그렇다. 자동으로 해주는 프로그램이 있던 것이다.
백준, 프로그래머스 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 |