본문 바로가기

정리 카테고리/실습_과제

Unity-4일차 실습-과제 (02-23)

1.1. 과제 내용: 몬스터의 이름 및 체력변화를 사칙연산을 활용하여 출력하기.

(요구사항)

-몬스터의 이름

-몬스터 체력

-체력의 감소(사칙연산필요)

-증가 또는 감소후의 체력

-변화된 체력과 전체 체력의 값을 %로 표현

-반복하여 체력회복

-반복한 내용 결과 출력


(요구사항을 하기위해 필요한것들)

-몬스터의 이름 => '이름은 저장할 문자열을 넣을 변수'

-몬스터 체력 => '체력을 저장할 실수를 넣을 변수'-(실수로 하는이유 체력은 소수점까지 필요하게 될지 모르니까)

-체력의 감소(사칙연산필요) => 사칙연산자 사용

-증가 또는 감소후의 체력 =>변수에 체력의 변화를 다시 저장

-변화된 체력과 전체 체력의 값을 %로 표현 => 비교를 하기위한 전체체력을 저장한 변수도 추가로 필요

                                                             %를 보여주기 위해 실수가 필요(위 몬스터 체력을 실수로 하는걸 계속 유지)

-반복하여 체력회복 => 반복하여 회복을 해야 되므로 반복문 사용

-반복한 내용 결과 출력 => 결과가 화면으로 나오기위한 Debug.Log 활용


1.2. 결과 화면:



1.3.소스코드:


	void Start () {
        float monHP = 4000f;
        float fullHp = 4000f;
        int dmg = 365;
        int hill = 8;
        int check;

        string monName = "우와왕";
        string manName = "으아앙";
        string totemNmae = "엄청작은";


        Debug.Log("몬스터가 있습니다!");
        Debug.Log("몬스터의 이름은 " + monName + " 입니다");
        Debug.Log("몬스터의 체력은 " + monHP + " 입니다!!");
        Debug.Log("몬스터는 " + dmg + "의 피해를 받았다");
        monHP = monHP - dmg;

        Debug.Log("몬스터의 남은체력은" + monHP + " 이다.");
        Debug.Log("몬스터 체력의 " + (monHP / fullHp * 100.0) + "% 남았다.");
        Debug.Log("주술사가 등장했습니다.!!");
        Debug.Log("주술사의 이름은 " + manName + " 입니다");
        Debug.Log("주술사가 " + totemNmae + " 토템을 설치 했습니다.");
        Debug.Log("그로인해 몬스터 " + monName + "가 영향을 받았습니다");
        Debug.Log("몬스터의 체력이 " + hill + "씩 회복합니다");

        for ( check=1; check<=10; check++)
        {
            Debug.Log("몬스터 " + monName + "의 체력이 " + hill + " 회복하였습니다.");
            monHP = monHP + hill;
        }

        check = check - 1;//반복문 종료 후 상태가 반복한 횟수보다 +1 되어있는 상태이다
                                  //+1 되어있는 이유는 초기화 부분에 check=1 이기 때문에
        Debug.Log("몬스터 " + monName + "가 " + "총 " + check + "회 회복을 진행하여 " + (hill * check) + " 회복했습니다");
        Debug.Log("몬스터의 현재 체력은 " + monHP + " 이고 전체 체력의 " + monHP / fullHp * 100 + "% 입니다.");
    }









2.1.과제 내용: 주석부분을 작성 (변수의 값을 예상)


2.2.1.  결과 화면 :

 





2.2.2.  소스 코드 :

    void Start() {
            int stamina = 1000;
            int nowStamina = 0;// ++현제 체력을 표편한 변수를 만든다.
            int workStamina = 100; //일 할때 사용되는 체력 
            int restStamina = 25; //쉬면 회복 되는 체력 
            int workHardStamina = 10; //야근 하면 추가로 사용되는 체력 
            float restStaminaPercent = 8.0f;    //맛있는걸 먹으면 추가로 전체 체력의 %가 회복됨
            nowStamina = stamina;
            //현재 체력 출력 
            Debug.Log("현재 체력은 " + nowStamina + " 입니다.");
            //일하러감 : 체력을 소비함 
            nowStamina = nowStamina - workStamina;
            Debug.Log("일을 하러 갑니다. \n 체력소비 " + -workStamina + " 남은체력 : " + nowStamina);
            //집에 옴 : 체력을 회복 
            nowStamina = nowStamina + restStamina;
            Debug.Log("퇴근하여 휴식을 취합니다. \n 체력회복 " + restStamina + " 남은체력 : " + nowStamina);
            //일하러감 (야근 했음 ): 체력을 소비함 
            nowStamina = nowStamina - workHardStamina - workStamina;
            Debug.Log("근무 + 야근을 하였습니다. \n 체력소비 " + -(workStamina + workHardStamina) + " 남은체력 : " + nowStamina);
            //집에 옴 : 체력을 회복 
            nowStamina = nowStamina + restStamina;
            Debug.Log("일을 하러 갑니다. \n 체력회복" + restStamina + " 남은체력 : " + nowStamina);
            //맛있는걸 먹음 : 최대 체력의 %가 회복됨 
            nowStamina = nowStamina + (int)(stamina * restStaminaPercent / 100);
            Debug.Log("맛있는 음식을 먹었습니다. \n 최대 체력의 " + restStaminaPercent + "%만큼 체력을 회복합니다. 남은체력 : " + nowStamina);
            //현재 나의 체력은???
            Debug.Log("현재 나의 체력은 " + nowStamina + " 입니다.");    
    }



2.3.1.  결과 화면 :




2.3.2. 소스 코드 :

	void Start () {
        int stamina = 1000;
        int workStamina = 100; //일 할때 사용되는 체력 
        int restStamina = 25; //쉬면 회복 되는 체력 
        int workHardStamina = 10; //야근 하면 추가로 사용되는 체력 
        float restStaminaPercent = 8.0f;    //맛있는걸 먹으면 추가로 전체 체력의 %가 회복됨
        //현재 체력 출력 
        Debug.Log("나의 현재 체력은 " + stamina + " 입니다.");
        //일하러감 : 체력을 소비함 
        Debug.Log("일하러 갑니다. 체력은 " + (stamina - workStamina) + " 입니다.");
        //집에 옴 : 체력을 회복 
        Debug.Log("집에 왔습니다. 체력은 " + (stamina - workStamina + restStamina) + " 입니다.");
        //일하러감 (야근 했음 ): 체력을 소비함 
        Debug.Log("일하러 갑니다. 야근도 합니다. 체력은 " + (stamina - workStamina + restStamina -workStamina -workHardStamina) + " 입니다.");
        //집에 옴 : 체력을 회복 
        Debug.Log("집에 왔습니다. 체력은 " + (stamina - workStamina + restStamina - workStamina - workHardStamina + restStamina) + " 입니다.");
        //맛있는걸 먹음 : 최대 체력의 %가 회복됨 
        Debug.Log("맛있는걸 먹었습니다. 체력이 " + restStaminaPercent + "% 회복 됩니다.");
        //현재 나의 체력은???
        Debug.Log("나의 현재 체력은 " + (stamina - workStamina + restStamina - workStamina - workHardStamina + restStamina + (stamina * restStaminaPercent / 100)) + " 입니다.");
    }