4일차. 인벤토리 List 활용 & 스테이지 진행
C#/텍스트 게임 "Shelter"2023. 11. 9. 19:414일차. 인벤토리 List 활용 & 스테이지 진행

📌 인벤토리 List 활용 List를 활용한 인벤토리 아이템 타입 추가 및 정렬 기능 추가 🔧 ToList List screenInventory = Inventory.ToList(); Screen에 보여줄 용도로 List 값 복사 List는 참조 형식이다. 단순히 List1 = List2 와 같은 형식으로 대입하면 List2의 주소값만 List1에 대입되어 List1의 값이 변경되었을 때 List2의 값도 변경된다. ToList()를 사용하면 참조하지 않고 값만 복사 할 수 있다. 🔧 OrderBy, OrderByDescending // 아이템 이름 오름차순 정렬 (ㄱㄴㄷ 순서) screenInventory = Inventory.OrderBy(item => item.Name).ToList(); // 아이..

C#/텍스트 게임 "Shelter"2023. 11. 8. 12:323일차. 스크린 관리

📌 준비 로비, 메인, 인벤토리, 장비관리 등등, 앞으로 화면을 출력하고 제어할 클래스 구현 📌 개발 📄 ScreenManager.cs public class ScreenManager { // 스크린 타입에 맞게 화면 출력 public void DisplayScreen(ScreenType screenType) { IScreen screen = screenType switch { ScreenType.Main => new ScreenMain(), ScreenType.MyInfo => new ScreenMyInfo(), ScreenType.Inventory => new ScreenInventory(), ScreenType.Equipment => new ScreenEquipment(), _ => new Scre..

2일차. 장비 관리 기능 구현
C#/텍스트 게임 "Shelter"2023. 11. 7. 11:442일차. 장비 관리 기능 구현

📌 준비 상단 와이어프레임을 기준으로 Character.cs 에서 아이템 리스트와 장비관리 클래스를 추가하여, 장비 관리 기능을 만들려고 한다. 보유중인 아이템 목록 보여주기 장착중인 아이템 따로 표시 보여주기 각 타입별로 하나의 아이템만 장착가능 📌 개발 📄 Equipment.cs // 장비 슬롯 타입 열거형 public enum EquipSlot { Weapon, Armor, } // 플레이어 장비 관리 클래스 public class Equipment { // Key : 장비 슬롯, Data : 해당 장비 아이템 private Dictionary equipped = new(); // 클래스 생성자 public Equipment() { var slots = Enum.GetValues(); foreach..

C#/텍스트 게임 "Shelter"2023. 11. 6. 13:411일차. 텍스트 게임 "Shelter" 스타트

1. 개요 포스트 아포칼립스 분위기 장르로, 황폐한 세계의 안전한 장소인 "Shelter" 를 찾아가는 간단한 텍스트 게임 만들기 2. 개발 진행 - 로비 화면 (로비 디자인) HTML 삽입 미리보기할 수 없는 소스 상단 사이트에서 내가 원하는 디자인의 로비 타이틀을 뽑아오고, 프로젝트의 글로벌 변수들을 모아놓을 클래스를 정의한다. 📄Globals.cs // 전역 변수 모음 클래스 public static class Globals { // 로비 타이틀 아스키 아트 public const string LobbyTitle = @" _____ _ _ ______ _ _______ ______ _____ / ____| | | | | | ____| | | |__ __| | ____| | __ \ | (___ | ..

image