2020. 4. 14. 14:52ㆍ개발일지
이번에는 방마다 랜덤하게 상자를 생성하는 작업을 진행했다.
무기 상자, 음식 상자 두가지 상자중 하나를 방마다 랜덤하게 배치하고, 상자에 담겨있는 아이템도 실행시마다 랜덤하게 나오도록 구현했다.
아이템 상자
아이템 상자는 무기 상자와, 소비 아이템인 음식 상자 두가지를 배치했다.
상자 클래스는 상자를 열면 나타날 아이템을 하나씩 가지고 있고, 상자에서 나올 수 있는 아이템 리스트를 가지고 있어야 한다. 그리고 상자가 가질 아이템을 생성하는 SetItem 함수와 상자를 열고 아이템을 바닥에 배치하는 OpenChest 함수를 가진다.
아이템 리스트는 지난번 몬스터를 랜덤생성할때 사용했던 Spawner 클래스를 활용했다.
기존 Spawner 클래스는 MonsterSpawner 클래스로 변경하고, ItemSpawner 클래스를 새로 생성해
몬스터와 아이템 스포너를 분리해 주었다.
Chest 클래스를 상속받는 ChestWeapon 클래스와 ChestFood 클래스는 각각 자신이 가질 수 있는 아이템 리스트를 가지게 했다.
다시한번, SetItem 함수는 상자가 가질 아이템을 생성하고 OpenChest 함수는 상자를 파괴하고 가지고 있는 아이템을 바닥에 내려놓는다.
아이템 상자는 종류가 많지 않으므로 switch 문으로 생성해 주었다.
상자가 방마다 랜덤 생성되는 것을 확인했다.