SRC質問掲示板Mk2
(現在 過去ログ35 を表示中)

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

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

■6536 / inTopicNo.1)  複数のGlobal値から最大のものを拾う処理
  
□投稿者/ KURO -(2002/12/10(Tue) 12:47:47)
     こんにちは、KUROです。

     今回お聞きしたいのは、複数の値を参照して、その中で最大のものを拾い出す処理はどうするか、ということです。
     例えば、キャラごとの感情度でイベントなどを発生させる場合などで使えればと。
     対象が二人であれば、If構文で分岐を二つ作れば済みますが、三人以上の場合どうすればよいでしょうか?

     とりあえず、自分がやってみたのは、対象がN人(例えば3人なら)の場合、

     感情度A×(N-1=3人なら2になるわけで)>感情度B+感情度C →Aのイベント

     というIf構文なのですが、これだと、値同士が近い数値である場合、最大でないものまで拾い上げてしまうと指摘をいただきました。

     どうか、よろしくお願いいたします。
引用返信/返信 削除キー/
■6537 / inTopicNo.2)  Re[1]: 複数のGlobal値から最大のものを拾う処理
□投稿者/ 幻魔の公子 -(2002/12/10(Tue) 14:07:26)
     幻魔の公子です。

     単純に、二つを比較して、その大きかった方を三つ目と比較して……とやっていけばよろしいかと。
     ただ、Ifでやると、If文の分岐が凄いことになりそうですが。
     Max間数を重ねて、一度にその中の最大の変数を求めることが可能だと以前どなたかが答えられていたので(この辺は、詳しくは過去ログを探して見てください)、それを使ってSwitchコマンドを使う方が良いかもしれません。

     それでは。

引用返信/返信 削除キー/
■6549 / inTopicNo.3)  Re[1]: 複数のGlobal値から最大のものを拾う処理
□投稿者/ ANSI -(2002/12/10(Tue) 17:59:31)
    複数の値から最大値を求めたいのであれば、
    Max関数を使用するのが通例です。以下はヘルプからのコピペです。

    >Max(a, b)
    >a と b のうち大きい方の値を返します。

    3つ以上の値を扱いたいの場合、以下のように入れ子にすることで
    対応可能です。関数は内側のものから、式として評価されます。

    val_max = Max( Max(a, b), c )

    > とりあえず、自分がやってみたのは、対象がN人(例えば3人なら)の場合、
    >
    > 感情度A×(N-1=3人なら2になるわけで)>感情度B+感情度C →Aのイベント
    これは最大値云々というよりは、単なる条件式だと思うのですが……
    以下の書式で普通に動作すると思います。

    If a * (n - 1) > b + c Then
        対応処理

    それでは。
引用返信/返信 削除キー/
■6554 / inTopicNo.4)  どうもありがとうございました
□投稿者/ KURO -(2002/12/11(Wed) 11:51:48)
     とりあえず現在までは、条件式の構文(ANSIさんも仰っているコレですね→If a * (n - 1) > b + c… Then)で、動かしています。
     次はMaxで挑戦してみようと思います。
     しかし、IfでもMaxでも入れ子構造に…括弧の把握などが大変そうですががんばります(^^;


解決済み!
引用返信/返信 削除キー/
■6557 / inTopicNo.5)  Re[3]: どうもありがとうございました
□投稿者/ ANSI -(2002/12/11(Wed) 14:19:01)
    値がたくさんあって、入れ子だと括弧の対応が把握し辛い場合は、
    一度値を全て配列に格納した後、ループを使用するという方法もあります。

    val_max = 0  # 安全のため初期化

    For i = 1 To Count( val_array )
        val_max = Max( val_max, val_array[i] )
    Next
引用返信/返信 削除キー/



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

このトピックに書きこむ

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

Pass/

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

- Child Tree -
- Antispam Version -