전체 글(273)
-
[Python] 파이썬을 통해 구현한 DFS와 BFS
DFS (Depth-First Search) 깊이 우선 탐색이라고도 부르며, 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘 스택(Stack) 자료구조를 이용하여 구현 동작과정 탐색 시작 노드를 스택에 삽입하고 방문 처리한다. 스택의 최상단 노드에 방문하지 않은 인접 노드가 있으면 그 인접 노드를 스택에 넣고 방문 처리한다. 방문하지 않은 인접 노드가 없으면 스택에서 최상단 노드를 꺼낸다. 2번의 과정을 더 이상 수행할 수 없을 때까지 반복한다. 소스코드 # DFS # 방문 정보를 리스트 자료형으로 표현 visited =[False] * 9 # 각 노드가 연결된 정보를 리스트 자료형으로 표현 (2차원 리스트) graph = [ [], # 1번 노드와 연결된 노드들 [2, 3, 8], # 2번 노드와 ..
2022.05.14 -
[게임 수학] #2 | 함수(Function)
인프런 강의를 듣고 필기한 글입니다. 1. 함수(Function)의 기초함수를 왜 배워야 하는가?게임이란 것은 결국 게임 내에서 공간의 변환에 밀접하게 연결되어 있음게임을 제작한다는 것은 굉장히 많은 공간의 변환 작업들로 구성되어 있는데, 그 기반은 집합과 집합의 대응 관계이것의 메커니즘을 설명하는 것이 바로 함수(Function)그렇기 때문에 함수에 대한 개념을 제대로 적립해야, 공간과 공간의 변환을 제대로 이해할 수 있는 기본 지식이 됨 함수의 정의함수라는 것은 두 집합 간의 대응 관계를 의미함단, 첫 번째 집합의 모든 요소가 사용되어야 함수의 성립 조건이 만족됨 함수가 아닌 대응 관계첫 번째 집합의 어떤 원소에 대한 대응 관계가 빠져 있을 때첫 번째 집합의 한 원소가 두 번째 집합의 두 가지..
2022.05.05 -
[게임 수학] #1 | 수(Numbers)의 구조
인프런 강의를 듣고 필기한 글입니다. 1. 수의 시각화수(Number)에 대해서 알아야 하는 이유게임 세계는 벡터(Vector)로 구성된 탄탄한 시스템을 기반으로 함. 해당 시스템 위에서 컨텐츠가 만들어짐이런 벡터는 수들을 조합하여 만들어진 대상벡터를 정확히 이해하기 위해서는 결국 수가 만들어내는 시스템에 대해 이해해야 함 수의 종류수는 물건을 세는 것에서 출발해 인류 문명의 발전에 맞춰 다양한 개념으로 확대되어 옴다양한 수의 개념들이 존재하며, 각각은 대문자를 사용해 집합으로 구분해 부름자연수, 정수, 유리수, 무리수, 실수, 복소수 등 실수 집합(The set of real numbers)원소인 수와 수 사이에 빈틈 없이 연속된 원소들로 채워져 있는 수 집합개념적으로 수와 수 사이에 빈틈이 없..
2022.05.05 -
[Python] ord()와 chr() 함수
ord() 매개변수로 문자를 넘겨주면, 해당 문자의 유니코드 정수값을 리턴해준다. char = 'A' print(ord(char)) # 65 chr() 매개변수로 정수를 넘겨주면, 해당 정수의 유니코드 문자를 리턴해준다. num = 65 print(chr(num)) # 'A'
2022.04.10 -
[Unity] 이벤트 주도적 프로그래밍 (Event Driven Programming)
게임에는 수많은 이벤트들이 있다. 플레이어가 적 캐릭터의 시야에 언제 들어오고 나가는지, 체력이 언제 떨어지는지, 무기가 언제 바닥나는지, 적 캐릭터가 언제 위험한 바닥에 올라서는지 등, 우리가 게임할 때마다 자연스럽게 경험했던 것들이다. 키보드 입력이나 마우스 클릭, 오브젝트의 충돌체 영역 통과, 플레이어가 공격받는 것 등과 같은 순간처럼 이벤트는 수동적인 성격을 가지고 있으며, 스스로 능동적으로 발생하진 않는다. 이벤트는 응답을 만들고 발생시키며, 그 응답이 다시 그 이후의 응답을 일으키는 이벤트가 될 수 있다. 즉, 이벤트는 하나의 행동을 취함(이벤트)으로써 다른 행동을 수반(응답)하는 식으로, 서로의 행동들은 중요한 관계를 맺고 있다고 볼 수 있다. 프로퍼티(Property)를 통한 이벤트 구현의..
2022.04.03 -
[C#] 더 간편하게 무명 함수 만들기! : Func, Action
*이 글은 책을 바탕으로 공부한 글입니다. 익명 메소드와 무명 함수는 일회성으로만 사용할 함수 사용에 용이하며, 코드를 좀 더 간결하게 만들어 주는 요소들이다. 하지만, 둘 다 대리자(Delegate)가 필요하기 때문에 사전에 먼저 대리자를 선언해줘야 하는 번거로움이 있다. 귀찮지 않을 수가 없다. 한 번만 사용할 건데, 사용할 때마다 매번 대리자를 선언해야 한다니... 그래서 이런 번거로움을 해결해주기 위해, 마이크로소프트 .NET에서는 이런 익명 메소드와 무명 함수들을 위한 대리자들을 미리 선언을 해놨다. 그 대리자들이 바로 오늘 알아볼 Func와 Action이다. Func 결과를 반환하는 메소드를 참조하기 위해 만들어졌다. .NET에는 모두 17가지 버전의 Func 대리자가 있다. public de..
2022.03.29