44,000원
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
로비로 돌아가면 hp정보가 저장되지 않는 이유가 궁금합니다.
코드에서 계속 ref player를 이용하여 원본의 값을 이용하였는데 전투를 하다가 로비로 돌아가 다시 직업을 고르면 이전에 남아있는 hp정보가 초기화되는 이유가 궁금합니다. EnterGame(ref Player player) 메소드를 벗어나면서 해당 메소드가 Player값을 반환하지 않기 때문이 맞나요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
xor 질문
int id = 123; //해킹 당하면 안되는 값int key = 401; // 그래서 암호화 한 값int a = id ^ key; // 암호화 하여 뒤바뀐 401의 값이 네트워크에 흘러가야 하는거 아닌가요?int b = a ^ key; // int b 는 원래 값이란건가요? 왜 490이 나오는지도 모르겠고..^xor이 그냥 뒤바뀌는거면int a = id ^ key; 에서id는 401 key는 123이 되야 하지 않나요..?!!
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
++hp hp++ 질문이요
콘솔 라이트라인은 마지막 출력문인가요?그니까 만약 게임을 만드는데++hp랑 hp++랑 구분해서 쓸 때가 있나요? 예를들어 어떤 상황이 있는지 설명해주세요 ㅠ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
소수를 포함한 크기가 다른데 변환할때요
게임 제작에 있어 저렇게 프로그래밍 할 이유가 있나요? 그니까 애초에 저렇게 변환을 할 이유가 뭐가 있나요?정확하지 않고 오버되는 값은 다 분실되는데 저렇게 하면 망하지 않나요..?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
TextRPG2 강의 질문입니다
비전공자가 공부중인데 너무 기초적인 질문인것같지만혼자하다보니 헷갈려 질문남깁니다.static 함수가 아닌경우 함수 호출을하려면 객체를 생성후 호출을 해야한다고 알고있습니다 .메인함수에서 Game game = new Game();으로 game 객체 생성 후 game.Process(); 함수를 호출하는것은 이해가 가는데 Game 클래스 내에서 ProcessField()등 다른 함수들을 호출하는 동안은 game.을 작성하지 않고 호출하는데 같은 클래스에서 함수호출은 game.과 같이 객체 이름을 따로 작성하지 않아도 되는건가요?그냥 되나보다 생각하려다 확실히 알고싶어 질문남깁니다.며칠째 강의보고 RPG 혼자 만들보려는데 정말 어렵네요..
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
TextRPG EnterField 부분
using System; //ref : 기존 변수를 메서드에서 수정할 때 사용 //out : 메서드 내에서 생성된 값을 반환할 때 사용 namespace TextRPG_1 { class Program { enum ClassType { None = 0, Knight = 1, Archer = 2, Mage = 3 } struct Player { public int hp; public int attack; } static ClassType ChooseClass() { Console.WriteLine("직업을 선택하세요"); Console.WriteLine("[1] 기사"); Console.WriteLine("[2] 궁수"); Console.WriteLine("[3] 법사"); ClassType choice = ClassType.None; string input = Console.ReadLine(); switch (input) { case "1": choice = ClassType.Knight; break; case "2": choice = ClassType.Archer; break; case "3": choice = ClassType.Mage; break; } return choice; } static void CreatePlayer(ClassType choice, out Player player) { switch (choice) { case ClassType.Knight: player.hp = 100; player.attack = 10; break; case ClassType.Archer: player.hp = 75; player.attack = 12; break; case ClassType.Mage: player.hp = 50; player.attack = 15; break; default: player.hp = 0; player.attack = 0; break; } } enum MonsterType { None = 0, Slime = 1, Orc = 2, Skeleton = 3 } struct Monster { public int hp; public int attack; } static void CreateRandomMonster(out Monster monster) { Random rand = new Random(); int type = rand.Next(1, 4); switch (type) { case (int)MonsterType.Slime: Console.WriteLine("슬라임이 스폰되었습니다"); monster.hp = 20; monster.attack = 2; break; case (int)MonsterType.Orc: Console.WriteLine("오크가 스폰되었습니다"); monster.hp = 40; monster.attack = 4; break; case (int)MonsterType.Skeleton: Console.WriteLine("스켈레톤이 스폰되었습니다"); monster.hp = 30; monster.attack = 3; break; default: monster.hp = 0; monster.attack = 0; break; } } static void EnterGame(ref Player player) { while (true) { Console.WriteLine("마을에 접속했습니다"); Console.WriteLine("[1] 필드로 간다"); Console.WriteLine("[2] 로비로 돌아가기"); string input = Console.ReadLine(); switch (input) { case "1": EnterField(ref player); break; case "2": return; } } } static void EnterField(ref Player player) { while (true) { Console.WriteLine("필드에 접속했습니다"); Monster monster; CreateRandomMonster(out monster); Console.WriteLine("[1] 전투 모드로 돌입"); Console.WriteLine("[2] 일정 확률로 마을로 돌아가기"); String input = Console.ReadLine(); if (input == "1") { Fight(ref player, ref monster); } else if (input == "2") { Random rand = new Random(); int per = rand.Next(0, 101); if (per > 33) { Console.WriteLine("도망에 실패했습니다. 전투 모드로 돌입합니다."); Fight(ref player, ref monster); } else { Console.WriteLine("도망치는 데 성공했습니다"); EnterGame(ref player); } } } } static void Fight(ref Player player, ref Monster monster) { while (true) { monster.hp -= player.attack; if (monster.hp <= 0) { Console.WriteLine("승리했습니다!"); Console.WriteLine($"hp:{player.hp}"); break; } player.hp -= monster.attack; if (player.hp <= 0) { Console.WriteLine("패배했습니다!"); break; } } } static void Main(string[] args) { while (true) { ClassType choice = ChooseClass(); if(choice != ClassType.None) { Player player; CreatePlayer(choice, out player); EnterGame(ref player); } } } } }해당 코드를 실행했을 때 처음 직업 선택 후 마을 접속 -> 로비로 돌아가기를 누르면 정상적으로 직업 선택 창으로 이동할 수 있는데,한번 필드에 접속하면 [2] 일정확률로 마을로 돌아가기 <를 성공해서 EnterGame()에 다시 접속하는 경우에는 로비를 돌아가기를 눌러도 계속해서 몬스터가 생성이 됩니다. 코드에서 어떤 부분을 고쳐야 해결할 수 있을까요? ㅠㅠ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
10진수에서 15는 어떻게 표기하나요?
그냥 11 12 13 14 15 이렇겐가요? 만약 세자리가 나와도 그냥 100 101... 158 이런식인가요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Stack&Heap 질문입니다!
스택과 힙 관련해서 궁금해서 질문입니다Windows 레지스트리와 같은 것도 힙 영역에 해당되는 것일까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
2022 버전을 다운받았는데
새 프로젝트 만들기 누르니영상처럼 유징 시스템네임 스페이스 csharp클래스 프로그램이런게 전혀 없고그냥 콘솔 writeline 헬로우월드 한줄만 있네요 디버깅은 되면 문제가 없는걸까요..
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
강의에 나와있는 2019 버전 16.4.2버전이 존재하지 않아요
그나마 비슷한 16.1.1 버전? 을 다운받았으나시작할때 .net core 가 없고 프레임워크만 있습니다.그래서 그냥 어차피 인터페이스 달라지는거 2022 최신버전 설치 하였는데 그대로 진행해도 괜찮을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
2019로 다운받았는데요
첫번째 사진처럼 나와서 강의대로 두번째처럼 입력했는데 F5누르니까 디버깅창? 이 안뜨고 그냥 종료됩니다 ㅠㅠ 뭣때문에 그런건가요 ㅠㅠ
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
한글 입력시 글자가 지워지는 오류
안녕하세요, 아무리 검색해도 해결 방안을 찾을 수 없어질문 드립니다. 맥북 M1 Visual Studio 2022 for Mac 사용하고 있습니다.사진과 같이가위입니다. 를 입력하면 마지막 글자인 '다'가 지워지는데.. 어떻게 하면 될까요......가위입니다1 로 입력했을 때도 똑같은 오류가 발생해가위입니1 이 됩니다.... 혹시 해결 방안 아실까요........
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
c# 1강 완료후 질문있습니다
자료구조에 대해서 지식이 있다고 생각하여 c#보다는 내용이 많아보이는 c++바료구조 강의를 구매하였는데 2강c#자료구조파트에서 유니티에서 사용되는강의가 있나요? 또는 c++자료구조와 c#자료구조강의에서 c++자료구조에서 배울수없는 자료구조 강의가 있을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
프로퍼티 관련 질문입니다
프로퍼티를 사용하는 것과 사용하지 않는 것의 차이점은 조건을 설정할 수 있다와 설정할수 없다 이외에 차이점이 있나요? 그러한 차이점이 없다면 성능상 비효율적인 프로퍼티인 public int Hp { get; set; };대신 public int hp; 로 구현하는게 더 효과적일거라고 생각했는데 이때에도 프로퍼티를 사용할만한 이유가 있을까요?
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
Lambda (람다식) 강의 10:54분 질문입니다.
Item item = FindWeapon(delegate (Item item) { return item.ItemType == ItemType.Weapon; });영상 57번째 줄 입니다.현재 이렇게 코드를 작성하면 item 선언 관련해서 에러납니다.선언한 변수 item과 delegate 파라미터 item 이름이 겹쳐서 문제가 되는 것 같네요.IDE 마다 다르게 나오는 건지 확인 부탁드립니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
강의 해상도 문의 합니다.
파트1 강의 중간부터 최대 해상도가 720P 입니다. 1080은 올리실 계획이 없나요?인프런 측에서는 지식제공자가 설정하는 것이라고 답변하네요.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
전체 주석 처리하는 법
안녕하세요.교수님 강의하실때 블럭을 지정하고 한번에 주석처리를 하시던데 어떻게 하는건지 궁금합니다.
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
구구단 연습문제 for문 말고 do while로 하면
2x1=2까지만뜨고 for문처럼 반복이 안되는데 이유를 모르겠네요 ㅠ그리고 앞에 i에 대한건 for문이고 안에만 do while로 해도 2X1 = 2 ~ 9X1=9 까지 8개 항만 뜨네요... do while끼리 중첩이나 for문 안에 들어가면 작동을 안 하는건가요?? int i; int j; do { i = 2; do { j = 1; int m = i * j; Console.WriteLine("Hello World!"); Console.WriteLine(i + "x" + j + "=" + m); j++; } while (j == 10); i++; } while (i == 10); } }
- 미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
[TextRPG2 플레이어 생성] 생성자 함수호출 질문
TextRPG2 플레이어 생성 강의 12:40초쯤에나이트 생성자 안에 SetInfo함수가 호출되는데그냥 나이트 클래스 내부에는 SetInfo함수 호출이 안되는 이유가 뭔가요? 상속된거 아닌가요?
- 해결됨[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
접근제어자 질문
조금 뜬금없는 질문일 수도 있지만 .NET6.0 이상에서 콘솔앱 탬플릿을 생성할 때 Program 클래스 앞에 internal 접근제어자가 붙는 것을 봤습니다.internal 접근제어자가 무엇이고 어떤이유로 Program 클래스 앞에 붙는지 알 수 있을까요??무의미한 궁금증일지도 모르지만 너무 궁금합니다 ㅠㅠ