44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
c# 유니티자료구조 수강중 느낌점
언리얼 c++ 추가 강좌 기다리면서 선생님의 C#유니티 로드맵을 수강하게 되었습니다. 난생 처음 C#을 따라하면서 c++과 다르게 뭔가 빼먹은듯한 느낌아닌 느낌이 들면서도 작동은 잘 되더군요. 하지만 자료구조는 쉽지가 않더군요 몇번 따라 해보고 복기 하지만 응용하려고 하면 머리속에 하얗게 되어 버린것은 이미 일상이 되었네요. 역시 언어의 난이도 문제가 아닌 제가 문제 였네요. 유니티도 난생 처음인데 남은 파트 강좌를 잘 따라 할 수 있을지 조금은 우려스려우면서도 기대하고 있습니다. 아무쪼록 모든 로드맵을 끝나고 나면 지나온 길이 헛수고가 아니었으면 좋겠습니다. 앞으로도 훌륭한 선생님의 커리큘럼을 만나거나 배우기 쉽지 않기에 c#로드맵은 이미 완강이 되어 버렸지만 c++로드맵은 아직 진행중이시니 세심한 배려 잘 부탁드리겠습니다.
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
강사님 추후 강의에 Behavior Tree 알고리즘도 강의할 생각은 없으실까요 부탁드립니다!
mmorpg 서버라고하면 길찾기 알고리즘도 있지만 Behavior Tree도 꼭 필요하다고 생각하는데 이부분에 대해선 없는게 조금 아쉽기도하고 그래서 혹시 지금 연재 중이신 c++강의에 추가내용으로 올리실 생각은 없으신지.. 없으셨다면 고려좀 부탁드려봅니다 ㅠㅠ.. 그리고 만약 하시게되면 언리얼 엔진을 사용해서 구현하는것보다 astar강의처럼 순수 c#이나 c++언어로 직접 구현하는 강의였으면 좋겠습니다~! 감사합니다! 코로나 조심하시고 건강하세요~!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
용어 질문 있습니다!
동적 배열 구현 연습 강의 12분 34초에 말씀하신 단어(Count*2)가 lowed factory 단어가 맞나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
BFS 에 대해서
안녕하세요. BFS 에서 모든 미로의 위치를 이전위치를 기억하면서 구석구석 돌아서 기억을 하고 있다가, 나중에 내가 미로의 특정부분(출구)을 가고싶다 하면은 그 위치부터 기억하고 있던 이전위치를 입구(이전 위치가 없는곳)까지 떠올린 다음 그 길따라 쭉 간다. 라고 이해했는데 맞을까요 ? 만약 두개의 길이 있다고 해도 최단거리가 먼저 목표지점 의found 에 true 찍으니깐 두번째 길은 가지 못하구요.
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
Vertex참조부분 문의드립니다.
안녕하세요. 이해가 가지않아서 문의드립니다. 뒤에 DFS나 BFS는 이해가 갔는데요. 이부분에서 이해 못하고 넘어간게 걸려서 다시 돌아왔습니다. 혹시나 도움이 될까 연결리스트부분을 다시 듣고 이해한 후 봐도 또이해가 가지않는데요,, class Vertex { public List<Vertex> edges = new List<Vertex>();} 이 부분이 연결리스트에서 보면 그냥 참조(주소)값인데 연결리스트에서는 다음방의 주소, 이전방의 주소 이거였으니 저 구문의 뜻은 edges라는 참조(주소)값 으로 이해했습니다. 그냥 참조값 끝 왜만들었는지 의문?이듭니다.. 그리고 CreateGraph()에서 List<Vertex> v = new List<Vertex>(6) 이부분을 디버깅하면 new Vertex() 마다 위에 edges 참조에 갔다가 오는데.. 왜이러는지도 모르겠습니다. 그리고 edges.Add(v[1])이면 이해하는데 어떻게 v[0].edges.Add(v[1]); 이게되는지 이해가 가지않습니다. 어떻게 v가 edges를 메서드처럼 쓰는지.. 이부분이 이해가가지않아 2틀째 고뇌하고있습니다.. 다음강의를 듣다가도 그게 왜그런지 싶어 집중이 되지않네요.. 감사합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
길이 없는 경우
해당 강의를 학습후 뒷부분 강의를 듣다가 문득 든 생각입니다. 목적지까지 길이 없는 경우가 만들어질수도 있다고 생각을 하는데 계속 실행해도 결국 목적지까지 길이 만들어지게 됩니다. 우연의 일치인가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
BFS함수의 두 번째 while문 조건에 대하여
BFS함수의 두 번째 while문은 while (parent[y, x].Y != y || parent[y, x].X != x) { _points.Add(new Pos(y, x)); y = parent[y, x].Y; x = parent[y, x].X; } 이렇게 가르쳐주셨습니다. 그런데 제가 조건을 while (parent[y, x] != new Pos(y, x)) 로 수정을 해도 되지 않을까 싶어서 시도해보았는데 무한루프에 걸려버리더라구요. y, x의 부모가 자기 자신과 동일하다면 출발점이므로 강사님께서 가르쳐주신 조건과 같은 것이 아닌가요? 고민을 해보고 있는데 Pos라는 클래스를 새롭게 생성하게 되면 좌표는 동일하더라도 다른 주소를 가리키게 되는 것이기 때문에 parent[y, x] != new Pos(y, x) 라는 조건이 true가 될 수 없는 것인가요?
- [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
mmorpg 과정 repository (github)가 있나요?
삭제된 글입니다
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
Board.TileType의 호출 메커니즘
삭제된 글입니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
class Knight의 CompareTo 인터페이스
Knight 클래스의 CompareTo 인터페이스에서 삼항연산자를 이용해서 Id > other.Id ? 1 : -1 라는 조건을 만드셨는데 if (_heap[now].CompareTo(_heap[next]) < 0) 를 사용하신 특별한 이유가 있을까요? Id > other.Id 가 아닐 경우 -1이라는 특정한 값을 return 한다고 설정했다면 if (_heap[now].CompareTo(_heap[next]) == -1) 를 사용하는게 맞지 않나 싶어서 질문드립니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
사소한 질문일수도 있지만 '우선순위 큐'와 '힙 트리'의 차이는 결국 무엇인가요??
우선순위큐는 선입선출이 아니고 제일 큰 값이 먼저 리턴되는 구조로, 이것을 구현하기 위해 힙트리를 사용한다는 것은 이해가 되었습니다. 그렇다면 궁금한 것은 '우선순위 큐'가 아니라 처음부터 '힙트리'라고 이름을 지으면 되는거 아닌가요?? 우선순위 큐와 힙트리의 차이점이 궁금합니다
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
안녕하세요..
안녕하세요 예체능 전공으로 배경지식이 거의 없고 1-2강 수업을 들으면서 모든게 완벽하게 이해되진 않지만 한줄 한줄 주석을 달면서 이해해가려고 열심히 공부하고 있습니다. 전반적인 내용은 이해가 되는것 같은데, 문법이라던가 쓰고자하는 내용을 적어내는것이 좀 어려운 상황인데 완벽하게 이해하고 안보고도 쓸 수 있을 정도까지 복습을하고 다음 강의를 듣는게 나을까요? 아니면 내용이 이해가 되면 다음 강의로 넘어 가도 될까요? 그리고 끝까지 뭔가 해내보고 싶은데 제가 해낼 수 있을지 잘 모르겠습니다.. 계속 공부하는게 맞을까요??
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
노드의 Next 와 Prev
안녕하세요 노드클래스구현에서 Class Node<T> { Pubilc T data ; Public Node<T> Next ; Public Node<T> Prev; } 에서 Next 와 Prev 는 default 값은 null 로 설정해주어야 구현이 깔끔하게 되지않나 싶은데 null을 안써주신 이유가 궁금합니다!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
Remove 함수구현
안녕하세요. 연결리스트에서 가능한 노드의 연결상태는 1. 노드한개 Head =Tail Head=Tail 이 가르키는 노드의 prev 와 next 는 null 2. 노드두개 (Head 한개 Tail 한개) Head가 가리키는 노드의 prev는 null , next는 prev가 가리키는 노드 , Prev가 가리키는 노드의 prev는 Head가 가리키는 노드 , next는 null 3.노드세개이상 으로 일반화해 분류 할 수 있습니다. 이때 구현하신 Remove 함수를 보면 If(Head==node) Head=Head.next If(Tail==node) Tail=Tail.prev 에서는 노드의 연결상태ㅡ두번째 경우에서 첫번째 경우로 갈때 삭제가 이루어지고나서 결과적으로 남는 Head 와 Tail이 동시에 가리키는 Node의 prev 또는 next가 null이 아닌 경우가 발생합니다. 따라서 If(Head==node) [Head=Head.next Tail.prev=null;] If(Tail==node) [Tail=Tail.prev If(Head.next!=null) {Head.next=null} ] 으로 해주어야 제대로 되지 않나 싶은데요 , (연결리스트의 특성상 여기서는 문제 없을지라도 기능을 확장시 에러발생이 가능할 수 도 있으니) 답변부탁드립니다 감사합니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
거슬러 올라가는 이유
제가 이해한게 맞는지 궁금해서 질문드립니다. 마지막 도착점에서 역산하여 포지션 리스트를 만들어 나가는 과정이 처음에는 왜 필요한지 의문이었는데 왜냐면 저는 처음에 언뜻 생각했을 때는 길 좌표를 BFS로 만들어 나가는 과정인 for문에서 _points 리스트를 추가해 나가면 될 거라고 생각했기 때문입니다. 그런데 다시 생각해보면 BFS 는 끝이 막힌 형태의 경로를 여러 갈래 찾아낼테고 그 여러 경우 중 마지막 점에 도착하는 경우가 필요했기 때문에 마지막 도착점에서 역산하는 과정이 필연적으로 들어가야 했다고 해석했습니다. 이게 맞을까요? 만약 맞다면 최종점의 좌표를 어느곳으로 바꿔도 그에 따른 새로운 해법이 생길거라고 예상이 되는데 이것도 맞나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
While(true)
안녕하세요. 마지막에 맵을 실제 그리는 코드문을 보면 While(true) { Setposition board.render(); } 로 구현하고 있는데요 , 이때 while(true)면 무한루프가 되어 렌더함수가 계속호출되어 계속 맵을 그리는 상태가 되는것 아닌가 싶습니다. 딱히 루프를 나오게하는 코드는 안보이거든요. 또한 , Board라는 클래스 객체가 사라져도 한번그린 맵은 그대로 유지되는것으로 보이는데 왜 무한루프를 사용한건지 모르겠습니다! 감사합니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
CalcPathFromParent 에서 에러가 납니다.
안녕하세요 루키님. 인터넷 강의를 보면서 열심히 따라고 있는 수강생입니다. 그런데 오늘 강의는 다 듣고 실행을 하니 CalcPathFromParent 함수 에서 while (parent[y, x].Y != y || parent[y, x].X != x) 에서 오류가 납니다. System.NullReferenceException: 'Object reference not set to an instance of an object.' 위와 같은 오류가 발생하는데 구글링을 이용해서 혼자 해결하려고 하는데 제 맘처럼 쉽지가 않네요. 어떻게 해결해야 하는지 질문 남겨봅니다. 아울러 좋은 강의 해주셔서 항상 감사합니다 :)
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
Sort 알고리즘의 시간복잡도
Part1 강의에서 연습문제로 구현했던 선택정렬(selection sort)의 시간복잡도는 무엇인가요? O의 n제곱이라고 생각하였는데 첫번째 for문에서는 n번을 순회하지만 내부의 두번째 for문에서는 n, n-1, n-2, ..., 2, 1 로 순회하는 횟수가 점점 줄어들어서 n제곱보다는 작은 시간복잡도를 가지는 것은 아닌가 해서요. 그리고 sort 알고리즘이 여러종류가 존재한다고 하셨었는데 그중 시간복잡도가 가장 작은 것을 사용하는 것이 최선의 선택인가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
CalcPathFromParent 함수 부분에 대한 질문입니다
주석으로 표시해놓은 1번부분과 2번부분이 같을 거라고 예상하여 그냥 1번으로 코드를 작성했었는데, null에 접근했다는 오류가 났다고 하여 디버깅하며 살펴보니 인덱스가 이상하게도 가끔 1씩 차이가 나서 오류가 날 경우가 있더라구요. 그래서 강의에 나온 대로 2번으로 코드를 작성하니 실행이 잘 됐습니다. 1과 2는 사실상 같은 내용이라고 생각했는데 왜 이런 오류가 나는 건지 알고 싶습니다. 강의 잘 들었습니다. :)
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
최단거리 경우의수에 관하여
강의를 듣던 중 궁금한 점이 생겼으나 직접 테스트할 수 없는 환경이라 질문드리게 되었습니다. BFS의 최단거리 즉, 이동 횟수가 같은경우 BFS 알고리즘에서 다음 점을 찾는 순서에 따라 다른 길이 선택되는 것이 맞나요? 예를들어 강의에서는 인덱스가 낮은수부터 서칭을 시작했으나 인덱스가 높은수부터 서칭을 한다면 같은 최단거리를 갖는 다른 경로를 선택하나요?