게임 밸런싱할 때 사용하기 좋은 배율 계산기를 직접 만들었습니다.

using System;

class Program
{
    public static void Main()
    {
        // 입력값을 받을 변수 선언
        double initialAttack, finalAttack, initialMonsterHP;
        int stages, hitsToKill;

        // 사용자에게 입력 요청
        // Console.Write("총 스테이지 수 (stages): ");
        stages = Convert.ToInt32(Console.ReadLine());

         // 몬스터를 죽이기 위한 공격 횟수
        hitsToKill = Convert.ToInt32(Console.ReadLine());
        
        // 첫 스테이지 캐릭터 공격력
        initialAttack = Convert.ToDouble(Console.ReadLine());

        // 첫 스테이지 몬스터 체력
        initialMonsterHP = Convert.ToDouble(Console.ReadLine());

        // 마지막 스테이지 캐릭터 공격력
        finalAttack = Convert.ToDouble(Console.ReadLine());

        // 공격력이 각 스테이지마다 얼마나 증가하는지 계산
        double attackIncrement = (finalAttack - initialAttack) / (stages - 1);

        Console.WriteLine("각 스테이지의 x 값:");

        for (int stage = 1; stage <= stages; stage++)
        {
            // 현재 스테이지의 공격력 계산
            double currentAttack = initialAttack + (stage - 1) * attackIncrement;

            // 현재 스테이지에서 몬스터를 죽이기 위해 필요한 체력 설정
            double requiredMonsterHP = currentAttack * hitsToKill;

            // x 값 계산 및 반올림
            double xValue = Math.Round((requiredMonsterHP - initialMonsterHP) / initialMonsterHP);

            // 결과 출력
            Console.WriteLine($"{xValue}");
        }
    }
}

코드 설명

  1. 네임스페이스 포함: using System;는 기본적인 콘솔 입출력 기능을 제공하는 네임스페이스를 포함합니다.
  2. 클래스 및 Main 메서드 정의: Program 클래스를 정의하고, Main 메서드를 통해 프로그램의 실행을 시작합니다. Main 메서드는 C# 프로그램의 진입점입니다.
  3. 변수 선언: 프로그램에서 사용할 변수들을 선언합니다.
    • initialAttack: 첫 번째 스테이지에서 캐릭터의 공격력.
    • finalAttack: 마지막 스테이지에서 캐릭터의 공격력.
    • initialMonsterHP: 초기 몬스터의 체력.
    • stages: 총 스테이지 수.
    • hitsToKill: 몬스터를 처치하기 위한 히트 수.
  4. 사용자 입력 요청: 사용자가 입력한 값을 받아오기 위해 Console.WriteConsole.ReadLine() 메서드를 사용하여 각 변수를 초기화합니다.
  5. 공격력 증가량 계산: attackIncrement 변수를 사용해 각 스테이지에서 공격력이 얼마나 증가해야 하는지를 계산합니다.
  6. 결과 출력 시작: 각 스테이지에서 몬스터의 체력 변화량을 계산하기 전에 안내 메시지를 출력합니다.
  7. For 루프와 x 값 계산: for 루프를 사용해 각 스테이지에 대해 현재 공격력을 계산하고, 몬스터의 체력 요구량을 구한 후 xValue를 출력합니다.
    • 현재 공격력은 초기 공격력과 증가량을 기반으로 계산되며, 요구되는 몬스터 HP는 현재 공격력에 히트 수를 곱하여 구합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다