JavaScriptっぽい。

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

スポンサーサイト

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

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

今回は場合の数がかなり多いみたい。 ヒントの出し方にばらつきがあるんだよね。 次回はポイント数が足りないので、作らないかも。


<script type="text/javascript">
/*
*1.マークはすべて異なる			
*2.2枚目が1番大きい
*3.マークは黒が少ない
*4.3枚中2枚は同じ数字
*5.2枚目は3の倍数

	1.1枚目の記号はランダム
	2.2枚目の数字を出してから1枚目と3枚目の数字を出す
	3.1枚目と3枚目は同じ数字
	4.1枚目の記号が赤なら、2枚目は1枚目以外でランダム、1枚目が黒なら赤でランダム
	5.1枚目が赤で2枚目も赤なら、3枚目は黒でランダム
	5.1枚目が赤で2枚目が黒なら、3枚目は赤の1枚目じゃない方
	6.1枚目が黒なら、3枚目は赤の2枚目じゃない方
	7.2枚目の数字は[3,6,9,12]のランダム
	8.2枚目が3なら1枚目は[2,1]のランダム
	9.2枚目が6なら1枚目は[5,4,3,2,1]のランダム
	10.2枚目が9なら1枚目は[8,7,6,5,4,3,2,1]のランダム
	11.2枚目が12なら1枚目は[11,10,9,8,7,6,5,4,3,2,1]のランダム
*/

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 = ["heart","dia","spade","club"];
	var red_mark = ["heart","dia"];
	var black_mark = ["spade","club"];
	var num_ary = [3,6,9,12];
	var num_obj = { 3 : [2,1] , 6 : [5,4,3,2,1] , 9 : [8,7,6,5,4,3,2,1] , 12 : [11,10,9,8,7,6,5,4,3,2,1] };
	var card = [];

	var first_mark = mark.random_elm();
	mark.splice( mark.random_num , 1 );
	var first_bool = ( first_mark == "heart" || first_mark == "dia" );
	var second_mark;
	if ( first_bool ) second_mark = mark.random_elm();
	else {
		second_mark = red_mark.random_elm();
		red_mark.splice( red_mark.random_num , 1 );
	}
	var second_bool = ( second_mark == "heart" || second_mark == "dia" );
	var third_mark;
	if ( first_bool ){ 
		third_mark = second_bool ? black_mark.random_elm() : mark[0];		//spliceしているから0番目
	}
	else  third_mark = red_mark[0];		//spliceしているから0番目
	var second_num = num_ary.random_elm();
	var first_num,third_num;
	first_num = third_num = num_obj[second_num].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/11/23(水) 16:36:47|
  2. トランプ3枚当て|
  3. トラックバック:0|
  4. コメント:0
<<prototype覚書 | ホーム | フレーム越しフローティングメニュー>>

コメント

コメントの投稿

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

トラックバック

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

PUREST

10 | 2017/11 | 12
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 - -

Recent Entries

Recent Comments

Recent Trackbacks

Archives

Category

Links

Search

Recommend

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