[random dice #1] 기획

2023. 1. 12. 14:10toy project

만들려고 하는 게임

 

Class 구현

Random Dice Battle

- 주사위를 굴려 주사위 눈의 숫자에 따라 공격과 방어가 결정

- 눈의 숫자가 높을수록 더 큰 공격 또는 방어를 실행

- 몬스터를 잡으면 점수를 획득 (몬스터의 종류에 따라 획득 점수 상이)

- 몬스터의 공격 행위 역시 랜덤으로 실행

 

 

Creature //몬스터와 플레이어의 부모 객체

HP / ATTACK / SHIELD 값 관리

Die(HP0이 되었을 때, 사망처리)
-사망을 콘솔에 출력

OnDamaged(데미지를 받을 때)
- 쉴드가 데미지보다 낮을 때 hp(damage-shield)만큼 차감
- 해당 동작 이후 hp0이 된다면 Die 함수 실행

 

Player

RollDice
-active 값을 1~6의 랜덤값으로 받아 짝수면 방어 홀수면 공격 실행
-active 주사위와 value 주사위가 같은 값이면 한 번 더 주사위를 굴려 합 연산을 실행

GetActive
-type 변수의 값이 짝수면 shield 값에 주사위 눈의 합을 대입
-홀수면 attack 값에 주사위 눈의 합을 대입

 

Monster

SetInfo
-enum을 통해 몬스터의 종류를 설정 (type값을 랜덤으로 지정하여 저장)
-HP / ATTACK / SHIELD 값을 배열로 만들어 enumint 값을 index로 활용

RollDice
-active 값을 0~1의 랜덤값을 받아 짝수면 방어 홀수면 공격 실행

Recreate
-몬스터가 사망했을 때 재생성 (type값 재지정)

 

Program

Battle
-각 객체의 active 값을 받아서 Battle을 진행
-양 객체의 GetAttack / OnDamage 실행
-몬스터가 죽으면 monster.recreate 실행
-플레이어가 죽으면 기록 표시 후 게임 오버

Start
-record0으로 초기화
-Battle 함수를 불러와 게임 시작