전체 글 91

2024-04-01 학습일지

어떻게 풀어야하는지 감도 안잡혔었는데 다른 사람 풀이를 참고해보니 피보나치 수열이었다.. 값의 패턴을 잘 파악하고 익혀놓는게 얼마나 중요한지 다시금 깨닫게 되었다.. [팀 프로젝트] 필드 이동 구현 완료!!!! 주말 내내 시간을 투자해본 결과 에이스타 알고리즘을 이용하면 더 복잡하고 게임과 안맞아진다 그래서 SRPG식 이동 구현 레퍼런스를 조사해보고 새로운 알고리즘을 만들게 되었다. 구현한 방식은 아래와 같다. 0. 기본 필드의 상태 1. 현재 Player에 해당하는 Ttile부터 Movable 리스트에 넣는다. 이때, 이동 코스트는 0이다. 2. Movable 리스트안의 Tile수만큼 각 Tile의 상하좌우로 조사하여 이동 가능한 타일을 Movable 리스트에 넣고 상태를 변환한다. 3. 2번 과정을 ..

일일학습일지 2024.04.01

2024-03-29 학습일지

딱 보는순간 인접한 배열끼리 최소 공배수를 계속 해나가는 방법을 떠올렸다 최소 공배수는 유클리드 호제 기법을 사용하면 금방 구현할 수 있었다. 생각한 그대로 구현되었고 문제를 해결할 수 있었다. [ 팀 프로젝트 ] DataManager에 있는 캐릭터 데이터를 불러와서 PlayerManager에 있는 CharacterList에 저장하고 그것을 캐릭터 선택창에서 선택하는 기능으로 개선되었다. 기존의 캐릭터 선택 알고리즘과 완전 변했는데 성공적으로 구현되어서 다행이다. 두번째로는 에셋을 조금 다뤄봤다. 캐릭터나 몬스터를 해당 에셋으로 구현할 수 있을지 의문이었는데 직접 구현해보니 가능할 것 같았다. (구매한 에셋으로 만든 캐릭터 시트) A* 알고리즘을 적용하여 필드 이동을 구현하는건 주말을 투자해서 할 것 같..

일일학습일지 2024.03.29

2024-03-28 학습일지

딱 보는순간 아 2로 나누다보면 A와 B가 만나는 순간이 오겠구나 로직이 그려졌다 그냥 A와 B가 같아질때까지 계속 2로 나누면 되는 문제 While문을 돌렸다 도중에 While문 숙련 이슈로 조금 해맸었지만 훌륭하게 문제를 해결했다. [팀 프로젝트] 길찾기 해야하는데.. 다른 문제가 발생했다. 우선.. 강의 시청하며 길찾기 학습 중이었는데 캐릭터 선택 관련 이슈가 조금 있어서 이를 먼저 보충하기로 했다. 물론 보충은 내일하기로 했다.. 오늘 한 작업은 Ui 개편과 필드, 던전의 배경과 타일 퀄리티 업이다. 이미지 자료는 확정은 아니지만 게임의 분위기를 보기위해 선행 작업 해보았다. 잘 어울리는 배경만 배치한다면 제법 괜찮은 비주얼이 될 것으로 보인다. 앞으로 할 작업 (우선순위 별) 1. 캐릭터 선택 ..

일일학습일지 2024.03.28

2024-03-27 학습일지

문제가 어려울 법한데 정말 쉬웠다.. 나중에 풀고난후 점수주는거 보면 쉬운문제 맞는듯.. 간만에 참조없이 그냥 혼자서 해결했고, 이후 다른 풀이를 보니까 왠만한 풀이보다 내 답변이 더 간결하고 보기 편하더라 오랜만에 뿌듯하게 코트카타 완료했다. [팀 프로젝트] 팀 프로젝트에서 개인 작업으로 완료한 부분은 아래와 같다. 1. 던전 맵 랜덤 생성 구현 2. 상자 구현 3. 던전 클리어 구현 던전에 입장하면 맵이 랜덤으로 생성된다. 맵은 6가지 패턴을 가진 4X4 크기의 타일 4개를 배치하여 만들어진다 상자를 열면 해당 타일로 이동하고 상자오픈 UI를 출력한다 이후 보상은 Reward 시스템이 구현되면 적용될 예정이다. 던전의 모든 몬스터를 처치하면 던전 클리어 결과창을 띄우고 나가기를 통해 필드로 다시 돌아..

일일학습일지 2024.03.27

2024-03-26 학습일지

간단하고 다 좋았다 코드 짜는건 바로 시작할 수 있었다. 잊을만 하면 나오는 int형의 수 한계에 또 부딪혔었다 long형으로 고치던가 1234567을 미리 나눠서 int형이 표현 가능한 수를 초과하지 못하게 하는 것이 관건이었다. [팀 프로젝트] 우선 스크럼을 통해 앞으로 남은 기간동안 구현 해야할 기능을 모두 정리했다 그 리스트는 아래와 같다. 위 리스트에 해당하는 기능들을 모두 이번주, 다음주 내로 구현해내야한다 나는 던전과 필드를 완성해내야하는데 그동안 UI 작업이나 씬 연결과 같은 잡일을 해줄 사람이 부족해서 문제다.. 이거 내가 잡일을 하던지 아니면 각자 역할에 맞는 UI 밑 씬 연결을 알아서 제작 밑 할당 해줬으면 하는데.. 어떤식으로 해결할지 고민이 필요해보인다. 그 외에는 팀원 / 튜터님..

일일학습일지 2024.03.26

2024-03-25 학습일지

코드 자체는 단순하지만 해당 과정을 저장해야하므로 어떻게 코드를 짤지 조금 머리를 굴렸었다. 또한 직접 코드를 짤때는 2진수를 만드는 식이 너무 귀찮고 오래걸려서 해당 함수가 있으면 좋겠다고 생각했는데 참고해보니 정말로 있었다.. Convert.ToString() : 첫번째 인수에 변환할 값을, 두번째 인수에 몇진수로 변환할건지 값을 입력하면 변환된 값을 문자열로 받을 수 있다. 참고한 코드는 정말 간단하게 만들었다 string s가 1일때 까지 반복하는 반복문에 정확하게 0이 제거된 수를 조사하기 위해 Length의 차를 구하는 방식을 사용했다 직접 머리를 굴리면 정말 복잡하게 코드가 나오던데 이런 방식을 많이 참고해야겠다.. [ 팀 프로젝트 ] 팀 프로젝트는 발표 + 휴식이지만 에셋조사와 일정 조율을..

일일학습일지 2024.03.25

2024-03-22 학습일지

꽤 간단한 코드이고 직접 풀기까지 했으나 그놈의 시간제한에 또 걸렸다.. for문을 많이쓰는게 문제라고 생각한다. 참고한 코드는 매우 짧은데 ToUpper 함수와 ToLower 함수를 사용하는것과 접근하는 방식 자체가 매우 간결하고 훌륭한 코드였다.. [ 팀 프로젝트 ] 일부 팀원들의 프로젝트만 병합하고 최소한의 버그 픽스 후 발표 자료 준비에 시간을 투자했다. 트러블 슈팅 부분은 겪었던 인상깊은 버그와 그 해결법을 이미지와 함께 첨부하여 설명하였다. 시연영상도 무난하게 찍혔고 꽤 그럴듯한 발표자료가 만들어졌다.

일일학습일지 2024.03.22

2024-03-21 학습일지

레벨디자인이 실패했나.. 왜캐 갑자기 쉬워진건지 모르게따 10분만에 문제 풀어버리고 이전에 이해하기 어려웠던 문제들을 돌아보며 복습하는 시간을 가졌다. 근데 이전 2문제가 진짜 코드도 너무 길고 복잡해서 전부 파악하기는 어려웠다.. [팀 프로젝트] 월요일에 시연하기 위해 이때까지의 작업물들을 우선 병합하고 정리했다. 그 후 세션과 피드백들을 정리하여 메모장에 정리해두고 QA 및 버그픽스를 하며 시간을 보냈다 Character의 데이터를 ScriptableData에서 json 으로 고치고 싶었는데 너무 잘 안되서.. 일단 보류해뒀다.. Character 스크립트가 CharacterSO도 있고 같은 이름의 스크립트도 있고 너무 복잡하게 배치되어있어서 정리를 우선 하고 작업을 진행해야할 것 같았다 아래는 몬스..

일일학습일지 2024.03.21

2024-03-20 학습일지

같은 사람이 신고한건 적용하지 않고 신고를 두번 당하면 정지를 당하는 신고 결과 코드를 작성하는 것이 목표이다. 우선 Distinct를 사용하여 중복 신고는 모두 없애고 시작한다. 그 후 Split으로 신고한 사람과 신고받은 사람을 따로 저장하여 두번이상 신고받은 사람은 결과에 따로 저장하여 출력한다 참고한 코드에서는 Constain을 이용하여 체크하는 방식을 사용하는 것 같았다. [ 팀 프로젝트 ] 구현한 기능은 아래와 같다. 1. 필드의 플레이어 이동 제한 (한턴에 한칸) 2. 근접한 몬스터, 오브젝트와 상호작용 가능 (한칸) 3. 필드 턴에 몬스터 랜덤 움직임(한칸) 4. 씬 전환시 필드의 정보 저장 (몬스터 위치, 캐릭터 위치) 5. 각 마을에서 필드 시작 위치 변동 이제 플레이어를 선택하면 플레..

일일학습일지 2024.03.20

2024-03-19 학습일지

"SOO" "OOO" 와 같이 입력받아 이동 가능할땐 이동시키고 장애물이 막고있으면 해당 이동을 무시하는 코드 작성 "OOO" 예시로 가져온 코드가 너무 길어서.. 아직 파악을 하지 못했다 이번주 주말에 코드 분석과 해당 패턴을 학습할 예정이다. [ 팀 프로젝트 ] 크게 구현한 기능은 아래와 같다. 1. 턴제 이동 기능 구현 2. 씬 연결 3. 타일 상태(State) 구현 4. 몬스터 배치 5. 필드의 랜덤 위치에 몬스터 생성 캐릭터 - 파랑 마을 - 초록 던전 - 빨강 몬스터 - 노랑 상자 - 회색 장애물 - 검정 으로 표시되며 마을 타일을 누르면 TownScene으로, 몬스터 타일을 누르면 BattleScene으로 전환하도록 설정되어있다. 플레이어는 PlayerTurn 상태에서만 조작할 수 있으며, ..

일일학습일지 2024.03.19