자유게시판

미드나잇 블루는 적도  스킬 수의 제한 (카드 장수 형식) 을 가지고 있으므로

적이 만약 스킬을 사용할 수 없게 된 경우에는 일반공격 혹은 방어를 선택해야 합니다.

그리고 기본 공격/방어  역시 스킬 카드의 모양을 보여주어야 하므로

다음과 같은 루프문을 짜서 적용시켰습니다.

 

알고리즘 적으로 정리되지 못하고 좀 조잡한 느낌이 있긴 하지만

실행 시간에는 큰 영향을 미치지 않더군요.

 

 

( 사실 이건 나중에 고쳤다가 잘못되버릴 경우를 대비한 백업 )

 

# 우선 루프는 적의 행동이 결정될때까지 반복되어야 하므로 loop 반복문을 사용

      loop do

# 처리시간 존재하는 loop 문 내에서 그래픽은 update 하지 않으면 안되더라
        Graphics.update
        Input.update

# available_actions 배열은 루프문 앞에서 make_action 메소드 내부에 정의 되어 있다.
        if available_actions.size == 0
# 만약 사용 가능 스킬이 하나도 없을 경우, 크기 2의 난수를 활용해서

          random_num = rand(2)
# 50% 확률로 공격과 방어 구분

          if random_num % 2 == 0

# kind 가 0이면 skill 이외의 행동을 의미
            self.current_action.kind = 0

# basic 이 0이면 공격, 1이면 방어
            self.current_action.basic = 0

# skill_id는 사실상 카드를 표현하는데 쓰인다. 998 과 999는 실질적으로 사용되는 스킬이 아닌 카드 표시용 이미지만 가진 스킬
            self.current_action.skill_id = 999

# 공격시 랜덤타겟을 뜻한다.
            self.current_action.decide_random_target_for_enemy

# 리턴은 루프를 끝내기 위해 필요
            return

# 솔직히 브레이크는 필요없다. 무한루프 방지용 안전빵이라는 것으로.
            break

# 이거슨 방어. (kind 0, basic 1) 바로 위의 공격 부분과 동일
          elsif random_num % 2 == 1
            self.current_action.kind = 0
            self.current_action.basic = 1
            self.current_action.skill_id = 998
            self.current_action.decide_random_target_for_enemy
            return
            break
          end
        end

# avaiable_actions 는 배열이다. action 은 앞의 배열 중에서 한 element를 뽑기 위한 index로 사용

        action = available_actions[i]

# action의 rating은 3이상 차이나게 하지 말자.
        if action.rating > rating_max - 3
          if value < action.rating - (rating_max - 3)

# 랜덤 변수 value가 rating 범위 내에 들었을 경우,

# 해당 스킬을 current_action에 대입 (kind는 1, basic은 상관없음, skill_id는 해당 skill의 id
            self.current_action.kind = action.kind
            self.current_action.basic = action.basic
            self.current_action.skill_id = action.skill_id

# 이 부분은 미드나잇 블루만의 스킬 데이터베이스에 속한

#has라는 자기참조 메소드. has[i] 는  id " i " 의 값을 가진 액터가 가진 스킬의 수를 의미.

#  액터가 적일 경우, id 에 100을 더한 값의 index에 값을 저장한다.

# 이 경우, 해당 스킬의 스킬카드의 장수가 0 이하일 경우
            if $data_skills[self.current_action.skill_id].has[self.id + 100] <= 0

# 유효 액션에서 해당 스킬을 지운다.

# 세이브/로드 시 이 정보는 기록되지 않으므로 전투 1회에 한정된다.

              available_actions.delete(action)

# 루프  테스트용  윈도우 출력 구문.
              # p available_actions

# 루프 진행용 변수 i.  만약 유효액션보다 i가 커지면 i값 초기화
              i += 1
              if i >= available_actions.size
                i -= available_actions.size
              end

#만약 원하는 스킬을 얻지 못했을 경우 루프를 종결시키지 않고 진행시킨다.
              next
            end
                       
# 만약 스킬의 내용이 정해졌다면 타겟을 정하고 return 한다.            
            self.current_action.decide_random_target_for_enemy
            return
            break
           
          else
            value -= action.rating - (rating_max - 3)
          end
        end
# 역시 루프 진행용 변수 i.        
        i += 1
        if i >= available_actions.size
          i -= available_actions.size
        end

      end

Who's 시트르산

?

제작중인 게임 :

Midnight Blue  (미드나잇 블루) - RPGXP

 공동제작 : 휘파람개비님

 시스템 : 45%, 스토리 : 10%, 맵 : 3%, 제작 : 1%

 CG : 2%         총 진행도 : 3%

 

 이번 게임은 공동제작인 만큼 최선을 다하겠습니다 ^^

기다려주세요~~


List of Articles
분류 제목 글쓴이 날짜 조회 수
공지 아방스 게시물 · 댓글 작성 규칙 (최근 수정일 2015.11.25) 17 file 완폐남™ 2012.07.17 41184
막장 [hnh]집 털린듯 9 슈팅스타* 2012.05.31 1145
막장 예전 수패시절에 나온 어떤 RPG 플레이중. Alkaid 2012.05.31 908
막장 용사는 비겁해야 제맛? 다시.... 4 Alkaid 2012.05.29 873
막장 전에 글 쓰면서... 1 Alkaid 2012.05.28 1111
막장 동일인물이 매체에 따라 다르게 그려진 모습. Alkaid 2012.05.27 1804
막장 [hnh]아방스의 hnh유저분들에게 부탁 한가지만. 6 file 슈팅스타* 2012.05.27 1644
막장 또 유튜브에서 아무 동영상이나 하나 집어온 것. 1 Alkaid 2012.05.25 1709
막장 용사는 비겁해야 제맛? 6 Alkaid 2012.05.24 1468
막장 창작물을 보다 보면 이런 상황도 있습니다. 3 Alkaid 2012.05.23 1301
막장 유튜브 동영상 아무 거나, 그리고 그냥 생각난 것. Alkaid 2012.05.21 980
막장 hnh현재상황 2 하늘바라KSND 2012.05.18 1411
막장 던파 해킹먹었음. 4 슈팅스타* 2012.05.17 1388
막장 이번에는 팔자에도 없는 IRC인가.. 7 Alkaid 2012.05.11 1296
막장 사람이 살면서 말조심을 해야겠네요 ㄷㄷ 1 톰소여동생 2012.04.30 837
막장 그냥 생각난 것. 6 Alkaid 2012.04.26 2056
막장 유튜브 돌다가.... 2 Alkaid 2012.04.22 2067
막장 으아아아 2 하늘바라KSND 2012.04.21 2036
막장 18m. 3 Alkaid 2012.04.18 2339
막장 우훗, 멋진 갑옷 디자인.... 5 Alkaid 2012.04.17 1638
막장 또 다른 건담무쌍 3 플레이영상. 6 Alkaid 2012.04.16 1844
목록
Board Pagination Prev 1 ... 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 ... 64 Next
/ 64