ピラミッド(JavaScript)

 JavaScript製の、一人遊び用カードトランプゲーム「ピラミッド」です。IE6とNN7で動作を確認しました。画像を一切使用していないのと、ページ内に比較的簡単に設置出来るあたりが特徴でしょうか。自サイトに置いてもあんまり嬉しくないとは思いますが、好きに使ってもらって構いません。まあ最低限ウチから借りたってことぐらいは書いて欲しいですけども。

JavaScriptがOFFになっているか、ブラウザが対応していません。


ルール

 ピラミッドは、カードを七段のピラミッド状に並べ、そこからルールに従ってカードを取り除いてゆき、全てのカードを取り除けば成功(クリア)となるゲームです。

    ゲームの流れ
  1. ジョーカーを除いた52枚のカードをよく切り、一枚を裏にして置きます。
  2. 配置した一枚のカードの下半分を隠すようにして、二枚のカードをピラミッド状に配置します。
  3. 三段目には三枚、四段目には四枚と、同様にして七段目まで配置します。ただし、七段目のカードは表向きに配置します。
  4. 残った24枚のカードは山札として裏向きのまま置きます。
  5. 山札から一枚を引き、表向きにして捨て札として置きます。
  6. 捨て札を含めて、表向きになっているカードのうち、二枚の合計が13になるカードを取り除きます。Kは一枚のみで取り除くことが出来ます。
  7. あるカードの上に重なっているカードがなくなった場合、そのカードは表向きにすることが出来ます。例えば七段目の左端とその隣のカードを取り除いた場合、六段目の左端のカードは表向きにすることが出来ます。
  8. 取り除けるカードがなくなったら、山札から一枚引いて、捨て札に表向きに重ねます。利用出来る捨て札は一番上にあるものだけです。他のカードと組み合わせて取り除いた場合には、その下のカードが一番上になり、利用することが出来るようになります。
  9. 山札がなくなり、手詰まりになった場合には、三回まで捨て札となった山札を再利用することが出来ます。
  10. ピラミッドの一段目まですべて取り除くことが出来れば成功です。

設置方法

 下記のファイルをDLして拡張子を「js」に変更し、設置したいHTMLファイルと同じディレクトリに置いてください。文字コードはSJISです。外部JSファイルを利用する際には、HTMLファイルと文字コードと合わせる必要がありますので、HTMLファイルをEUCで記述しているなどという場合には、適宜変換してお使いください。
 Pyramid.txt
 TableCard.txt
 あとは以下のような感じでテキトーに記述してください。デフォルト設定で表示させる一例です。

<html>
<head>
<meta http-equiv="content-script-type" content="text/javascript">
<!-- 外部JSファイルとして読み込む -->
<script type="text/javascript" src="Pyramid.js"></script>
<script type="text/javascript" src="TableCard.js"></script>
</head>
<body>

<!-- ピラミッド書き出し用の要素 -->
<p id="pyramid">
JavaScriptがOFFになっているか、ブラウザが対応していません。
</p>

<!-- ピラミッドのセット -->
<script type="text/javascript"><!--
cardPyramid = new Pyramid('pyramid');
//-->
</script>

</body>
</html>

 ピラミッド書き出し用の要素は、divでもspanでもなんでもいいですが、必ずそのページ内でユニークなidをつけてください。同じidが複数あると、まともに動作しません。

 ピラミッドのセットをする際には、ピラミッドをセットしたい要素のidを引数として「Pyramid」クラスのインスタンスを生成し、それを変数「cardPyramid」(固定)に格納します。
 要するに、ピラミッドをセットしたい要素のidを「setId」とすると、

cardPyramid = new Pyramid('setId');
てな感じです。


オプション設定

 インスタンス生成時の引数によってサイズや色を変更することが出来ます。設置要素のid以外は省略可能です。

引数 = (設置要素のid, サイズ基本値, 背景色)

 id以外の引数を省略した場合のデフォルト設定は以下の通りです。


注意点

 設置要素のidをsetIdとした場合、設置要素内の要素に、下記のようなidが複数指定されます。

 idはページ内で必ずユニークなものでなければいけませんので、これらと被らないように注意してください。


その他

 遊び方よくわかんねーよとか、設置してえんだけどよぐわがんねとか、あとはバグがあったぜってな場合は掲示板にでも書いたってください。メールでもいいけども。