프로그래밍주차 개인과제
진행 과정
필수요구사항
- 기본적으로 필수 요구사항에 있는것을 우선적으로 구현했다.
- 플래이어의 상태,
- 인벤토리
- 상점
- 이 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;
}
- 이런식으로 쭉 선언해서 각각의 변수들을 사용하는 방식으로 코드를 관리했다.
- 인벤토리와 상점은 유사하게 코드를 사용하여 구현을 했다.
추가요구사항
- 복잡한 로직을 짜야 해서 조금 비효율적인 코드로 짠것 같다.
- 아이템장착 개선
- 던전
- 휴식
- 레벨업
- 총 4가지를 구현했고 5번째인 저장하기는 내일 한번 수정해서 해볼 생각이다. 방식은 JSON으로 저장하는것을 생각했는데 해설강의에도 비슷하게 올라와서 내일 한번 생각해보고 짜봐야겠다.
프로젝트 + 오늘의 회고
- main함수에 다 때려박아 코딩을 해서 조금 잘못한것같긴하다. 코드의 가독성과 반복되는 구문들도 너무 많아 피드백이 오면 정리해 봐야겠다.
- 우선 내일 계층구조 나눠서 수정을 조금 할 생각이다. 매니저님들이 계층구조 생각해보라고 하셨을 때 문서로 정리할 필요가 있다는 것을 느꼈다. 다음 프로젝트엔 꼭 반영해야겠다.
- class와 구조체는 잘 이해해서 사용할 수 있는데 아직 상속은 어색한것같다. 이것저것 써보고 다른분들 코드를 많이 봐봐야겠다.
- 팀원분들이 코드 초보분들이 많으셔서 한번 강의 싹 듣고 내일 도와드리면서 같이 즐거운 코딩을 할 것이다. 나도 팀원분들 가르치면서 헷갈렸던 부분들을 많이 알아 갈 수 있어서 좋았다.