C#/수업 과제

메서드 연습4

Game Client Lee Hwanguk 2023. 1. 4. 01:25
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Net.Mime.MediaTypeNames;

namespace ConsoleApp4
{
    class App
    {
        float nextExp = 115f;
        float myExp = 89.5f;
        int maxLevel = 2;
        int level = 1;
        public App()
        {
            Console.WriteLine("App");

            GetExp(19f);
            GetExp(33.14f); //경험치 획득, 레벨업, 최대레벨도달
            GetExp(33.14f); //실행 X
        }

        //경험치(19)를 획득 했습니다.    (108.50/115) 94%
        //경험치(33.14)를 획득 했습니다.    (115/115) 100%
        //레벨업을 했습니다. 
        //2레벨이 되었습니다.   
        //최대 레벨에 도달 했습니다. 

        void GetExp(float getExp)
        {
            myExp = myExp + getExp;
            float toLevelUp = (myExp / nextExp) * 100;

            if (myExp <nextExp)
            {
                Console.WriteLine("경험치를 {0}획득했습니다. ({1}/{2}){3:0}%", getExp, myExp, nextExp, toLevelUp);
                Console.WriteLine();
            }

            else if(myExp >= nextExp)
            {
                int levelUp=level++;
                Console.WriteLine("경험치를 {0}획득했습니다. ({1}/{1})100%", getExp, nextExp);
                Console.WriteLine("레벨업을 하였습니다. 레벨은 {0}입니다", maxLevel);
                Console.WriteLine("최대 레벨에 도달하였습니다.");
                Console.WriteLine();

                if (levelUp == maxLevel)
                {
                    Console.WriteLine("최대 레벨에 도달하였습니다. 더 이상 레벨업을 할 수 없습니다.");
                    Console.WriteLine();
                }
            }
            
            

        }
    }
}

#최대 레벨에 도달했지만 경험치 획득 문장이 계속 나온다

#최대레벨과 현재레벨이 같다면 경험치 획득이 뜨지 않아야한다