SRC質問掲示板Mk2

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

72時間以内に投稿された新着記事


■23117 / )  式が読みこまれません
□投稿者/ ルーチンメイカー -(2024/07/26(Fri) 22:52:41) [ID:F3XncNkU]
    味方と敵の距離を求めるサブルーチンを作りたいのですが、「括弧の対応が取れていません」と出てしまいます。どれか間違っているのか、教えていただけますか?

    距離補正:
    Local distance1 distance2
    攻撃 対象ユニット 相手ユニット:
    #距離補正=3*(5-(距離*√2/2))
    #距離を√2/2倍する。
    distance1=(X(対象ユニット)-X(相手ユニット))^2+(Y(対象ユニット)+Y(相手ユニット))^2
    #三平方の定理で距離を求める。
    distance2=Sqr(2)*Abs(Sqr(distance1))/2
    #distance1に定理の続きを実行。平方根にした後絶対値に変換。それを*1/2倍。さらに√をかける。
    Exit
    Return 3*(5-distance2)
返信/引用返信 削除キー/

■23116 / )  Re[2]: 何かコードに間違いがあるのでしょうか?
□投稿者/ ルーチンメイカー -(2024/07/26(Fri) 21:52:41) [ID:F3XncNkU]
    返信ありがとうございます。
    アドバイスを取り入れてスペースにしました。それでエラーは出なくなりました。
    ヘルプはHTML版で読んでいましたが、IDが全角表記なのは初めて気づきました。見落としだったようです。

    先日の分身の確率ですが、ランダム関数の数値を技量差と照らして特殊能力のレベルを変えるやりかたにしました。

    分身発動:
    Local compate
    攻撃 対象ユニット 相手ユニット:
    compate=(Info(対象パイロット,技量修正値)-Info(相手パイロット,技量修正値))/2
    Exit
    Return compate

    分身回避
    攻撃 対象パイロット 相手パイロット:
    #能力の有無でどちらが攻撃されているか判別
    If Info(対象パイロット,特殊能力所有,分身回避)=1 Then
    If Morale(対象パイロット)>=130 Then
    #分身発動の数値は単位が%。ランダム関数で0が出せないので101を上限にする。
    If Random(101)<(Call 分身発動) Then
    #技量差より試行結果が小さくなれば変数successを1にする。試行結果が領域に含まれるかどうかで確率を再現。
    success=1
    else
    #分身発動=0の場合はこちらになる。
    success=0
    EndIf
    Switch success
    Case 1
    #success=1で必ず発動
    超回避Lv10=分身回避 0 130
    Case 0
    #success=0で常時不発。
    超回避Lv0=分身回避 0 130
    EndSw
    EndIf
    EndIf
    Exit
    分身回避=解説 気力130以上で一定の確率で攻撃を完全回避。

    これを応用して領域で確率を再現したので、技量差でレベルを変える能力は再現できました。
解決済み!
返信/引用返信 削除キー/


Pass/

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

- Child Tree -
- Antispam Version -