본문 바로가기
내일배움 과제/CH 2 Rogue like JAVASCRIPT! 과제

0 설계

by GREEN나무 2024. 11. 12.
728x90

◇  할 일

◆ 스켈레톤 탐구 및 게임 설계

◇ 한 일

◆ 시나리오 정하기

 


 게임 구상

시나리오

4. 산책하다 도와주는 북극곰 베르노( 따뜻함과 평온함을 상징하는 라틴어에서 유래된 이름.)

        빙하기가 찾아온 지구. 심심해진 북극곰 포비돈(임시명)은 여행을 가기로 했습니다.

       ex) 길 앞에 다람쥐 들이 얼음 속에서 도토리를 꺼내려 고생하고 있네요. 도와주시겠습니까?

               1. 도와준다 2. 무시한다

도와주는 목적 : 음식, 아이템 얻기

 

◆주요 퀘스트 : 얼음에서 물건 꺼내기

▷사람의 경우 : 높은 확률로 공격, 완료 시 라이터, 라면 등 레어탬 지급

 ■사람을 만났다. 도와줄까 ? 피할까?

  ○ 자동 랜덤 이벤트( 접근만해도 공격 / 도와주고 공격당하기 / 도와주고 얻어먹기 ) 

   - 사람이 공격함 :  1. 싸움, 2. 도망가기

       - 사람 내구력 랜덤 설정, 스테이지 올라가면 증가

       a. 싸움 : 1. 일반 공격 2. 양 팔로 때리기(쿨타임 만들기) ( 데미지 랜덤) 3. 방어하기(이번텀 공격있으면 데미지0)  4. 도망가기(아래 b.로 이동)

         총을 맞았다/ 칼에 맞았다/주먹에 맞았다/ 차엿다   < 랜덤 hp 깎기

               이기면 아이템 획득, 포만감 up

               사망 시 패배. (지는 조건 : 포만감0 or 체력0)

    

                   스테이지 5 이후로 전투 자동 결과, 연속타격(3회?) 기능 만들기

더보기

 - 사람이 공격함 :  1. 싸움, 2. 도망가기, 3. 전투 자동 진행

       - 사람 내구력 랜덤 설정, 스테이지 올라가면 증가

       a. 싸움 : 1. 3회 연속공격(3회차 랜덤 데미지 주고받기) 2. 일반 공격 3. 양 팔로 때리기(쿨타임 만들기) ( 데미지 랜덤) 4. 방어하기(이번텀 공격있으면 데미지0)  5. 도망가기(아래 b.로 이동)

         총을 맞았다/ 칼에 맞았다/주먹에 맞았다/ 차엿다   < 랜덤 hp 깎기

 

       b. 도망가기: 스테이지넘버 유지, 이벤트 새로 생성 전에 console.log('길을 따라 걷는다')같은거 출력

▷ 동물의 경우 : 다양한 음식 득탬. 소소한 포만감, 행복지수 up

 ■울버린/ 아기곰/ 다람쥐 를 만났다. (1. 도와준다, 2. 무시한다)

                                        얼음 깨는 과정에서 랜덤으로 얼음에 의한 상처 받음-> 행복or Hp 깎기

                                         음식에 따라 포만감 설정하기

1. 도와주자

-얼음 내구도 랜덤 설정, 스테이지 올라가면 내구도 올리기

   - 얼음을 부수자 (1. 부수기) - 얼음 내구도 데미지 랜덤, 20번 안에 끝내자

      1. 부수기 선택 할 때마다 얼음 깨는 과정에서 랜덤으로 얼음에 의한 상처 받음-> 행복or Hp 깎기

             얼음 깨기 성공 시 얼음 안의 내용물 나눠받음 (음식에 따라 포만감 설정하기)

2. 무시한다 : 스테이지넘버 유지, 이벤트 새로 생성 전에 console.log('길을 따라 걷는다')같은거 출력

 

◆ 사이드 퀘스트 : 잠자리 만들기/ 불 피우기 / 공복- 받은거 먹기?

▷불 피우기( 1. O , 2. X)

 ■ 나뭇가지 모으기

 ■ 라이터여부로 불 붙이는 방법 차이.

   -라이터 사용해서 불 붙이기(1. O , 2. X)

       가방에 라이터 없으면 손으로 비비기 

 

▷음식 먹기

   소지한 아이템 중에 고르기. 라면은 불피우기 쿼스트 건너뛰면 사용못함

불피우기 건너뛰면 다음 스테이지로 넘어가기 전에 행복 깎기

 

게임 결과

행복도 기준으로

80~100 : 즐겨운 여행을 마친 베르노. 행복하게 집으로 돌아갑니다.

40~80 : 괜찮은 여행이었어요. 이번엔 어디로 여행을 가볼까요? 

10~40 : 힘들어요 ㅠㅠ 어서 집으로 돌아가고 싶네요

0~10 : 괜히 나왔어. 집으로 돌아갈레요.

 

 

기각된 시나리오

더보기

      

1. 산책중에 야생동물 출현(먹이 주기)

2. 몬스터 사냥

3. 동물 빗질하기

     동물별로 슽케이지 나눠서

         털 빗기 -> 털 줍기 -> 털로 공 or 인형 만들기 => 다음 동물

▷ 털 빗기 :

          1. 머리(_%완료), 2. 꼬리 (_%완료) , 3. 등 (_%완료) , 4. 배 (_%완료)  

          % 낮은 순으로 ' __의 털이 뭉쳐있다' , '털이 덜 빗어졌다' 등 출력

          ○ 공격 미스 - 고양이가 몸을 비틀었다 : 이번 털빗기 0% (랜덤. 털 빗기 선택시 5%정도?)

            일반 공격 -꼬리털 빗기  2% 완료 (일반공격성공률 높게. 완료%는 1~15% 랜덤으로)

            공격당함 -고양이가 나를 물었다 Hp 3 감소 (넣을 필요가 있을까?)

▷ 털 모으기 : 

          1. 털줍기 2. 청소기 돌리기(빨리 끝내기)

           1. 모으기 2. 버리기

          모으기 하면 인형만들기 단계로 이동

▷동물털로 인형 만들기 :

         1. 공모양을 만든다(빨리끝남) 2. 인형을 만든다

         바늘로 찌른다(완성도 랜덤 %), 털을 추가한다(추가횟수 제한?)

     완성시 글자티콘가져와서 동물모양이나 공모양 띄워주기

 


과제 조건 맞추기

있는 조건이면 , 없으면

필수 기능 가이드

1. 단순 행동 패턴 2가지 구현

- 공격하기

- 도망치기

 

2. 플레이어 클래스에서 플레이어 스탯 (공격력, 체력 등) 관리하기  

 

3. 간단한 전투 로직 구현

- 플레이어 공격, 몬스터 피격

 

4. 스테이지 클리어 시 유저 체력 회복

 

5. 스테이지의 진행과 비례해서 몬스터의 체력과 공격력 증가 시키기

 

 

필수 기능 공통 가이드

더보기

1. switch 분기문을 사용하여 유저의 각 행동에 대한 로직을 처리해보세요.

 

2. while 반복문을 사용할 때는 종료 조건이 무조건 있어야 합니다.

b. 스테이지 클리어 및 게임 종료 조건

b. 몬스터와의 전투 종료 조건

 

3. Math.random()메서드를 통해서 랜덤한 숫자를 얻을 수 있습니다.

 

4. 플레이어의 공격은 선택에 의해서 이루어지지만, 몬스터의 공격은 자동으로 처리가 된 뒤 해당 플레이어의 로그에 보여지게 됩니다.

 

5. 함수의 호출 순서에 따라서 각 변수, 객체들을 관리하는 것이 중요합니다.

 

도전 기능 가이드

1. 확률 로직 적용

- 연속 공격, 방어, 도망치기

- 스테이지 클리어시 유저 능력치 증가, 증가량

- 몬스터의 공격력, 체력 증가량

2. 복잡한 행동 패턴 구현

- 연속 공격

- 방어하기

- 그 외 다른 행동

이동, 전투, 야영 시 도트 이미지 보이기

 

도전 기능 공통 가이드

더보기

1.랜덤, 확률을 사용하는 것을 어렵게 생각하지 마세요.

   a. Math.random() 메서드를 응용하여 0~5 사이의 정수가 랜덤으로 생성된다고 가정할 때, 우리는 [0,1,2,3,4,5] 6가지 랜덤한 선택지를 가질 수 있게됩니다.

   b. 확률의 경우도 마찬가지로 Math.random() 메서드를 응용하여 0~99 사이의 정수를 생성한다고 할 때, 10%의 확률은 0~9사이의 숫자가 생성될 확률이랑 같습니다.

2. 새로운 기능을 추가하는 것을 망설이지 마세요!

 


 기억할 것

참고한 코드로 기능 구현 성공하면 어떻게 동작하는지 정리부터 합시다.

코드 비교 사이트 : https://www.diffchecker.com/

 

'내일배움 과제 > CH 2 Rogue like JAVASCRIPT! 과제' 카테고리의 다른 글

CH2 TIL  (0) 2024.11.14
텍스트 로그라이크 코드_2  (0) 2024.11.13
텍스트 로그라이크 코드_1  (0) 2024.11.12
1. 개발환경 세팅  (2) 2024.11.11