[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
TextRPG에서 싸우기 전에 몬스터 정보 확인을 하고 싶을 때
오늘도 객체지향 TextRPG를 만들면서 연습하던 도중에,
똑같이만 만들면 지루해서 다른 기능들을 추가해보는 중이였습니다.
그중, Monster 클래스에 만들어놨던 몬스터의 정보를 가져오는 함수인 GetMonsterType을 이용해보고 싶어서
Game 의 ProcessField의 선택지에 하나를 더해서 싸우기 전에 몬스터의 정보를 확인할 수 있게 만들어 봤습니다.
그냥 ProcessField선택지를 추가하면, 프로그램에서 while문으로 Process함수를 계속해서 실행하고 있기 때문에, CreateRandomMonster()함수까지 다시 실행되어 선택지를 다시 선택하는게 아니라, 다른 몬스터를 생성해 버리는 문제가 있습니다.
그 문제를 해결하기 위해서, 위와같이 몬스터를 만드는 부분과, 선택지 부분을 다른 함수로 나누었습니다.
또, 정보를 확인하고 난 뒤에, 다시 Fight()함수가 실행될 수 있도록 하기위해서 GameMode에 Fight 를 추가하여,
메인 함수의 while문에서 호출되는 Process함수 내의 mode를 GameMode.Fight인 상태로 계속 반복되게 만들어, ProcessFight()가 계속해서 실행 될 수 있도록 만들었습니다.
결과는 이렇게 나왔습니다. 정보를 확인하고 도망가거나, 싸우거나 , 다시 몬스터 정보를 확인할 수 있습니다.
6번째 객체지향TextRPG연습인데, 이게 진짜 좋은 연습방법인것 같습니다. 코드흐름이나, 제가 눈치채지 못하고 넘어가던 부분들이 하나씩 보여서 개선해가는 느낌이 아주 기분이 좋습니다.