***********************************************************************************************
REVERSE 制作秘話
Copyright(C)
2010 by しげるがもげる
***********************************************************************************************
◆はじめに
このドキュメントには、制作に関わっての作者の思いや苦労が書いてあります。
技術的な細かいことに興味のない方は、読み飛ばしてください。
エクセルでマクロを組んでみようかなと思われる方は、読むと参考になる部分があるかもしれません。
◆制作秘話
最初は、クリックすると、思わぬ模様が出来て面白いので、面をクリアする形にしようと70面くらいまで作ったのですが、
実際にやってみるとこれがやたら難しくてなかなか解けません。
それで、もっと簡単に、色が変わる法則などもやりながら見つけられる程度の形にしました。
◆工夫や苦労など
<問題の作成方法>
問題を作成する行程は、「@全部の面を赤にする。A3回の問題なら、3カ所違う場所をクリックする。」です。
最初、縦と横の座標をそれぞれ乱数で出そうかと思ったのですが、さすがに1〜5までだとダブリが出る可能性が高い。
そこで、1〜25までの乱数を出して、縦軸は、(N+4)¥5 として算出し、横軸は、(N+4)MOD 5 +1 として算出した。
¥・・・わり算の商を求める。 MOD・・・わり算の余りを求める。
しかし、これでもダブルが出ることがある。
そこで今度は、乱数をそのまま使い(小数点以下15桁なので)、それを25個並べランキングを付けた。
そして、上からランキングを順番に拾ってきた。(これが欲しい数字になる。)
これなら、ダブリはかなり減らすことが出来る。
でも、これでもたまにダブリが出てくることがある。
完全にダブリをなくす方法はないものだろうか?
こうなったら、ダブリがあったら計算をやり直すしか方法がないだろう。
ただ、1から順番にあるかどうかを比較するのは、非常に能率が悪い。
もっと簡単に、わかる方法はないものか?
そうやって考えていたら、いい方法が見つかりました。
それは、算出したランキングの合計を比較する方法である。
1〜25までだと、通常は合計が325になる。
ところが、1つ重複があると324になり、2つ重複があると323になる。
つまり、合計が325でなければ、計算をやり直せばいいわけだ。
これで、何回で解ける問題になっても、同じ場所をクリックすることは完全になくなった。
◆最後に
ここまで、熱心に読んでくださってありがとうございました。
プログラムを組んだことのない方には、わかりにくい内容だと思いますが、これを機会にエクセルの
マクロに興味を持っていただければ、と思っています。
エクセルは、本当に楽しいツールです。自分の思いや考えが表現できます。
そんなエクセルに、日々、感謝です。