57. Unity 최종 프로젝트 2주차(2)

이규성·2024년 1월 17일
0

TIL

목록 보기
63/106

01/17

📌알고리즘 코드 카타 (Algorithm Code Kata)

3진법 뒤집기

using System;
using System.Collections.Generic;
using System.Linq;

public class Solution
{
    public int solution(int n)
    {
        int answer = 0;
        int j = 1;
        int k = n;

        List<int> list = new List<int>();

        if (n / 3 == 0)
        {
            list.Add(n);
        }
        else
        {
            for (int i = 0; k > 0; i++)
            {
                list.Add(k % 3);
                k = k / 3;
            }
     
        }

        for (int i = list.Count - 1; i >= 0; i--)
        {
            list[i] = list[i] * j;
            j = j * 3;
            answer += list[i];
        }
        // 3진수 -> 10진수 변환
        // 21 -> (2 * 3) + 1 = 7
        // 100 -> (1 * 3^2) + (0 * 3) + 0 = 9

        Console.WriteLine(answer);

        return answer;
    }
}

어제는 머리가 도저히 돌아가지가 않아서 봐줬지만 오늘 뿌셔버렸다.
우선 10진수 -> 3진수 변환 과정에서 고민이 많았는데 3진수 변환 후 값을 뒤집어야하기 때문에 List를 떠올렸고 입력된 10진수 값을 3으로 나눈 나머지를 List에 Add하는 방식으로 풀어내었다.
그리고 3진수 -> 10진수는 10의자리부터 3의 제곱수를 곱해준 값을 모두 더하면 변환이 이루어진다.

📌팀 프로젝트 진행

Weapon 구현 설계

필요한 사항

공격 애니메이션

  1. 캐릭터의 손에 대검 위치 시킨다.
    대검의 위치를 수정하였다.
  2. 대검을 들었을 시 Idle 애니메이션 변경이 필요해 보인다.
    ToolSystem의 OnEquip 이벤트에 도구의 TwoHandedTool bool값을 판단해주는 함수를 구독한다.
    두 손 State를 만들어서 함수 내에 ChangeState를 해준다.
  3. 대검 공격 애니메이션의 콤보 어택이 통으로 되어 있던데 나눌 수 있는지 확인이 필요해 보인다.
    콤보가 나누어져 있는 것을 확인하였다. Player의 Animator에 추가하였다.

PlayerAttackState.cs, PlayerComboAttackState.cs

1. 위의 사항을 점검하고 알맞게 두 스크립트의 수정이 필요해 보인다.

Weapon.cs, Health.cs

  1. FSM에 맞게 강의에 따라 우선 구현을 시도한다.
  2. 정상적으로 무기 공격이 동작한다면 상태이상 시스템을 적용해 본다.
    https://teamsparta.notion.site/231211-4c21f35ab2dc494eb063a324a94e54de

금일 구현 설계

TwoHandedTool을 위한 State를 생성하여 애니메이션을 컨트롤하자.
기존에 Idle에 있던 두 손 도구 체크 함수를 GroundState로 빼서 직관성을 높이자.

금일 구현한 사항

  1. 플레이어가 손에 쥔 도구에 따라서 애니메이션이 바뀌게 구현하였다.
  2. 대검에 이어서 TwinDagger을 추가하였습니다.

금일 이슈

  1. 애니메이터의 트랜지션이 말썽이다.


팀원분들께 이슈를 공유하니 애니메이션의 트랜지션 순서를 체크해보라 하셨다. 세상에 트랜지션도 순서가 있었넹; 간단히 해결!

금일 커밋한 사항

TwoHandedTool에 대한 State를 추가하였습니다.
TwinTool에 대한 State를 추가하였습니다.
장착 중인 도구의 타입에 따라 애니메이션이 바뀌게 구현하였습니다.

0개의 댓글