2024/01/15 7

C# 프로그램 예제연습 - 텍스트게임만들기 - 08

자 이제 그동안 배운걸 총동원해서 Program.cs 에서 게임의 흐름을 작성해 봅시다. 먼저 기존에 작성했던 코드 맨 아래에 Dungeon() 함수를 추가해 줍니다. static void Main(string[] args) { Init(); player.Name = GetUserName(); Hello(player.Name); Dungeon(); } 던전함수는 플레이어가 던전에 입장하면 하게될 전체 로직이 작성될 곳입니다. 최초에 등장할 좀비를 포함하여 총 20마리의 몹을 처치하고, 모두 제거하고 나면 보스인 뱀파이어를 만나야 합니다. static void Dungeon() { IMonsterAction monster = null; //현재 상대할 몬스터입니다. Random random = new Ra..

C# 프로그램 예제연습 - 텍스트게임만들기 - 07

자, 이번에는 이제 보스 몹에 대한 클래스를 만들어 봅시다. Entities폴더에서 우클릭하여 [추가] - [클래스]를 선택합니다. Vampire.cs 를 입력하고 다음과 같이 클래스를 작성합니다. using ConsoleExample.Game01.Abstracts; namespace ConsoleExample.Game01.Entities { internal class Vampire : Monster, IMonsterAction { public Vampire() { this.Name = "뱀파이어"; this.IsDead = false; this.Health = 400; this.Attack = 20; this.Guard = 5; } public string GetName() { return this.N..

C# 프로그램 예제연습 - 텍스트게임만들기 - 06

오늘은 몹들을 등장시키기 위한 작업을 할 겁니다. 제 구상은 이렇습니다. 일전에 배운 배열에 몹들을 랜덤하게 담을 겁니다. 총 20마리의 몹을 배열에 담아서 배열에 있는 모든 몹을 물리치면 보스를 만나고, 보스를 이기면 끝나는 형식이 될 겁니다. 그런데 각기 다른 몹들을 배열안에 일관되게 담고, 동일한 행위를 호출하기 위해서는 이들에게 동일한 기능이 있다는 것을 프로그램에게 알려줘야 합니다. 우리는 그걸 인터페이스(interface)라고 부릅니다. 인터페이스는 규칙이에요! 예를 들어, 교실에서 학생들은 선생님이 정한 규칙을 따라야 해요. 그 규칙에는 일어서기, 문을 열고 닫기, 친구에게 인사하기 등이 있을 거에요. 이렇게 학생들이 지켜야 하는 규칙이 바로 '인터페이스'라고 생각할 수 있어요. 컴퓨터 프로..

C# 프로그램 예제연습 - 텍스트게임만들기 - 05

우리는 기초연습때 콘솔로 이름을 입력 받는 것과 프로그램의 흐름을 함수로 나누는 것을 연습해 보았습니다. 아직 잊은 거 아니겠지요? 이제 그 내용을 복습해 보도록 하겠습니다. 프로그램의 진입점에서 함수를 호출해서 게임이 진행되게 할 겁니다. 먼저 Program 함수 내에 나 자신을 선언해 줘야 하므로, User 클래스를 player란 이름으로 선언해 줍니다. static User player; static void Main(string[] args) { Init(); player.Name = GetUserName(); Hello(player.Name); } 기존에 만들었던 함수와 동일한 구조로 작성하되, 달라진 부분은 User 라는 클래스를 player란 이름의 인스턴스로 만들어서 사용한다는 점만 달라졌..

C# 프로그램 예제연습 - 텍스트게임만들기 - 04

지난 시간에 우린 몹(Monster)에게 공격력과 방어력이라는 공통 항목을 추가해 주는 과정을 통해 상속에 대해 이야기 했습니다. 그런데 공격력과 방어력은 사용자에게도 있어야 겠죠? 그러니 우리 User.cs 에도 동일하게 공격력과 방어력을 넣어줍시다. internal class User { public bool IsDead { get; set; } public string Name { get; set; } public int Health { get; set; } public int Attack { get; set; } public int Guard { get; set; } public User() { this.IsDead = false; this.Name = string.Empty; this.Healt..

C# 프로그램 예제연습 - 텍스트게임만들기 - 03

지난 시간에 이어 이번에는 몹(Monster)를 정의해 봅시다. 우리는 이미 User.cs와 동일하게, IsDead, Name, Health 라는 3가지 옵션을 정의했습니다. 하지만 몹은 종류가 다양하죠. 그래서 몹이라는 동일 카테고리 안에 3가지 유형의 몹을 만들어보고자 합니다. 그리고 3가지 몹은 각기 다른 성향을 가지고 있을 겁니다. 하지만 모두가 공통된 "몹(Monster)" 속성을 가지고 있을 겁니다. 세가지 몹이 몹이라는 공통 속성을 가지기 위해 우리는 "상속"이란 개념을 배우게 될겁니다. 상속은 어떤 물건이나 특징을 다른 것에게 물려주는 개념이에요. 예를 들어, 우리가 가족에서 누군가로부터 물려받는 것을 생각해 볼 수 있어요. 상속을 프로그래밍에 적용하면, 새로운 것을 만들 때 이미 있는 것..

반응형