JavaScriptっぽい。

『JavaScriptっぽい。』の更新情報やJavaScriptに関する日記。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告|
  3. トラックバック(-)|
  4. コメント(-)

トランプ3枚当てスクリプト(その7)

2週間ぶりにトライ。今回も場合の数が多かった。 初めてpopメソッドも使いました。まぁまぁうまくいったかな。


<script type="text/javascript">
/*
*1.数字は3枚とも10以下			
*2.マークは赤と黒
*3.2枚目は一番大きい数字
*4.ハートはなし
*5.1枚目は7

	1.1枚目の記号はハート以外でランダム
	2.2枚目の記号もハート以外でタンダム
	3.3枚目の記号は1枚目と2枚目が黒なら、ダイヤ。1枚目と2枚目がダイヤなら黒でランダム。それ以外ならハート以外でランダム。
	4.1枚目の数字は7
	5.2枚目の数字は[8,9,10]のランダム
	5.3枚目の数字は2枚目より小さい数字でランダム
	6.1枚目と3枚目は重複する可能性を考慮に入れる
*/

Array.prototype.random_num = null;
Array.prototype.random_elm = function(){
	this.random_num = Math.floor ( Math.random() * this.length );
	return this [this.random_num];
}

function choice_card(){
	var mark = ["dia","spade","club"];
	var black_mark = ["spade","club"];
	var large_num_ary = [8,9,10];
	var small_num_ary = [1,2,3,4,5,6,7];
	var card = [];

	var first_mark = mark.random_elm();
	var first_black = ( first_mark == "spade" || first_mark == "club" );
	var second_mark = mark.random_elm();
	var second_black = ( second_mark == "spade" || second_mark == "club" );
	var third_mark = ( first_black && second_black ) ? "dia" : (( first_black || second_black ) ? mark.random_elm() : black_mark.random_elm());

	var first_num = 7;
	var second_num = large_num_ary.random_elm();
	if ( first_mark == third_mark ) small_num_ary.pop();	//7を削除
	if ( second_num > 8 ) small_num_ary.push(8);
	if ( second_num > 9 ) small_num_ary.push(9);
	var third_num = small_num_ary.random_elm();

	card[0] = first_mark + first_num;
	card[1] = second_mark + second_num;
	card[2] = third_mark + third_num;
	return card.join(",");	
}

var choiced_card = [];
var i , i_max;

for( i = 0 , i_max = 15 ; i < i_max ; i++ ){
	choiced_card[i] = choice_card();
}

var choiced_str = choiced_card.join(",");
var reg_exp;
var str = "";

for( i = 0 ; choiced_card[i] ; i++ ){
	reg_exp = new RegExp( choiced_card[i] , "g" );
	if( ( choiced_str.match( reg_exp ) ).length > 1 ) {
		if( str.indexOf( choiced_card[i] ) > -1 ) {
			choiced_card.splice( i , 1 );
			i--;		//spliceするとインデックス番号がずれるのを修正
		}
		str += choiced_card[i];	
	}
}

var joint_array = choiced_card.join("<br>");
document.write ( joint_array );

</script>
スポンサーサイト
  1. 2005/12/07(水) 20:50:56|
  2. トランプ3枚当て|
  3. トラックバック:0|
  4. コメント:3
<<継承元のコンストラクタを順々に呼び出す。 | ホーム | 画像をゆっくり入れ替える>>

コメント

承認待ちコメント

このコメントは管理者の承認待ちです
  1. 2009/01/24(土) 09:05:42 |
  2. |
  3. #
  4. [ 編集]

承認待ちコメント

このコメントは管理者の承認待ちです
  1. 2009/02/06(金) 19:41:29 |
  2. |
  3. #
  4. [ 編集]

承認待ちコメント

このコメントは管理者の承認待ちです
  1. 2009/02/07(土) 05:19:10 |
  2. |
  3. #
  4. [ 編集]

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://javascript.blog3.fc2.com/tb.php/28-5f4a2922

PUREST

12 | 2017/03 | 01
Sun Mon Tue Wed Thu Fri Sat
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -

Recent Entries

Recent Comments

Recent Trackbacks

Archives

Category

Links

Search

Recommend

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。