프로그래밍공부/C#기초

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

Roslyn 2024. 1. 12. 13:31
반응형

우리는 지난 10개의 포스트를 통해, C# 이라는 언어를 함께 공부해 왔습니다.

이를 통해 프로그래밍이라고 불리우는 것에 대한 전체적인 개념 또한 함께 학습했습니다.

하지만 그건 프로그래밍이라고 불리우는 거대한 산에 초입에 불과합니다.

프로그래밍이란 것을 하기 위해, 앞으로 알아야할 것도 많고, 해야할 것도 많겠지만 때로는 많은 것들을 뒤로 하고 실제적인 것을 먼저 하는 것이 전체를 이해하는데 더 빠른 길이 되기도 합니다.

 

이제부터는 간단한 콘솔 프로그램을 하나 만들면서 Class의 개념을 이해하고, 전체적인 프로그램을 연습하는 시간을 가져볼까 합니다.

프로그램의 그 많은 개념들을 모두 이해하고 만들려고 하면, 여러분은 꽤 오랜 시간을 개념과 용어를 암기하는데 써야할 것입니다.

하지만 일단 만들어 봅시다.

만들면서 하나씩 하나씩 이해해 나가다 보면, 만드는 재미도 느끼면서 프로그램을 이해하는 과정이 될 수 있습니다.

 

첫번째 콘솔프로젝트를 생성해 볼까요?

먼저 새 프로젝트 만들기를 합니다.

 

다음으로 프로젝트의 템플릿은 콘솔 앱을 선택해 주세요.

 

 

프로젝트 이름은 ConsoleExample.Game01, 위치는 원하시는 위치를 지정해 주시고, 솔루션 이름은 ConsoleExample 라고 입력합니다.

 

 

 

추가정보에서는 프레임워크의 최신 버전(여기서는 .net8)을 선택하고 최상위문 사용 안함 체크를 합니다.

 

 

마지막으로 만들기 버튼을 누르면 프로젝트가 생성됩니다.

그럼 다음과 같은 코드를 만날 수 있습니다.

 

namespace ConsoleExample.Game01
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
}

 

이제 솔루션탐색기에서 폴더를 생성해 봅시다.

솔루션 탐색기에서 ConsoleExample.Game01 이라는 프로젝트 폴더에 마우스를 가져가서 우클릭 해줍니다.

그럼 다음과 같은 컨텍스트 메뉴가 나옵니다.

 

 

 

여기서 중간쯤에 있는 "추가"에 마우스를 가져가보시면 해당 프로젝트에 추가할 수 있는 다양한 요소들이 표시됩니다.

그중 새폴더를 선택해 줍니다.

 

프로젝트에서 우클릭하여 추가에서 새폴더 선택

 

 

새폴더의 이름은 "Entities" 라고 하겠습니다. 엔티티(Entity)의 복수형으로, 오늘 이야기는 바로 이 엔티티(Entity)에 관한 것입니다.

 

Entities 폴더를 생성

 

 

여러분 엔티티가 뭘까요?


"Entity(엔티티)"는 프로그래밍에서 여러 분야에서 사용되는 개념 중 하나로, 주로 데이터를 표현하거나 조작하기 위한 객체 또는 데이터 모델을 나타냅니다. 

다양한 프로그래밍 분야에서 Entity는 현실 세계에서 식별 가능한 하나의 개체 또는 데이터를 나타내며, 주로 데이터베이스, 객체 지향 프로그래밍, 웹 개발, 게임 개발 등에서 사용됩니다.

간단하게 설명하면, Entity는 어떤 정보나 데이터를 나타내는 하나의 단위로 생각할 수 있습니다. 

예를 들어, 온라인 상점을 구축한다고 가정해 봅시다. 

여기서 "제품"은 하나의 Entity가 될 수 있습니다. 각 제품은 고유한 특성(이름, 가격, 설명 등)을 가지고 있고, 데이터베이스에서는 각 제품을 나타내는 레코드가 Entity가 될 것입니다.

일반적으로 Entity는 속성(Attributes)과 동작(Methods)을 가질 수 있습니다. 

"제품" Entity의 경우 속성은 제품의 이름, 가격, 설명 등이 될 것이고, 동작은 제품의 정보를 업데이트하거나 특정 동작을 수행하는 메서드가 될 수 있습니다.

여기서 주목해야 할 중요한 점은 Entity가 현실 세계의 개체 또는 데이터를 모델링한다는 것입니다. 

이것은 데이터베이스(Database)에서는 테이블의 레코드, 개체지향 프로그래밍에서는 클래스의 인스턴스 등으로 나타날 수 있습니다. 

물론 아직은 데이터베이스이니 개체지향이니 하는 말이 낯설게 느껴질 수 있을 것입니다.

그것이 무엇이든간에, Entity의 개념은 프로그램의 구조를 설계하고 데이터를 효과적으로 다루기 위한 중요한 기본 개념 중 하나라는 점만 기억해 주세요.

 

자 여러분, 이제 우리는 게임을 만들기 위해 먼저 두개의 엔티티를 만들 것입니다.

Entities 폴더에서 마우스 우클릭을 해보시면 추가 -> 클래스를 선택합니다.

 

 

하단에 클래스 이름을 User.cs 라고 작성해준 뒤, 추가 버튼을 누릅니다.

 

뒤에 .cs 가 만드시 있어야 합니다.

 

 

이제 추가된 파일의 코드가 여러분 앞에 보일 겁니다.

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleExample.Game01.Entities
{
    internal class User
    {
    }
}

 

이번에는 Monster.cs 파일을 똑같은 방법으로 만들어 봅시다.

 

 

이제 Entities 폴더에는 두개의 Entity 클래스가 존재합니다.

하나는 User이고 다른 하나는 Monster 입니다.

 

유저(User)는 곧 플레이어를 의미하고, 몬스터(Monster)는 플레이어가 싸워야할 몹을 의미합니다.

 

여러분과 함께, 저는 텍스트 기반에 간단한 게임을 하나 만들어 볼 겁니다.

과거에 텍스트 기반에 멀티유저 게임인 MUD를 아시는 분이 계실지 모르겠네요.

약간 그런 감성으로 먼저 출발해 보면서, 프로그래밍의 개념을 익혀나간다면 조금 더 재밌게 개념을 이해해 나갈 수 있지 않을까 싶습니다.

 

이제 다음 시간에는 유저와 몹을 하나씩 정의해 보도록 하겠습니다.

 

 

 

 

반응형