본문 바로가기

분류 전체보기100

TextRPG - 텍스트 색상 변경 / CheckValidInput C# 스크립트를 이용해 콘솔 RPG 게임 만들기 텍스트 색상 변경 함수 콘솔을 실행했을 때 WriteLine 단위로 색상을 변경하기 위해 보통 아래와 같은 코드를 사용한다. Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("1. 인벤토리"); Console.ResetColor(); 만약 RPG 게임처럼 매 장면마다 색상 변환이 필요한 상황에서 위와 같은 코드를 계속 사용하는 것은 개발자도 불편하고, 스크립트도 더 무거워진다. 이 때, 색상변환에 필요한 코드를 함수로 만든다면 코드 입력을 효율적으로 할 수 있다. private static void ShowHighlightedText(string text) { Console.Foregroun.. 2023. 11. 13.
[로스트아크] 로스트아크의 5주년에는 감동이 있다. 2023년 11월 7일 로스트아크가 다섯 번째 생일을 맞았다. 바람이 차가워지고 연말 냄새가 성큼 다가오면 로스트아크의 대축제가 시작된다. 특히 올해, 기다림의 시간이 길었던 로아 유저들에게 이번 5주년 축제는 더욱 특별하다. 로스트아크 5주년 축제를 즐기면서 느낀 몇 가지를 적어보고 싶다. 맨션 오브 아크라시아 섬에 입장하면 불이 꺼진 저택에 유저가 불을 밝히는 퀘스트가 진행된다. 퀘스트 속 수많은 비유와 상징들은 저택이 '로스트아크' 그 자체임을 알려준다. 우여곡절이 많았던 지난 5년 간의 이야기를 정말 잘 담아낸 시나리오라고 생각한다. 특히 인상깊었던 부분은 불이 꺼진 저택을 '감정'으로 채우는 연출. 로스트아크라는 게임이 유저의 존재로 빛을 낸다, 살아 숨쉰다는 것을 전하는 감동적인 메세지였다. .. 2023. 11. 11.
TextRPG - 인벤토리 생성 C# 스크립트를 이용해 콘솔 rpg 게임 만들기. 필수 과제 3가지 1) 인벤토리에 아이템을 띄우기 2) 장착관리 누르면 장착관리 페이지로 넘어가기 3) 장착한 아이템 E 표시하고 캐릭터 스탯에 반영하기 2~3주차 강의자료를 보면서 어떤 코드를 활용할 수 있을 지 생각했다. 인벤토리 생성 foreach 문 int[] itemID = { 0, 1, 2, 3 }; foreach (int itemID in ItemInfo) { Console.WriteLine(item); } Item 클래스에 아이템 정보 (ItemId, ItemName, ItemAtk, ItemDef, ItemComm)를 입력하고 foreach 문을 통해 ItemId 를 불러와 해당 번호에 맞는 아이템의 정보를 출력하기. DisplayInve.. 2023. 11. 10.
같은 스크립트에서 하나의 솔루션만 작동시키기 같은 프로젝트 내 게임이 여러 개일 때 하나만 플레이하기 같은 프로젝트 안에 2개 이상의 게임 script를 만든 경우 디버깅을 하면 Main이 하나가 아니라며 오류가 떴었다. 그럴 때마다 실행하고자 하는 script를 제외한 나머지를 모두 ctrl+K+C를 사용해 주석처리 했는데.. 무척 번거로웠다. 때마침 오늘 발표 시간에 동기분께서 보다 깔끔하게 script를 디버깅하는 방법을 알려주셨다. (무한 감사😊) 1) Program 스크립트 만들기 (Main 제어 역할) Program 이라는 script를 새로 만들어 이곳에서만 Main을 제어하도록 한다. (따라서 기존 게임 script 에 들어있던 모든 Main 을 수정해야 한다.) Main 안에는 Script명.Start(게임명) 형식으로 코드를 작성.. 2023. 11. 9.
C# 콘솔 - Snake 게임 만들기 C# 문법 종합반 3주차 강의를 듣고 3주차 과제를 만들었다. 클래스와 변수명 등은 과제의 샘플코드를 참고했다. 각 변수를 움직이게 하는 주요 로직에 대해 계속 공부했다. (함수 해석하기) Snake (뱀과 먹이 게임) Problem 1 게임 시작 시 뱀이 움직이지 않고 바로 GAME OVER 되는 현상 원인은 Snake 메서드의 Direction 설정 오류이다. // Snake.cs public class Snake { public List body; public Direction direction; public Snake(Point tail, int length, Direction _direction) { direction = _direction; body = new List(); for (int i.. 2023. 11. 8.
조건문의 이해 / 배열과 리스트 주요 학습 키워드 1. for문과 while문의 차이 for 문과 while문이 수행하는 내용은 같다. 개발자는 코드의 흐름에 따라 어떤 반복문을 사용할지 선택할 수 있다. 1) for 문은 반복 횟수가 직관적으로 보일 때 사용하며, 반복 조건을 한 눈에 확인할 수 있어 가독성이 좋다. 2) while 문은 반복 조건이 뚜렷하게 보일 때 사용하며, 반복 조건에 따라 조건문의 실행 횟수가 달라질 수 있고 for 문에 비해 더 간결한 코드를 만들 수 있다. 2. 배열 배열을 이용해 코드에서 동일한 데이터 유형을 갖는 요소를 한 번에 모아 관리할 수 있다. int[] array1 = new int[5]; // 크기가 5인 int형 배열 선언 string[] array2 = new strin.. 2023. 11. 7.