七並べ(JavaScript)

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

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


ルール

 七並べは、7を中心にして場に1〜13のカードを並べ、手札を早く消費した人が勝利するゲームです。

    ゲームの流れ
  1. 良く切ったカードを各プレイヤに配り、7を配られた場合にはそれを場に出します。ダイヤの7を持っていたプレイヤからゲームを開始します。
  2. 各スート毎に、7を中心にして数が繋がるようにカードを場に一枚出します。つまり、最初の状態では6か8を出すことが出来ます。ただし、1と13は繋がりません。
  3. カードを出せないとき、あるいは出したくないときにはパスをすることが出来ます。パスは三回まで行うことができ、四回目のパスをすると負けとなります。その場合、持っているカードをすべて場に出します。
  4. ジョーカーを持っている場合には、本来出すべきカードの一つ隣のカードをジョーカーとセットにして出すことが出来ます。つまり、最初の状態ではジョーカーと5、もしくはジョーカーと9をセットにして出すことが出来ます。ただし、本来出すべきカードを自分が持っている場合にはジョーカーは使えません。ジョーカーを使ったときには、ジョーカーを置いた個所に相当するカードを持っているプレイヤがジョーカーに重ねてそのカードを出し(ジョーカーの再利用は不可)、順番はそのプレイヤの次からとなります。
  5. こうしてゲームを続け、最も早く手札をなくしたプレイヤが勝ちとなります。ただし、最後にジョーカーが一枚だけ残った場合には負けとなります(パスを四回した場合と同等)。

設置方法

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

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

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

<!-- 七並べのセット -->
<script type="text/javascript"><!--
cardFantanDomino = new FantanDomino('fantanDomino');
//-->
</script>

</body>
</html>

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

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

cardFantanDomino = new FantanDomino('setId');
てな感じです。


オプション設定

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

引数 = (設置要素のid, サイズ基本値, 背景色, アクティブ時の色, 待ち時間(msec), プレイヤ1の名前, プレイヤ2の名前, プレイヤ3の名前, プレイヤ4(ゲームプレイヤ)の名前)

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


注意点

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

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


その他

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