44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
동적 배열 구현 연습-예외 케이스 질문있습니다.
if (Count >= Capacity) 의 부분이 예외케이스라고 하셨는데, 그 이유가 정확히 해당 조건에 들어가야 진행되기 때문인가요? 아니면 단순히 이와같은 이사비용 문제는 무시한다는 약속이 주어져있는 이유에서 예외케이스인가요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
코드 질문입니다
class Room<T> { public T data; ① public Room<T> Next ; ② public Room<T> Prev ; } class RoomList<T> { ③ public Room<T> Head = null; ④ public Room<T> Tail = null; public int count = 0; public Room<T> AddLast(T data) { ⑤ Room<T> NewRoom = new Room<T>(); } } [1] 5번은 생성자 호출로 객체(NewRoom)를 만들었는데 1~4번은 왜 생성자 호출이 없는지 궁금합니다ㅠ [2] 그리고 위 2개의 Class안에 생성자가 있어야 하는것 아닌지요? 그러니까 . . . class Room<T> { public Room<T>(){ ... } →생성자 }이런 식으로 있어야 하는거 아닌가 해서요ㅠ ( 아 기본생성자는 자동으로 만들어지기 때문인게 답일까요? )
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
우선순위큐로 인벤토리 자동정렬을 구해도되는걸까요??
처음에는 병합정렬을 이용하여 인벤토리의 자동 정렬 기능을 구현 했는데요. 해당 강의를보고 우선순위큐를 사용하여 만들려고했는데.. 생각해보니 해당 아이템 개수가 같을경우 문제가 좀생길것같은데.. 1) 우선순위큐 를사용할때 같은 노드값이 여러개 발생하게될경우.. 문제가 되지 않을까요 ?? 2) 우선순위큐는 최대값과 최소값을 가져오는데 자주 사용되는걸로 아는데 게임 프로젝트를 비유한다면 어디에 자주쓰일까요
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
이진(탐색)트리를 공부하려고 하는데요
강사님, 제가 이진(탐색)트리를 공부하려고 하는데요. 지금 이 과정을 공부하면 되는지 아니면 전혀 다른 내용인지 궁금해서 질문드립니다. '트리' 라고 되어 있어서 유사할 것 같아서 보고 있었습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
다차원 배열 같은값으로 초기화
일차원 배열을 같은값으로 초개화할 때 Array.Fill이라는 함수를 사용하였고 이는 굉장히 편리했습니다. 이차원 이상의 다차원 배영을 비슷한 방법으로 다중 for문을 사용하지 않고 구현하는 방법이 있나요
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
생성자를 이용한 트리구현
혼자 공부하다가 만들어본것인데 다른 자료구조처럼 처음 트리를 생성할 때 생성자를 이용해서 전체 트리를 만들어보고 싶었습니다. 그 결과 TreeNode<string> root = new TreeNode<string>("R1 개발실", new TreeNode<string>("디자인팀", new TreeNode<string>("전투"), new TreeNode<string>("경제"), new TreeNode<string>("스토리") ), new TreeNode<string>("프로그래밍", new TreeNode<string>("서버"), new TreeNode<string>("클라"), new TreeNode<string>("엔진")), new TreeNode<string>("아트팀", new TreeNode<string>("배경"), new TreeNode<string>("캐릭터")) ); 이런식으로 좀 길고 어지러운(?) 방법으로 트리가 생성되었습니다. 이러한 방법으로 생성자를 이용해서 트리를 처음부터 구현하는것이 권장될만한 방법인가요? 만약 이러한 방법이 실제 업무에서 사용되지 않는다면 그 이유도 알고싶습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
Sliderwinder 미로 생성에 의문점이 있습니다.
sliderwinder 함수 같은 경우는 저번 binary 형식과는 달리 어떻게든 아래쪽으로 연결하려는 특징이 있는 것으로 보여서 굳이 y축의 오른쪽 끝을 임의로 비울 필요는 없어 보이는데, 혹시 비우는 이유가 있나요? x축 아래쪽만 비워도 다 연결은 될 것 같이 보여서 궁금합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
코딩 내용 질문입니다.
6x6배열을 이용해서 그래프를 작성할때, public void DFS 함수에 for 문안에 if (adj[now, next]==0) continue; 있는데 이때 now노드와 그다음 next가 연결되어 있지 않아서 스킵하기 위해 작성한것은 이해가 갑니다. 하지만 왜 이렇게 코드를 작성했는지 이해가 가질 않습니다. 왜 adj[now, next]==0이되면 만나지가 않는거죠? 너무 어렵네요.......
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
동적배열 질문 드립니다.
1. 동적배열 구현하는 강의를 보고 따라서 구현했는데요, 중단점을 걸어보면 capacity가 1,2,4.. 식으로 늘어나는데 C#에 이미 구현되어있는 List를 사용하여 중단점을 걸어보니 capacity가 4부터 시작해서 4,8,16..으로 늘어났는데, 이미 구현된 List는 DefaultSize가 4로 설정이 되어있는 건가요? 2. 동적 배열에서 원소 Remove시에 총 배열의 크기(사용하던 크기 + 예약된 크기)는 원래 줄어들지 않는건가요? 예를 들어서 5개의 원소를 넣었다가 3개를 삭제하여도 capacity가 8이 유지가 되는데, 이미 구현된 List를 사용할 시에도 극단적으로 많이 넣었다가 많이 삭제하여도 늘어났던 capacity가 유지가 되는지 궁금합니다. 메모리가 낭비되는것이 아닌가요? 3. T[] newArray = new T[_count * 2]; for (int i = 0; i < _data.Length; i++) newArray[i] = _data[i]; _data = newArray; (배열 크기 늘리는 부분) 이 부분에서 마지막에, _data 가 newArray를 가르키도록 하고 있는데요, 이러면 _data가 가르키던 _data배열은 c#이라서 Heap메모리 에서 자동으로 사라지는지, 혹시 아니라면 배열의 크기를 늘릴때마다 newArray가 힙에 계속 생겨나서 안사라지는건지 궁금합니다. (이 부분은 제가 메모리 부분 이해를 잘못 한 걸수도 있습니다.)
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
BFS는 길찾기 DFS는 어떤걸 만들수있나요??
DFS를 사용하면 굉장히 다양한 방법으로 사용될 수 있다고 하셨는데 게임으로 비유하면 대체로 어떤 걸 만들 수 있는지 알 수 있을까요??
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
완전탐색
안녕하세요? 다익스트라 알고리즘도 결국 DFS, BFS 와 마찬가지로 모든 연결된 정점을 탐색하는 완전탐색 알고리즘 이군요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
시작점 .
안녕하세요. 이 강의에서 탐색의 시작점은 (1,1) (최좌측 , 최상단 ) 이 맞죠? 따라서 강의 마지막에 거슬러올라갈때도 시작점( 최좌측 최상단)만 추가해주면 시작점->목적지의 경로가 완성이되는거구요 코드가 길어지다보니 한눈에 파악하기 어려워서 .. 질문드려봅니다. 감사합니다^^
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
동적배열의 디버깅 관련하여 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 배열강의를 듣던중 궁금증이 생겨 질문드립니다. MyList를 구현하였을때와 System.Collection.Generic에서 사용하는 List를 디버깅하였을때 이런식으로 ex) MyList int [] {0,1,2,3,0,0,0,0} ex) List int [] {0,1,2,3} ex) List int [] {0,1,2,3} > Raw int [] {0,1,2,3,0,0,0,0} MyList의 경우에는 추가 할당한 공간에 0이 들어있는것이 보여지는 반면 List는 내가 Add한 변수들만 보입니다. List의 Raw부분을 살펴보니 MyList처럼 추가 할당된 배열이 보여집니다. 만약에 MyList에도 이런기능을 넣고 싶을때 어떤식으로 구현하면 좋을까요? 혹은 어떤 걸 검색해보면 더 자세히 알 수 있을까요? 감사합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
강사님 개인적인 질문 드려도 되나요?
저는 맨땅에 헤딩식으로 유니티, C#을 배우고 게임을 만들다보면 주요 코드들은 깃이나 스택오버플로에서 가져와서 코드를 해석하여 저 입맛대로 코드를 수정하고 필요한것을 제작하여 게임을 주로 제작했는데 이런식으로 계속 해도될지 걱정이 되서 질문드립니다. 실무에서는 어떻게 코드를 짜시나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
Array.Sort()와 PriorityQueue의 차이
제일 좋은 후보를 찾기해서는 PriorityQueue말고 배열의 내림차순을 할 수 있는 Array.Sort()도 사용 가능 할것 같은데 두 함수 사이의 성능차이가 커서 사용을 하시지 않은 것 인가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
같은 뜻이 아닌가요?
{-1, 15, -1, 35, -1, -1 }, {15, -1, 05, 10, -1, -1 }, {-1, 05, -1, -1, -1, -1 }, {35, 10, -1, -1, 05, -1 }, {-1, -1, -1, 05, -1, 05 }, {-1,-1, -1, -1, 05, -1 }, 이부분에서 영상대로 따라하지 않고 -1부분을 0으로 해 놓고 맨 마지막에 디버깅할때 distance랑 parent 조사식을 보고 값이 달라서 알아챘는데요. 강사님은 -1이 더 편하다고 하셔서 편의상 -1을 쓰고, 0이여도 같은 결과가 나올줄 알았는데 아니네요. 음수가 더 활용성이 더 많은건가요?? 궁금합니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
VSCODE에서 디버깅 하는 법을 알 수 있을까요?
vscode 사용자입니다. 현재 cmd 상에서 dotnet run 명령어로 대략적으로 코드 결과는 보고 있습니다만, 디버깅은 작동시키기가 어렵네요. 혹시 추가 강좌나 튜토리얼 링크가 있다면 알려주시면 감사하겠습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
25x25 무한 루프
for문을while문 밖으로 넣으면 무한 루프가 안 걸리고 while문 안에 넣으면 무한루프가 걸렸는데강사님처럼for문을 while문 안에 넣고 무한 루프가 안 걸리는 방법이 있을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
7분 2초쯤에
이책에서 설명하기를 이라고 말씀하셨는데 혹시 가능하시다면 어떤책인지 알수있나요 ??
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
A* 구현에서
마지막 강의 6분 50초 쯤 부터 보시면 if (open[nextY, nextX] < G + H) continue; 라는 코드를 짜셨는데, 여기서 open[nextY, nextX]는 (nextY, nextX)좌표의 이미 찾은 F값이고, G + H 는 방금 새로 구한 F 값이라고 하셨는데요 if (closed[nextY, nextX]) continue; 위 코드로 이미 F값을 한 번 구했던 노드로 가는 건 스킵을 했는데 어떻게 이전에 구했던 F값과 새로 구한 F값을 비교할 수 있는지 궁금합니다.