SRC意見交換掲示板Mk2
(現在 過去ログ36 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■3780 / inTopicNo.1)  敵味方の入り乱れての行動
  
□投稿者/ ティガー -(2004/10/11(Mon) 16:13:06) [ID:2Nxd2rnn]
    こんにちは、敵味方の行動順を運動性によって
    高いものから行動できるようにしたのですが
    何か物足りないような気がしまして‥‥どなたか意見お願いします。
    長くなりますが、乗せさせてもらいます。
    ちなみに差が多きすぎると最大二回余分に動けるようにしました。

    以下インクルード
    *プロローグ:
    現ターン行動者 = 0
    最初のターン = 1
    Exit

    *ターン 全 味方:
    生存者数 = 0
    行動順番数 = 1
    ForEach 全
    Incr 生存者数
    Next
    ForEach ユニット名 In ユニット一覧(運動性)
     行動順番[行動順番数] = ユニット名
    Incr 行動順番数
    Next
    If 最初のターン = 0 Then
    Incr 現ターン行動者
    Else
    現ターン行動者 = 1
    EndIf
    If Not (生存者数 < 現ターン行動者) Then
    If Not (現ターン行動者 = 1) Then
    Incr ターン数 -1
    Incr 総ターン数 -1
    EndIf
    EndIf
    If (現ターン行動者 > 生存者数) Then
    現ターン行動者 = 1
    EndIf
    行動するキャラ = 行動順番[現ターン行動者]
    ForEach 全
    If 最初のターン = 0 Then
    If Not (対象ユニットID = 行動するキャラ) Then
    Finish
    EndIf
    Else
    Finish
    EndIf
    Next
    If (現ターン行動者 = 1) Then
    ForEach 全
    二回行動終了[対象ユニットID] = 0
    Next
    EndIf
     行動順処理数 = Info(行動するキャラ, 運動性)
    Center 行動するキャラ
    ForEach 全
     行動数値 = ((行動順処理数 - (Info(対象ユニットID, 運動性))) * -1)
    If 最初のターン = 0 Then
    If (行動順処理数 <= 行動数値) Then
    If Not (二回行動終了[対象ユニットID] = 1) Then
    Action(対象ユニットID) = Action(対象ユニットID) + 1
    二回行動終了[対象ユニットID] = 1
    If (Party(対象ユニットID) = 味方) Then
    Center 対象ユニットID
    EndIf
    EndIf
      If ((行動順処理数 * 2) <= 行動数値) Then
    If Not (二回行動終了[対象ユニットID] = 2) Then
    If (二回行動終了[対象ユニットID] = 1) Then
    Action(対象ユニットID) = Action(対象ユニットID) + 1
    二回行動終了[対象ユニットID] = 2
    If (Party(対象ユニットID) = 味方) Then
    Center 対象ユニットID
    EndIf
    Else
    Action(対象ユニットID) = Action(対象ユニットID) + 2
    二回行動終了[対象ユニットID] = 2
    If (Party(対象ユニットID) = 味方) Then
    Center 対象ユニットID
    EndIf
    EndIf
    EndIf
      EndIf
    EndIf
    EndIf
    Next
    If 最初のターン = 1 Then
    最初のターン = 0
    現ターン行動者 = 0
    EndIf
    Exit

    *ターン 全 敵:
    *ターン 全 中立:
    *ターン 全 NPC:
    ForEach 全
    If Not (対象ユニットID = 行動するキャラ) Then
    Finish
    EndIf
    Next
    ForEach 全
     行動数値 = ((行動順処理数 - (Info(対象ユニットID, 運動性))) * -1)
    If (行動順処理数 <= 行動数値) Then
    If Not (二回行動終了[対象ユニットID] = 1) Then
    Action(対象ユニットID) = Action(対象ユニットID) + 1
    二回行動終了[対象ユニットID] = 1
    EndIf
      If ((行動順処理数 * 2) <= 行動数値) Then
    If Not (二回行動終了[対象ユニットID] = 2) Then
    If (二回行動終了[対象ユニットID] = 1) Then
    Action(対象ユニットID) = Action(対象ユニットID) + 1
    二回行動終了[対象ユニットID] = 2
    Else
    Action(対象ユニットID) = Action(対象ユニットID) + 2
    二回行動終了[対象ユニットID] = 2
    EndIf
    EndIf
      EndIf
    EndIf
    Next
    Exit

引用返信/返信 削除キー/
■3781 / inTopicNo.2)  Re[1]: 敵味方の入り乱れての行動
□投稿者/ TomTom -(2004/10/11(Mon) 16:23:08) [ID:CDMuNoz6]
    2004/10/11(Mon) 16:58:19 編集(投稿者)

    TomTomです。

    中身についてはまだよく見ていないのでなんともいえませんが、
    こちらではなく、質問掲示板のほうに書き込むべき内容ではないでしょうか。

    追記
    少し動かした感じとても楽しげな処理なので、仕事から帰ってからゆっくり検証します(笑)
引用返信/返信 削除キー/
■3782 / inTopicNo.3)  Re[2]: 敵味方の入り乱れての行動
□投稿者/ ティガー -(2004/10/11(Mon) 18:26:56) [ID:2Nxd2rnn]
    TOMTOMさん返信有難うございます。
    了解しました、この内容は質問掲示板の方に移動させていただきます。
引用返信/返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Pass/

HOME HELP 新規作成 新着記事 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -