과제 17

Day21 - Linked List(연결 리스트) 과제

Buff 클래스 제작버프의 이름을 담을 문자열 필드버프의 지속시간을 담을 정수형 필드생성자를 작성하여 위 필드를 초기화 진행BuffManager 클래스필드로 LinkedList 를 가지게 함구현해야 할 메서드들AddBuff(string name, int duration): 새로운 버프를 링크드리스트에 추가합니다.UpdateBuffs: 모든 버프의 지속 시간을 1 감소시키고, 지속 시간이 0인 버프는 제거합니다.제거될 때 버프 이름과 "효과 종료" 메시지를 출력합니다.ShowActiveBuffs: 현재 활성화된 모든 버프의 이름과 남은 지속 시간을 출력합니다.메인서 테스트 해보기BuffManager 객체를 생성하고 다양한 버프를 추가합니다.AddBuff → UpdateBuffs → ShowActiveBuf..

과제 2024.12.18

Day19 - 큐, 리스트 심화

심화 과제 ) 큐 사용Milk라는 클래스와 VendingMachine 이라는 클래스를 하나 만들겠습니다. Milk의 맴버변수로, 유통기한을 나타내는 int를 작성해주시기 바랍니다.VendingMachine 클래스에는 Queue를 활용하여 Milk를 담을 수 있는 컨테이너를 필드로 작성하여 주시기 바랍니다.벤딩머신의 메소드로, 우유를 집어넣는 코드와 우유를 꺼내는 기능을 작성하되, 꺼낼때는 콘솔에 유통기한 및 큐에 남아있는 갯수를 출력하는 기능을 작성해주시기 바랍니다. 갯수가 0일때 우유를 꺼내는 기능을 호출하게 되면 꺼내는 대신 다른 멘트가 나오게끔 작성해주시길 바랍니다.. internal class Milk { public int shelfLife;//유통기한 } internal class Ve..

과제 2024.12.17

Day18 - 인터페이스 심화

https://record5555.tistory.com/26 Day18 - 인터페이스 일반 과제과제 ) 인터페이스 구현RPG 게임에 수많은 NPC가 있습니다. 어떤 NPC는 그냥 아무 기능 없이 가끔 랜덤한 시간에 대사를 뱉기도 하고, 특정 NPC는 플레이어와 G와 같은 키로 상호작용을 하여 강화 혹record5555.tistory.com 심화 과제) 근거리에 있을때만 상호 작용 가능하게 구현플레이어는 상호작용 가능한 모든 NPC들과, 언제나 소통할 수 있는 건 아닙니다. 거리가 가까울때만 상호작용이 가능합니다. 이를 구현하기 위해 필요한 다양한 필드, 메서드, 프로퍼티등을 구현합니다.메인서 다양한 종류의 NPC 를 만들고, 모든 NPC를 담은 NPC 배열을 하나 만듭니다플레이어에게 ShowInterac..

과제 2024.12.17

Day18 - 인터페이스 일반 과제

과제 ) 인터페이스 구현RPG 게임에 수많은 NPC가 있습니다. 어떤 NPC는 그냥 아무 기능 없이 가끔 랜덤한 시간에 대사를 뱉기도 하고, 특정 NPC는 플레이어와 G와 같은 키로 상호작용을 하여 강화 혹은 창고와 같은 기능을 수행할 수 있습니다. NPC 뼈대 클래스 작성모든 NPC들이 상속받을 추상클래스를 하나 만듭니다.모든 NPC는 좌표 x를 가지고 있습니다.모든 NPC는 이름을 가지고 있습니다.플레이어어와 상호작용 할 수 있는 특정 NPC들이 사용할 인터페이스 제작이름은 IInteractable을 추천드립니다.이 인터페이스 속엔 Interact() 메서드를 선언합니다.추가적인 내용을 담고 싶다면 프로퍼티, 메서드를 더 넣습니다.NPC 구현(모두 위에서 만든 추상클래스 하나를 상속받습니다)강화 NP..

과제 2024.12.13

Day17 - 상속,추상 class

심화 과제 1Trainer라는 클래스를 만들고, 해당 구현 과제를 추상 클래스를 활용하여 진행하려 합니다. 다음 구현사항에 맞추어 Trainer클래스를 완성시켜 주시기 바랍니다.Monster라는 추상 클래스를 새로 하나 만들고, 해당 클래스의 필드로는 정수형 레벨, 열거형 몹타입, 그리고 문자열 이름을 넣어서 만들어 주시기 바랍니다. Monster 추상 클래스에 BaseAttack이라는 abstract 메소드도 추가하여 주시기 바랍니다.abstract class Monster{ public int MonsterLevel; public string MonsterName; public MobType MonsterMobType; //abstract 함수는 내용을 쓸수가 없다. ..

과제 2024.12.12

Day16 - static 심화

https://record5555.tistory.com/23 Day16 - static 1~6과제과제 1) static 직접 만들어 보기일반 클래스를 하나 만든 후, 맴버 변수로 private static 정수를 하나 가지게 하자. 일반 클래스 public 메서드로 해당 static 정수를 하나 1 올리는 메서드와, 해당 static변record5555.tistory.com  심화 과제 3) 업적 시스템새로운 cs 파일을 만들고, Achievement 클래스를 생성. 아래 구현 사항을 보다가 필요해보이는 내용이 발견되면 자유롭게 추가 구현 ㄱㄱ일반 필드 및 프로퍼티string Name: 업적 이름string Description: 업적 설명int Goal: 목표 수치int Progress: 현재 진행 수..

과제 2024.12.12

Day15 - 오버로딩 심화

https://record5555.tistory.com/21 Day15 - 오버로딩 1,2,3단계과제 1) Hero 클래스 생성새로운 cs 파일을 만들고, Hero 클래스 생성필드 혹은 프로퍼티문자열 영웅의 이름정수형 영웅의 체력정수형 영웅의 공격력정수형 영웅의 방어력생성자기본 생성자: "Unknowrecord5555.tistory.com 심화 과제 1위에서 main문에 적힌 모든 코드 삭제. 메인문은 아래 코드만 적음class Program{ static void Main(string[] args) { Game game = new Game(); game.Play(); }}Game이라는 클래스를 새로운 cs에 작성Game 클래스는 맴버변수로 Hero 하나와 Mon..

과제 2024.12.10

Day15 - 오버로딩 1,2,3단계

과제 1) Hero 클래스 생성새로운 cs 파일을 만들고, Hero 클래스 생성필드 혹은 프로퍼티문자열 영웅의 이름정수형 영웅의 체력정수형 영웅의 공격력정수형 영웅의 방어력생성자기본 생성자: "Unknown Hero"로 영웅 이름을 설정하고, HP는 100, 공격력은 20, 방어력은 10으로 설정오버로딩 생성자: 이름, 체력, 공격력, 방어력을 모두 외부에서 세팅해 줄 수 있는 생성자도 하나 생성메서드피격을 나타내는 메서드 TakeDamage반환은 없음. 인자값은 정수형 damage받은 피해를 체력에서 차감, 방어력은 피해를 경감시키는 역할예를 들어, 인자로 넘어온 데미지는 40, 방어력은 10이면 총 30 데미지 받음몬스터 공격하는 메서드 AttackMob반환 없음. 인자값은 아래 만들 Monster형..

과제 2024.12.10

Day14 - Class 심화

https://record5555.tistory.com/19 Day14 - Class 1,2,3단계과제 1) 클래스 생성 실습새로운 cs파일을 하나 생성 합니다. 그 속에 Car라는 클래스를 만든 후,필드로 문자열 차이름,정수형 자동차 넘버,정수형 자동차 체력internal class Car{ //다른 class에서 참조record5555.tistory.com심화 과제 위 몬스터 클래스를 지우지 말고 추가로 별도의 cs를 새로 만들고 Item이라는 클래스를 따로 제작.필드형으로는 ???형 아이템 이름??형 아이템타입??? 형 가격internal class Item{ public string ItemName; public string ItemType; public int ItemPrice;..

과제 2024.12.09