포스트

[TIL]2025-07-15 TextRPG - 팀 프로젝트 절망편

[TIL]2025-07-15 TextRPG - 팀 프로젝트 절망편

🗓️ TIL - 메인 : 팀 프로젝트로 만드는 TextRPG 2편.

부제 : 나는 누구? 여긴 어디?

✅ 오늘 한 일

  • 매개변수 호출
  • C# 배열/리스트 체크리스트
  • 출력 코드 공부
  • 자아성찰

매개변수 넘겨보기 1탄

반복되는 코드를 최소화하고싶었다. 매개변수/클래스/객체지향 등등.. 함수화하면 분명히 반복되는 코드를 줄일수있을텐데 툭하면 에러가 나와서
겁먹고 안하게되는거같다.(그래서 지난 프로젝트때 main.cs에 다 했지…)

문자열.jpg
전투 로직을 구현하면서 스테이터스도 그렇고…다른것도 분명 자주 호출할건데
튜텨님이 매개변수로 받으면 된다고했지만 사용법이 낯설어서 오늘은 좀 써봐야겠다.

문자열.jpg
이렇게 하면 되나…

GPT Chance 문자열.jpg
아…매개변수를 받는다는게 이미 객체를 호출하면서 가져오기때문인건가?
햇갈리네 문자열.jpg
ㅇㅎ player 객체를 변수 A로 받아왔다는 거구나.
어차피 아래쪽에 선언할때는 player 인수로 전달 시킬거긴하니까.
문자열.jpg 굿!

매개변수 넘겨보기 2탄

매개변수 넘겨보기 1탄에서 반복되는 함수를 처리해봤다.
이제 전투 로직에서 공격을 함수화해볼까.(함수라는 단어가 맞는지는 모르겠다).
문자열.jpg 이 시점에서 일반 공격을 어떻게하면 함수화 할수있을지 고민하다가 캡쳐를 못했다.
다만, 내 고민 사항은 일반공격,스킬공격,아이템사용 어떻게 공통으로 묶느냐였다.
근데 뭔가를 사용한다…이거는 알겠는데 뭘 묶어야될지 도저히 감이 안왔다.

튜텨님 찬스를 쓰긴했지만, 일반공격, 스킬공격 모두 무언가를 타겟하는 그자체로 묶는게
가능하다하셨다.
흠…어차피 공격하는건 Player거나 Enemy뿐일거같은데..
문자열.jpg 아주 단순한 한줄코드지만 타겟팅이라는 속성이 공통화되었다.
객체 지향 너란녀석…어렵긴한데 오늘 12시간이 꽤 보람참을 느낀다.
이제 이걸로 내일은 스킬 공격 구현 해봐야지 >.<

배열 - 특정 구간 복사

배열을 복사할때 처음부터 끝까지 다 복사하는것이아니라 특정 구간만
복사할수도있다.불필요한 메모리 낭비 없이 특정 부분부터 원하는 구간으로!

  • Copy(원본배열, 원본 인덱스, 복사된배열, 복사 인덱스, 범위) -> 원본 배열의 요소를 대상 배열에 복사
    1
    2
    
    [코드]
    Array.Copy(score,3,copy,Array,1,2)
    

    Array-Copy.jpg 흠…테스트용 객체 생성할때 필요하겠다.

출력 - 콘솔 디자이너

프로젝트하다가 팀원이 쓴 코드를 봤는데 처음보는 형태였다.

1
Console.WriteLine(new string('=', Console.WindowWidth));

문자열 너비만큼 ‘ ‘안의 기호를 출력하는거구나. Unity게임 개발할때는 많이 안쓸거같긴한데 새로운 지식을 +1하였다.
GPT Chance

1
2
3
4
5
6
7
8
9
10
11
12
13
🔍 코드 해석
🔸 Console.WindowWidth
현재 콘솔 창의 **가로 너비(컬럼 수)**를 가져와.

예: 콘솔 너비가 80이면 → 80

🔸 new string('=', Console.WindowWidth)
'=' 문자를 Console.WindowWidth만큼 반복해서 하나의 문자열로 생성

예: new string('=', 5) → "====="

🔸 Console.WriteLine(...)
그 문자열을 콘솔에 출력

느낀점

처음해보는 팀 프로젝트라서 내가 잘할수있을까 걱정도 되기도하고
내가 게임 개발 자질이 부족한걸 스스로 느껴서 의지가 꺽일까 걱정도 된다.
특히나 오늘 구현하고싶은 부분이 안될때 살짝 숨막히기도했지만
튜텨님과 Chat GPT를 괴롭힌끝에 결국은 해결되서 뭐랄까…
잘 돌아가는거보니 내일도 할수있겠다 싶다.

내일 해야할 내용

일반 공격에 대해서는 로직 구현이 되었지만 난 콘솔 로그가 특정 구간에서만
출력되게 바꾸고싶다.
지금은 정비가 안된 상황이라 콘솔 화면이 지저분하달까…
추가로 SkillScene의 스킬을 불러와서 전투에 적용시켜야지
그리고 앞으로는 시간이 아무리 없어도 어떻게든 짜내서
알고리즘 한문제씩이라도 풀어야겠다.
결국 개발이란 설계와 구현의 싸움이 아닐까
팀 프로젝트인데 내가 좀 제몫을 못하는거같아서 더 힘을 써야될듯하다.

  • 내일은 Chat GPT 없이 해보자!!!
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.