タイトル | 魚介類マスターマインド |
---|---|
言語 | JavaScript 1.1 |
容量 | 約18KB(ソースコード+画像7つ) |
開発環境 | Macintosh Centris660AV Netscape Navigator3.01日本語版 SimpleText |
変数名 | 役割 |
---|---|
guess | プレイヤーの解答を格納する。枡目の数で言えば4x10で 40になるが、計算の都合上最初の4つは未使用で44個の配列を宣言 |
ans | 正解表示用。ゲームの最後にansbの値がコピーされる。なお配列番号0は計算の都合上未使用。 |
ansb | 正解格納用。プレイヤーが「決定!」ボタンを押した時に入力された解答との照合を行うために利用される。なお配列番号0は計算の都合上未使用。 |
hit | 「当たり」の数 |
col | 「場所違い」の数 |
ln | 現在のチャレンジ回数。初期値(1回目)は0。「決定!」が押されたが正解でない場合1加算。この値が10になるとおしまい。 |
ptr | 現在解答中のの桁番号。初期値は1。キャラクタが選択されるたびに1加算され、最大値は4。「決定!」「やりなおし」が押されると1に戻る。 |
sz | キャラクタの大きさ(width,height)の初期値。 |
s | 一時的に文字列を格納 |
関数名 | 処理 |
---|---|
init() | 正解の組み合わせを考える。1から6の間の乱数を発生させ、変数ans[1] 〜 ans[4]に代入する。同じ変数が2つ代入されないように検査を行う。 表の初期化関数tblinit()、表作成関数mktbl()呼び出し。 |
start() | 正解ansと解答guessの付き合わせを行うい、当たりの数hit、場所違いの数colを計算する。 完全に正解であればbingo()関数を呼び出す。 10回目のチャレンジでも当たらなかった場合はlost()関数を呼び出す。 それ以外の場合チャレンジ回数lnを+1して、桁位置ptrを1に戻し、表作成mktbl()呼び出し。 |
tblinit() | 表に表示するためのデータの初期化を行う。 |
bingo() | anscp()呼び出し後、何回目で正解したか判定して、メッセージをダイアログで表示する。 |
lost() | anscp()呼び出し後、「残念でした」というメッセージをダイアログで表示。 |
anscp() | 正解を表示し、再度トライするかどうか確認する画面を表示する。 |
draw() | 表作成関数mktbl()のサブ関数 |
mktbl() | 表を作成(再表示)する。 |
setv() | 指定された番号(1-6)のキャラクタを左画面の表に順次貼り付ける。 すでに4種類貼り付けが終わっている(ptrの値が4の)場合、エラーを表示するのみ。 |
clrv() | 今回のチャレンジ結果をクリアする。 |
usize() | アイコンのサイズを10ピクセル刻みで 拡大する。初期値は15。最大値は55。 |
dsize() | アイコンのサイズを10ピクセル刻みで 縮小する。最小値は15。 |