1. 과제 내용: 스스로 조건 만들고 결과보기(int, float, for, if, bool 을 활용)
(요구 사항)
-보스몬스터의 이름을 "큰 곰"으로 한다.
-보스몬스터를 연속공격을 통해 총 10회 데미지를 준다.
-공격중 크리티컬이 발동할 확률은 20%
-크리티컬의 추가 데미지는 1~20%이다.
-공격을 받은 이후 보스몬스터는 10%확률로 체력을 회복한다.
-회복이후 현재 보스몬스터의 체력을 보여준다.
(요구 사항에 필요한것들)
-보스몬스터의 이름을 "큰 곰"으로 한다. => 보스몬스터의 이름을 저장하여 활용 한다.(=문자열 함수 활용)
-보스몬스터를 연속공격을 통해 총 10회 데미지를 준다. => 10회 반복하여 공격을 한다. (=반복 동작은 반복문을 활용)
-공격중 크리티컬이 발동할 확률은 20% => 랜덤으로 나오는 수를 20%확률이 되도록 비교한다.(=비교확인을 위한 bool과 조건문 활용)
-크리티컬의 추가 데미지는 1~20%이다. => 랜덤으로 1~20이 나오도록 한후 기본 공격력에 추가계산한다.
-공격을 받은 이후 보스몬스터는 10%확률로 체력을 회복한다. => 랜덤을 활용하여 확률이 20%가 될수 있도록 한다.
-회복이후 현재 보스몬스터의 체력을 보여준다. => 체력의 변화를 저장할 공간이 필요하다.(=체력을 위한 변수)
+확률을 쓸때 숫자를 1부터 100까지 출력하고 그중 당첨이 되는 숫자의 수를 확률로 활용했습니다.
(예를들어 100개중 20개가 당첨이면 20%확률) %(나머지를 0으로 체크)로 개수를 정할수 있습니다.
bool test = (랜덤의 숫자 % 5 == 0); 이러면 5의 배수가 당첨숫자입니다.(5의 배수 == 100개중 20개)
2.결과 화면:
3.소스 코드:
void Start () { string monNam = "큰 곰";//보스 몬스터 이름 float monHP = 30000; //보스 몬스터 체력 int damage = 220; //기본 데미지 float monPlu = 19.9f; //회복량 var criDam = 0; //크리티컬이 20% var criPer = 0; //추가 데미지 1~20% var pluPer = 0; //회복 10% bool perChek; //확률 체크 (참,거짓) Debug.Log("보스 몬스터"+monNam+"을 사냥합니다."); Debug.Log("보스 몬스터" + monNam + "을 연속공격 스킬 10회가격합니다."); for(int i=1; i < 11; i++) { Debug.Log(i + "번째 공격을 합니다."); //크리티컬발동 활률을 위한 랜덤 criDam = Random.RandomRange(1, 101); perChek = (0 == (int)criDam % 5); if (perChek) { Debug.Log("크리티컬 발동!!!!"); //추가 데미지 계산을 위한 랜덤 criPer = Random.RandomRange(1, 21); Debug.Log(criPer+"%추가 데미지가 들어갑니다."); monHP = monHP - damage - (damage * criPer / 100); Debug.Log((damage + (damage * criPer / 100)) + "데미지를 주었습니다."); } else { monHP = monHP - damage; Debug.Log(damage + "데미지를 주었습니다."); } //회복 확률을 위한 랜덤 pluPer = Random.RandomRange(1, 101); perChek = (0 == (int)criPer % 10); if (perChek) { Debug.Log("보스 몬스터" + monNam + "가 회복합니다."); monHP = monHP + monPlu; } Debug.Log(monNam+"의 현재 체력은 " + (int)monHP + " 남았습니다."); } }
'정리 카테고리 > 실습_과제' 카테고리의 다른 글
실습_출석 + 빵보상 소스코드 (2) | 2018.02.28 |
---|---|
02.26~27 수업중 내용 연습 (2) | 2018.02.27 |
Unity-4일차 실습-과제 (02-23) (0) | 2018.02.23 |
Unity-3일차 실습-과제 (02-22) (0) | 2018.02.22 |
Unity-2일차 실습-과제 (02-21) (0) | 2018.02.21 |