내일배움캠프 9일차 TIL, 개인 과제

황오영·2024년 4월 25일
0

TIL

목록 보기
9/56
post-thumbnail

프로그래밍주차 개인과제

  • 오늘은 프로그래밍주차 개인 과제를 했다.
  • C# 콘솔을 이용해 TextRpg를 만드는것인데 생각보다 난이도가 있었고 어려웠다.

    https://github.com/oyounghawng/Sparta_TextRpg
    (프로젝트 링크)

진행 과정

필수요구사항

  • 기본적으로 필수 요구사항에 있는것을 우선적으로 구현했다.
  1. 플래이어의 상태,
  2. 인벤토리
  3. 상점
  • 이 3가지를 구현했고 플래이어의 상태의 경우 class를 선언하여 변수를 저장하는 방식으로 진행했다.
  • 인벤토리는 Item 구조체를 선언하여 Item 정보를 선언하여 player의 클래스 내부에 이를 inventory 리스트를 만들어 작성하였다.
public class Player
{
	public int _level;
	public int _exp;
	public string _name;
	public PlayerJob _job;
	public float _attack;
	public int _defence;
	public int _Maxhp;
	public int _currnthp;
	public int _gold;
	public List<Item> _inventory;
	public int[] _needlevelexp;
	public Item _weapon;
	public Item _armor;
}
  • 이런식으로 쭉 선언해서 각각의 변수들을 사용하는 방식으로 코드를 관리했다.
  • 인벤토리와 상점은 유사하게 코드를 사용하여 구현을 했다.

추가요구사항

  • 복잡한 로직을 짜야 해서 조금 비효율적인 코드로 짠것 같다.
  1. 아이템장착 개선
  2. 던전
  3. 휴식
  4. 레벨업
  • 총 4가지를 구현했고 5번째인 저장하기는 내일 한번 수정해서 해볼 생각이다. 방식은 JSON으로 저장하는것을 생각했는데 해설강의에도 비슷하게 올라와서 내일 한번 생각해보고 짜봐야겠다.

프로젝트 + 오늘의 회고

  • main함수에 다 때려박아 코딩을 해서 조금 잘못한것같긴하다. 코드의 가독성과 반복되는 구문들도 너무 많아 피드백이 오면 정리해 봐야겠다.
  • 우선 내일 계층구조 나눠서 수정을 조금 할 생각이다. 매니저님들이 계층구조 생각해보라고 하셨을 때 문서로 정리할 필요가 있다는 것을 느꼈다. 다음 프로젝트엔 꼭 반영해야겠다.
  • class와 구조체는 잘 이해해서 사용할 수 있는데 아직 상속은 어색한것같다. 이것저것 써보고 다른분들 코드를 많이 봐봐야겠다.
  • 팀원분들이 코드 초보분들이 많으셔서 한번 강의 싹 듣고 내일 도와드리면서 같이 즐거운 코딩을 할 것이다. 나도 팀원분들 가르치면서 헷갈렸던 부분들을 많이 알아 갈 수 있어서 좋았다.
profile
게임개발을 꿈꾸는 개발자

0개의 댓글