アルゴリズム(詳細)


「詳細」とはいってもそんなに細かく書いてあるわけではありません
個人ベースの事なので「これぐらいでも大丈夫だろう」程度だと思ってください


  1. 変数宣言
    使用する予定の変数は以下のとおり
    numTargetLength
    変換対象文字数
    strOutText
    出力文字列
    strSettingColor
    設定色
    numCount
    ループカウンタ
    strTemp
    テンポラリ
    strDifferenceMinute
    開始・終了差分
    strChangeRate
    変化率
    strMinusFlag
    マイナスフラグ
  2. 対象文字数取得
    全角文字一文字を一文字と解釈できる環境でなければ文字数がくるう可能性があります
    したがって、信用しすぎない方がいいのかもしれません
  3. 開始・終了差分取得
    開始・終了差分を取得します、この時「#RRGGBB」から「R,G,B」へ、「R,G,B」から「#RRGGBB」へコンバートする必要があります
  4. 変化率取得
    開始・終了差分を変換対象文字数で割っているだけです
    この時、四捨五入するのを忘れると痛い目にあいます
  5. 初期値設定
    開始色の設定、出力文字列のクリアを行っているだけです
  6. 下記を文字数分繰返す
    一文字目は"0"なので、実際には「numTargetLength-1」が最終文字になります
    1. 一文字目かを判断する
      "0"から始まっているので当然、"0"であるという判断をするだけです
    2. 一文字目以外なら文字の色を変化させる
      strSettingColor+strChangeRateをするだけです
      この時も「#RRGGBB」から「R,G,B」へ、「R,G,B」から「#RRGGBB」へコンバートする必要があります
  7. 変換した文字列を返す
    変化させた文字列を戻り値にするだけです
 

戻る