44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
enum Class 6:20부터 질문있습니다
enum ClassType 으로 만들어서 none, knight, archer, mage 로 만든 것 까지는 이해가 되는데 Main 클래스 내부에서 ClassType choice 부분에서 choice가 enum안에서는 안만들어 졌는데 바로 사용할 수 있는 이유와 그리고 choice가 변수 역할로 만들어 지는건지 알고싶어요!
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
CS8321오류
다른 C언어는 공부하지 않고 선생님 강의만 듣고 시작한 C언어 4일차인 수강생입니다!! TEXT RPG강의까지 수강 후 여러가지 TEXT RPG를 만들어보다가 아래와 같은 코드를 만들어봤는데요 CS8321 로컬함수 'Main'이(가) 선언되었지만 사용하지 않았습니다. 라는 오류가 뜨면서 실행이 안됩니다 ㅠㅠ 혼자 정말 많이 고민해봤는데 답을 못찾겠어요.. 어떻게 해야할까요?? 그 외에도 잘못된 문법이나 필요없는식이 있을까요?? 여쭤볼 수 있는분이 쌤 뿐입니다!! 부탁드릴게요! using System; namespace Fishisland { class Program { enum FishType { None = 0, Smallfish = 1, Octopus = 2, Crucian = 3, Mackerel = 4, Marlin = 5, Tuna = 6, Dolphin = 7, Shark = 8, Whale = 9, } struct Fish { public int None; public int Smallfish; public int Octopus; public int Crucian; public int Mackerel; public int Marlin; public int Tuna; public int Dolphin; public int Shark; public int Whale; public static implicit operator Fish(int v) { throw new NotImplementedException(); } } static void PutinAquarium(int a, out Fish fish) { fish.None = 0; fish.Smallfish = 0; fish.Octopus = 0; fish.Crucian = 0; fish.Mackerel = 0; fish.Marlin = 0; fish.Tuna = 0; fish.Dolphin = 0; fish.Shark = 0; fish.Whale = 0; while (true) { if (a <= 30) { fish.Smallfish++; break; } else if (a <= 50) { fish.Octopus++; break; } else if (a <= 70) { fish.Crucian++; break; } else if (a <= 82) { fish.Mackerel++; break; } else if (a <= 89) { fish.Marlin++; break; } else if (a <= 94) { fish.Tuna++; break; } else if (a <= 97) { fish.Dolphin++; break; } else if (a <= 99) { fish.Shark++; break; } else if (a == 100) { fish.Whale++; break; } } Console.WriteLine("물고기를 집어넣었습니다"); Console.WriteLine("[1] 낚시를 계속하기"); Console.WriteLine("[2] 로비로 돌아가기"); string input = Console.ReadLine(); if (input == "1") { GoFishing(); } else if (input == "2") { EnterLobby(); } static void EnterLobby() { Console.WriteLine("[Fish island]"); Console.WriteLine("시작하려면 아무키나 누르세요"); Console.WriteLine("Press any key to start"); Console.ReadLine(); } static void StartMenu() { Fish fish = 0; Console.WriteLine("[1] 낚시하기"); Console.WriteLine("[2] 수족관 보기"); string input = Console.ReadLine(); while (true) { if (input == "1") { GoFishing(); break; } else if (input == "2") { EnterAquarium(fish); break; } } } static void EnterAquarium(Fish fish) { while (true) { Console.WriteLine("[수족관]"); Console.WriteLine($"[잔챙이] {fish.Smallfish}마리]"); Console.WriteLine($"[문어] {fish.Octopus}마리]"); Console.WriteLine($"[붕어] {fish.Crucian}마리]"); Console.WriteLine($"[고등어] {fish.Mackerel}마리]"); Console.WriteLine($"[청새치] {fish.Marlin}마리]"); Console.WriteLine($"[참치] {fish.Tuna}마리]"); Console.WriteLine($"[돌고래] {fish.Dolphin}마리]"); Console.WriteLine($"[상어] {fish.Shark}마리]"); Console.WriteLine($"[고래] {fish.Whale}마리]"); Console.WriteLine("[1] 낚시를 계속하기"); Console.WriteLine("[2] 로비로 돌아가기"); Console.WriteLine("[3] 수족관 보기"); string input = Console.ReadLine(); if (input == "1") { GoFishing(); break; } else if (input == "2") { EnterLobby(); break; } else if (input == "3") { EnterAquarium(fish); break; } } } static void GoFishing() { Random rand = new Random(); int RandomFish = rand.Next(1, 101); while (true) { if (RandomFish <= 30) { Console.WriteLine("[ 잔챙이를 잡았습니다 ]"); break; } else if (RandomFish <= 50) { Console.WriteLine("[ 붕어를 잡았습니다 ]"); break; } else if (RandomFish <= 70) { Console.WriteLine("[ 문어를 잡았습니다 ]"); break; } else if (RandomFish <= 82) { Console.WriteLine("[ 고등어를 잡았습니다! ]"); break; } else if (RandomFish <= 89) { Console.WriteLine("[ 청새치를 잡았습니다! ]"); break; } else if (RandomFish <= 94) { Console.WriteLine("[ 참치를 잡았습니다! ]"); break; } else if (RandomFish <= 97) { Console.WriteLine("[ [돌고래]를 잡았습니다!! ]"); break; } else if (RandomFish <= 99) { Console.WriteLine("[ [상어]를 잡았습니다!! ]"); break; } else if (RandomFish == 100) { Console.WriteLine("[ 대박!! [고래] 를 잡았습니다!!! ]"); break; } } Console.WriteLine("[1] 놓아주고 낚시 계속하기"); Console.WriteLine("[2] 수족관에 집어넣기"); Console.WriteLine("[3] 수족관 보기"); string input = Console.ReadLine(); Fish fish; fish = 0; while (true) { if (input == "1") { GoFishing(); break; } else if (input == "2") { PutinAquarium(RandomFish, out fish); break; } else if (input == "3") { EnterAquarium(fish); break; } } } static void Main(string[] args) { while (true) { EnterLobby(); StartMenu(); } } } } }
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
유니티에서 사용자 입력까지 대기할 수 있나요?
이전에 유니티를 대강 배운 적이 있어서 유니티로 실습하고 있습니다. TextRPG 1에서는 함수 내에서 while문을 돌리며 사용자 입력을 ReadLine으로 대기하는 방식을 사용하던데요, 유니티에서 그런 기능이 무엇인지 몰라서 Update 함수에서 키 입력을 받아, 게임 상태(enum으로 캐릭터 생성, 로비, 마을, 필드, 전투 등으로 선언했습니다)에 따라 수행할 동작을 전달해주는 식으로 구현했습니다. 그런데 입력할 키가 많아지거나 상태에 따라 누르는 키가 달라지면(전투중에는 A,S,D를, 필드에선 방향키를 누르는 등) 복잡해질 것 같더라고요. 유니티에는 유효한 사용자 입력을 받을때까지 해당 명령문에서 대기하는 방법이 없나요?
- [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
집필 문의드립니다.
삭제된 글입니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
c# 다차원 배열 질문드립니다
강의 다차원 배열에서 7분쯤에 함수 Render() 구현하는 부분에서 2차원 배열의 길이를 구할때 예를들면 int [2,3] arr 배열이 있다 가정하면 동영상에서는 2차원 배열 길이 즉 2를 구할려면 arr.GetLength(1); 을 사용해야되고 1차원 배열의 길이 3을 구할려면 즉 3이 나오도록 할려면 arr.GetLength(0); 을 사용해야 된다 하셨는데 직접 해보니까 2차원 배열 길이 즉 2를 구할려면 arr.GetLength(0); 을 해야되고 1차원 배열의 길이 3을 구할려면 arr.GetLength(1);을 해야 제대로 나오는데 제가 혹시 잘못한건지 여쭤보고자 질문드립니다
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
int (영어) 말고 int (한글)로 설정해도 되나요?
int Rock 대신에 int 바위 로 해도 상관없나요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
겟인덱스를 foreach가 아니라 for로 구현 한 이유가 뭔가요?
사소한 질문이긴 한데... 애당초 인덱스를 반환하는게 목표니까 굳이 foreach를 사용하지 않는다고 하셨는데 이유가 뭔가요? 차이를 잘 모르겠어요.
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
혹시 환경설정 올려주실 수 있나요?
눈도 편하고 정감 가서 같은 세팅으로 쓰고 싶은데 스튜디오 스타일에도 없는 것 같네요 ㅠ
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
while문에서 true 대신 choice != ClassType.None를 썼을 때의 오류
while (choice != ClassType.None) { ClassType choice = ChooseClass(); break; } 이렇게 하고 실행했을 시 choice가 컨텍스트에 없다고 떴어요. 이 경우 같은 지역 내에 choice를 만들어줄 수도 없고... 어떻게 해야하는 건가요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Convert에 Toint32가 정의되어 있지 않다고 하네요?
비주얼 스튜디오 2019에서 위와 같은 경고문구를 받았는데 어떻게 해야하나요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
여러파일에서 구독시, 기능 수행 순서 조정이 가능한지요?
안녕하세요. 강좌 잘 보고있습니다. - 각각 다른 파일이나 스코프에서 체이닝/구독 된 함수들의 동작 순서를 조정하거나 관리 할 수 있나요? - 예를들어 '충돌' 판정을 하는 매니저가 있을 때, 1.플레이어 오브젝트 파일 2.몬스터 오브젝트 파일 3.무기 오브젝트 파일 에서 충돌판정 매니저를 구독후에 제각기 다양한 기능들을 += 하여 매니저에 전달 한다고 치면, 그 기능들이 동시에 수행되는것이 아니라 3 > 2 > 1 이나 2 > 3 > 1 이런식으로 순서를 조정하고 싶다고 가정할 때 - 그런것이 가능한지 여부와 불가능 하다면, 이런 케이스에는 델리게이트를 쓰면 안되는지에 대해 여쭈어 보고싶습니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
CMD에 Hello World가 안뜨네요
프로젝트 이름은 강의랑 똑같이 CShap으로 저장했고 exe파일도 멀쩡히 있는데 CMD에서 CShap.exe를 쳐보니 내부 또는 외부명령 머시기머시기 배치파일이 아니라내요...
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
같지 않을때 break인것이 이해가안가요
같을때 break되야지 while함수를 벗어나는것 아닌가요? 같지 않을때 break이면 4또는 5를 집어넣을때 멈추는 것으로 이해가되서요
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
stack 에 있는 본체를 그 다음 함수가 ref로 받을 때
int a; // stack 에 a 라는 이름의 int라는 크기의 데이터 타입을 생성 a=1; // a 에 데이터 1을 저장 f(ref a); // 함수 f 에 a의 참조값을 넘겨주기 만약 이것이 맞다면, a의 참조값은 언제, 어디에 (stack?) 생성되었나요? int a; // a 선언 f(out a); // a의 데이터를 함수 f 안에서 변경하고 그 참조값을 반환??? 의 데이터 변경은 어떻게 이루어 지는 것 인가요? (stack과 heap에서) 마지막으로 어떠한 변수를 heap에 저장할 때 필수적으로 stack에서 참조값을 저장하게 되는 것 인가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
heap
어떠한 변수를 heap에 저장하는 방법이 'new'를 사용하거나, main함수 밖에서 선언하는 것 2개 인가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
함수 내 switch - case
함수 ClassType 안에 switch - case 구문 안에 Choice = ClassType.Mage을 하고 break; 로 빠져나오면, 그 뒤로 함수 내에서 return Choice; 를 해도 Choice = ClassType.Mage의 범위가 switch - case 구문의 중괄호 안 이기 때문에 Choice 가 ClassType.None이 되야 하는것 같은데 실제로는 ClassType.Mage값이 return 되는 이유가 궁금합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
ScriptedSandbox64 에러
강의는 잘 보고있습니다 ㅜㅜ 이걸 여기다 물어봐도 되는진 모르겠는데.. 요 몇일새 비주얼 스튜디오를 종료하면 ScriptedSandbox64 라고 버퍼 오버런? 에러가 뜨는데요. 이게 뜰때도 있고 안뜰때도 있어요 느낌상 비주얼 스튜디오로 장기간 작업하다보면 자주 뜨는 기분인데. 무슨 에러인지 아무리 찾아봐도 정확히 관련된 글을 찾아보기가 힘드네요.. 얼추 알아본바로는 메모리가 딸려서 그렇다는 말도 있고 몇년째 이어져오는 비주얼 스튜디오의 버그중 하나라는 말도있고, 악성코드가 감염되서 그렇다는 말도 있는데. 혹시 아시는바가 있으신지요 ㅠㅠ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
해상도 질문
강의중 어느 순간 부터 해상도가 720으로 떨어지는데 원래 그런건가요??
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
ref와 out의 차이는 대충 알것 같습니다.
하지만 어떤 경우에 ref와 out을 써야하는지 정확히 모르겠습니다 out이 그 변수에 값이 할당되지 않은 경우에 사용하는것이 맞습니까? 그러면 강의에서 쓰신 ref도 out으로 대체가 되는겁니까? 강의 잘 보고 있습니다 화이팅입니다!
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
5:24쯤에 질문 있습니다
while문을 빠져나가기 위한 if문에서 문장을 쓰면 == 연산자는 'string' 및 'char'형식의 피연산자에 적용할 수 없습니다. 라고 뜹니다 어떤 부분이 잘못된건가요? Console.ReadLine 함수가 string만 받을 수 있다면 1을 입력해서 input값의 1과 비교를 해야 하는데 비교가 불가능합니다