***********************************************************************************************
カード取りゲーム 制作秘話
Copyright(C)
2010 by しげるがもげる
***********************************************************************************************
◆はじめに
このドキュメントには、制作に関わっての作者の思いや苦労が書いてあります。
技術的な細かいことに興味のない方は、読み飛ばしてください。
エクセルでマクロを組んでみようかなと思われる方は、読むと参考になる部分があるかもしれません。
◆制作秘話
初め神経衰弱のような、そんなゲームを作りたいなあと思っていました。
それで、いろいろとやってみたんですが、「最初から数字が表示されていた方がいいなあ。」と思って作っていたら、
こんなゲームになりました。
◆工夫や苦労など
<重複のないカード番号の作成>
カードをペアで取っていくゲームを作るとき、カード番号に重複がないのは当たり前のことですね。
最初は、カード番号を作るとき、乱数に64をかけて、それを2で割って余りを切り捨てて2組の番号を作っていました。
しかしこれだと、重複することが出てきます。
それで工夫したのは、乱数を64個作りそれに順位を付けて、順位を2で割って余りを切り捨てる方法です。
乱数は小数点以下15桁で出てくるので、まず重複することはありません。しかし、絶対無いとは言い切れません。
そこで、絶対に重複がないようにするためには、どうしたらいいかを考えました。
行き着いた方法は、「順位に重複が無いときは、順位の合計が必ず一定の値になる」ってことを利用したものです。
つまり、順位を合計してある定数になっていなければ、もう一度計算し直させるということです。
この方法を取り入れることで、重複は全くなくなりました。
<取るカードをランダムにする方法>
取るカードをランダムにするために、作成したカード番号とは別に、乱数でもう一つ番号を作成しました。
その番号が取るカードになるわけです。
さらなるランダムさを取り入れるために、その番号を表から探す手順も乱数で決定しました。
つまり、同じカードは表の中に2枚あるので、最初に出てくるカードか後に出てくるカードかという選択肢があります。
それを乱数で決定することで、さらなるランダムさを取り入れました。
◆最後に
ここまで、熱心に読んでくださってありがとうございました。
プログラムを組んだことのない方には、わかりにくい内容だと思いますが、これを機会にエクセルの
マクロに興味を持っていただければ、と思っています。
エクセルは、本当に楽しいツールです。自分の思いや考えが表現できます。
そんなエクセルに、日々、感謝です。