コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】int 型の数値を 3 つの要素を持つ配列にランダムに分解する例

概要

[MenuItem( "hoge/hoge" )]
private static void Hoge()
{
    var number    = 9; // 分解したい数値
    var array     = new int[ 3 ];
    var remaining = number;

    for ( var i = 0; i < array.Length - 1; i++ )
    {
        var maxValue = remaining - ( array.Length - i - 1 );
        array[ i ] =  Random.Range( 1, maxValue + 1 );
        remaining  -= array[ i ];
    }

    array[ ^1 ] = remaining;

    foreach ( var element in array )
    {
        Debug.LogWarning( element );
    }
}