일일학습일지

2024-03-20 학습일지

김동환_ 2024. 3. 20. 20:43

같은 사람이 신고한건 적용하지 않고 신고를 두번 당하면 정지를 당하는 신고 결과 코드를 작성하는 것이 목표이다.

 

우선 Distinct를 사용하여 중복 신고는 모두 없애고 시작한다.

그 후 Split으로 신고한 사람과 신고받은 사람을 따로 저장하여 두번이상 신고받은 사람은 결과에 따로 저장하여 출력한다

참고한 코드에서는 Constain을 이용하여 체크하는 방식을 사용하는 것 같았다.

 

 

[ 팀 프로젝트 ]

구현한 기능은 아래와 같다.

1. 필드의 플레이어 이동 제한 (한턴에 한칸)

2. 근접한 몬스터, 오브젝트와 상호작용 가능 (한칸)

3. 필드 턴에 몬스터 랜덤 움직임(한칸)

4. 씬 전환시 필드의 정보 저장 (몬스터 위치, 캐릭터 위치)

5. 각 마을에서 필드 시작 위치 변동

 

 

이제 플레이어를 선택하면 플레이어가 움직일 수 있는 타일은 Cyan 색으로

플레이어가 상호작용 할 수 있는 타일은 Magenta 색으로 바뀌고,

해당 타일을 클릭하면 이동 혹은 상호작용을 할 수 있다.

그 외 타일은 클릭해도 아무 변화가 없다. (이후 다른 타일을 클릭하면 플레이어 선택 상태를 해제하도록 바꿀 예정)

 

플레이어가 움직이고 난 후 Field의 턴에는 몬스터들이 각자 랜덤한 방향으로 한칸씩 움직이며

움직이려는 칸이 empty 상태가 아니면 움직이지 않는다.

 

몬스터와 상호작용을 하면 몬스터와 전투를 진행하는 BattleScene으로 이동한다.

 

전투를 끝내고 나오면 몬스터와 플레이어의 정보와 위치가 저장되어 그대로 진행한다.

(이때, 무조건 플레이어의 턴으로 시작하는데 어떤 상태였는지에 따라 턴을 조절할 필요가 있음)

(또한 지금은 플레이어만 몬스터에게 전투를 걸 수 있는데 반대로 몬스터도 플레이어에게 전투를 걸 수 있도록 하는 기능 필요)

 

마을 혹은 던전에 들어갔다가 나오면 몬스터 정보는 초기화 되어 필드의 랜덤한 위치에 4마리 소환된다.

 

두번째 마을에 들어갔다가 나오면

 

두번째 마을의 시작지점에서 필드를 시작하고 몬스터는 새로 만들어지는 모습

 

 

이로써 필드에 필요한 기능은 모두 갖추었다 (던전 제외)

내일은 코드를 리팩토링을 하여 가독성을 챙기고

어색한 부분이나 보충할 부분을 채우는 방식으로 기능을 다듬을 예정이다.

또한 캐릭터나 몬스터, 스테이지와 같은 데이터를 json으로 데이터 테이블화 시키는 작업도 진행하면 좋을것 같다.

'일일학습일지' 카테고리의 다른 글

2024-03-22 학습일지  (0) 2024.03.22
2024-03-21 학습일지  (0) 2024.03.21
2024-03-19 학습일지  (0) 2024.03.19
2024-03-18 학습일지  (0) 2024.03.18
2024-03-15 학습일지  (0) 2024.03.15