포커 게임 + 전략적 팀 전투?
포커 게임 업그레이드
이번에 심화 과정 과제로 저번에 완성한 포커 게임을 업그레이드하는 과제가 나왔다.
다들 배팅 시스템을 만들거나 승패 시스템들의 괜찮은 시스템을 만들고 있더군요...
제 전체 요리로 말이죠...! 갸하하
내가 만들 어마 무시한 시스템은 죽어가던 전략적 팀 전투를 한번에 살려낸 괴물 같은 '그 시스템' 증강체 시스템이다.
증강체 시스템
증강체 시스템은 세 가지 특성 중에 플레이어가 원하는 특성을 얻는 시스템이다. 유닛 한 개 추가, 아이템 획득 같은 쉬운 특성부터 유닛을 대기석에 전부 사놓으면 경험치 획득, 세 턴 동안 아무 행동도 못하지만 대량의 골드 획득이 같은 재밌는 특성을 가질 수 있다. 이런 증강체 시스템이 있으면 포커에도 전략 요소가 생길 것이다.
증강체 시스템
증강체 구조체
증강체 구조체를 만들어서 생성자로 증강체 데이터를 담았다. 지금 생각해 보니 리스트를 만들어서 그곳에 데이터를 담았으면 augment를 여러 번 쓸 필요는 없었을 것 같다. 너무 데이터가 많아지면 바꿔야 할듯하다. 솔직히 데이터 만드는 게 제일 재미있다. 전략적 팀 전투를 하면서 다들 한 번쯤 증강체 직접 만들어보고 싶었던 적이 있었을 것이다. 인정?
증강체 선택 시점
증강체를 포커 게임 시작 시 고르게 했더니 그냥 아무거나 집고 운을 믿는 게임이 되어버렸다;;
증강체의 전략성을 살려야 한다.
증강체가 전략성을 가지는 시점은 덱이 어느 정도 갖추어진 중반이다. 포커게임의 증강체도 마찬가지로 중반에 등장해야 한다고 생각했다. 그래서 카드를 세 장 받은 시점에 증강체를 선택하도록 했다.
증강체 선택 창
이제 증강체를 선택할 수 있는 창을 만들 것이다.
증강체 선택 창의 기능은
증강체들이 다 같은 등급이어야 함
증강체들이 다 같은 등급이어야 함
증강체는 세 개중 하나를 선택하기
증강체는 세 개중 하나를 선택하기
한번 떴던 증강체는 다시 뜨지 않게 만들기
한번 떴던 증강체는 다시 뜨지 않게 만들기
증강체 선택 입력받아서 증강체 정보 추출하기
증강체 선택 입력받아서 증강체 정보 추출하기
선택한 증강체는 리턴해주기
선택한 증강체는 리턴해주기
등이 있다.
말은 이리 쉽게 했지만
여기서 고생 많이 했다. 확실히 처음부터 구상한 기능을 구현하는 건 무척 어려운 일인 것 같다;;
아래는 코드 전문이다.
이제 증강체를 선택하면 Cards.cs에 증강체 정보를 넘긴다. 마지막으로 증강체가 실제로 적용되는 부분만 만들면 될 것 같다.