2024/02 58
-
마법사용행위를 두개 이상 생성하고 관리해보자. 배열형태로 관리하면서, 객체의 여러가지 예외상황도 재처리할 것 이다. WIzard_Skill 각 스킬의 관리는 위와같다. 위의 4개 이벤트를 기준으로 마법으로 오버라이딩하여 사용한다. Heal 회복마법의 관리이다. 마법을 사용하고, 사용종료했을 때의 객체관리를 이야기한다. Spell이벤트가 발동되면, 부모값을 참조하여, 부모의 Move여부를 체크또는 체크해제하고, Player에서 Montage를 재생한다. ENd는 마법사용이 종료되었을 때 발동함으로, CanMove를 역으로 바꾸어주고, 체력의 경감여부와 경감된 데이터를 기입해준다. Warp 일단, Tick마다, 해당 마법의 활성화 여부와, 트레일(커서)의 충돌을 확인하고, 충돌된 데이터가 존재한다면, 충돌데..
-
Heal을 사용하기 위해 객체를 만들어보자. BP_Wizard BP_Wizard에 BP_Wizard_Skill형태의 객체를 만들어서 Skill을 관리하게 한다. Heal이 될 수 도 있고, 다른 마법이 될 수 도 있다. 아예 배열형태로 구현, 관리하여 얻은 순서대로 마법을 바꾸고 시연할 수 도 있을 것이다. 변수로 각 해당되는 Skill을 객체로 받고, Skill에 현재 플레이어가 들 고 있는 마법을 기입하고, 해당 마법을 플레이어가 사용하게 되는 것 이다. 모든 Skill은 각자의 Attack이벤트를 가지고 있으며, 이러한 Attack이벤트를 오버라이딩하여, 자식객체에 해당하는 이벤트를 실행하는 원리이다. Weapon Change 정리 무기를 바꿔끼는 이벤트를 다음과 같이 정리해준다. Off Selec..
-
문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers[..
-
마법 이펙트와 스킬여부를 분리하여 관리해본다. 상속관계 정리 마법은 위와같이 관리한다. Wizard_Skill을 통해 Skill을 관리하고, Wizard를 상속받는다. Heal은 Wizard_Skill을 상속받아 이펙트나 효과를 관리한다. 즉, Wizard->Wizard_Skill->Heal 순으로 마법이 관리된다. BP_Wizard_Skill 오버라이딩할 함수들을 정의해놓는다. 위의 함수들을 바탕으로 재구현할 것 이다. BP_Heal Heal스킬의 바탕은 위와같다. 소유자를 확인하고, 해당 소유자가 유효할 경우, 소유자의 오너->소유자의 오너 = 플레이어 에게 힐 애니메이션을 출력하게 하면 된다.
-
문제 설명 n개의 섬 사이에 다리를 건설하는 비용(costs)이 주어질 때, 최소의 비용으로 모든 섬이 서로 통행 가능하도록 만들 때 필요한 최소 비용을 return 하도록 solution을 완성하세요. 다리를 여러 번 건너더라도, 도달할 수만 있으면 통행 가능하다고 봅니다. 예를 들어 A 섬과 B 섬 사이에 다리가 있고, B 섬과 C 섬 사이에 다리가 있으면 A 섬과 C 섬은 서로 통행 가능합니다. 제한사항 섬의 개수 n은 1 이상 100 이하입니다. costs의 길이는 ((n-1) * n) / 2이하입니다. 임의의 i에 대해, costs[i][0] 와 costs[i] [1]에는 다리가 연결되는 두 섬의 번호가 들어있고, costs[i] [2]에는 이 두 섬을 연결하는 다리를 건설할 때 드는 비용입니다..
-
9.2 코드 재사용을 위한 상속 지금껏 상속을 이용하기 위한 기본적인 문법을 익혔다. 이제는 상속이 중요하게 활용되는 케이스를 알아보자. 상속은 이미 존재하는 코드를 다시 활용하기 위한 핵심 창구이다. 실제 애플리케이션 코드 재사용을 위해 코드가 어떻게 상속되고 이용되는지 살펴보자. 9.2.1 날씨 예보를 위한 WeatherPrediction클래스 간단한 날씨 예보 프로그램을 만들어야 한다고 하자. 이 프로그램은 섭씨로도 작동하고 화씨로도 작동해야 한다. 그리고 날씨 예보는 별도의 전문적인 분야이기 떄문에, 직접 만들지 못하고 전문 업체가 만든 클래스 라이브러리를 이용한다. 이 라이브러리는 현재 온도와 목성과 화성 사이의 거리를 기반으로 날씨를 예측한다. ( 물론 이러한 예측 방법은 가상적인 설정이다.)..