재미있는 게임 속 상호작용 분석 시간!
오늘은 팀원들과 함께한 게임 속 상호작용 분석 내용과 코딩 특강에서 배운 몇몇 개념, 그리고 개인적으로 학습한 짧은 CS 공부내용까지 곁들여 적어보겠다.
게임을 분석하기 위해 게임을 하나 고르고 그 게임의 상징적인 시스템이나 특징을 분석해보는 시간을 가졌다. 우리팀은 리그 오브 레전드라는 게임을 선택했고 쓰레쉬라는 캐릭터의 패시브 스킬을 분석해보았다.
public class GameManager : MonoBehaviour
{
public static GameManager Instance;
void Awake()
{
if (Instance == null)
Instance = this;
else
Destroy(gameObject); // 중복 방지
}
}
이렇게 하면 어디서든 GameManager.Instance로 접근 가능하다.
Instance
: 일반적으로 싱글톤 패턴에서 자기 자신을 가리킬 때 쓰는 변수 이름이다.
GetComponent<>()
: 같은 GameObject 안에 붙어있는 다른 컴포넌트를 가져올 때 사용한다.
예시 -> 현재 오브젝트에 붙어있는 Rigidbody를 가져와라
Rigidbody rb = GetComponent<Rigidbody>();
예시 문제 : A1, A2, A3 3개 속성을 갖는 한 릴레이션에서 A1의 도메인은 3개 값, A2의 도메인은 2개 값, A3의 도메인은 4개 값을 갖는다. 이 릴레이션에 존재 가능한 튜플의 최대 수는?
->이 문제를 풀 때 도메인의 수가 총 9개네? 그럼 답은 9!라고 답하면 안된다. A1의 도메인의 값은 a1, b1, c1이라고 하고 A2의 도메인의 값은 a2, b2, A3의 도메인 값은 a3, b3, c3, d3라고 가정한다면 (a1, a2, a3), (a1, a2, b3), (a1, a2, c3), (a1, a2, d3), (a1, b2, a3)... 이렇게 튜플이 생성된다. 그러므로 3 x 2 x 4 = 24가 되므로 답은 24가 된다.
개인학습 팀이라 서로 소통할 시간이 별로 없었는데 이 시간에 많은 대화를 하니까 재미있었다. 다음에 기회가 있다면 스크립트 구조까지도 생각해 보는 시간도 있으면 재미있을 것 같다!
내일은 프로젝트 팀의 발표가 있다고 하는데 구경할 수 있을지도 모르겠다. 어쨌든 내일은 오늘과 비슷하게 계속 CS 지식을 공부할 예정이다.