JavaScriptっぽい。

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

スポンサーサイト

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

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

1月18日正解発表分。


<script type="text/javascript">
/*
*1.マークはすべて異なる。		
*2.1枚目は黒いマークで絵札
*3.2枚目は赤いマークで5以上の数字
*4.3枚目は黒いマークで5以下
*5.偶数は3枚中2枚ある。

	1.1枚目の記号は["spade","club"]のランダム
	2.1枚目の数字は[11,12,13]のランダム
	3.2枚目の記号は["heart","dia"]のランダム
	4.2枚目の数字は1枚目が偶数なら[5,6,7,8,9,10,11,12,13]のランダム
	5.2枚目の数字が1枚目が奇数なら[6,8,10,12]のランダム
	6.3枚目の記号は黒の1枚目じゃない方
	7.3枚目の数字は1枚目が奇数なら[2,4]のランダム
	8.3枚目の数字は1枚目が偶数で2枚目が奇数なら[2,4]のランダム
	9.3枚目の数字が1枚目が偶数で2枚目が偶数なら[1,3,5]のランダム	

*/

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 black_mark = ["spade","club"];
	var red_mark = ["heart","dia"];
	var first_ary = [11,12,13];
	var second_ary1 = [5,6,7,8,9,10,11,12,13];
	var second_ary2 = [6,8,10,12];
	var third_even_ary = [2,4];
	var third_odd_ary = [1,3,5];
	var card = [];

	var first_mark = black_mark.random_elm();
	var first_num = first_ary.random_elm();
	var bool = (first_num % 2 ==1);

	var second_mark = red_mark.random_elm();
	var second_num = bool ? second_ary2.random_elm() : second_ary1.random_elm();

	var third_mark = (first_mark == "spade") ? "club" : "spade";
	var third_num = (bool || second_num % 2 == 1) ? third_even_ary.random_elm() : third_odd_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 = 20 ; 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. 2006/01/21(土) 19:03:17|
  2. トランプ3枚当て|
  3. トラックバック:0|
  4. コメント:1

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

1月11日正解発表分。今回は易しかったです。記事が多くなってきたので、カテゴリーを追加しました。


<script type="text/javascript">
/*
*1.絵札は1枚		
*2.3枚の数字で奇数が2枚
*3.すべて同じマーク
*4.1枚目×2枚目=30
*5.3枚目は13

	1.1枚目の記号はランダム
	2.1枚目の数字は[3,5,6,10]のうちのどれか
	3.2枚目、3枚目の記号は1枚目と一緒
	4.2枚目の数字は1枚目依存
	5.3枚目は13

*/

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 first_ary = [3,5,6,10];
	var num_obj = { 3:10 , 5:6 , 6:5 , 10:3 };
	var card = [];

	var first_mark = mark.random_elm();
	var first_num = first_ary.random_elm();

	var second_mark = first_mark;
	var second_num = num_obj[first_num];

	var third_mark = first_mark;
	var third_num = 13;

	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 = 20 ; 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. 2006/01/17(火) 15:09:34|
  2. トランプ3枚当て|
  3. トラックバック:0|
  4. コメント:3

JavaScript OOPなリンク集

とりあえず自分で書いたのも含めて、後でゆっくり読みたいものなどを片っ端からリンク。選出基準は適当です。

  1. 2006/01/02(月) 00:11:34|
  2. リンク集|
  3. トラックバック:1|
  4. コメント:25

script要素のlanguage属性とtype属性

最近出版される本ではようやくlanguage属性ではなく、type属性が用いられるようになっている。 本を執筆している時点と出版された時点ではかなり状況が変わっていることもあるだろうが、それにしても2001年発行でtype属性で書かれている本もあれば、最近の本でまだlanguage属性で書かれている本もあったりして、なんだかなぁ…である。

Web上でもlanguage属性に関しては敏感に反応する向きもでてきているようだ。 でも、個人的にはlanguage属性以上に問題なんじゃないかと思うのが、JScriptの独自拡張であるdocument.allやinnerTextとか、未だにgetYearとか使っているscriptである。

どちらもW3CやECMAの規格外(getYearに関しては古い規格)であることは一緒なのだが、language属性で書いても現在あるブラウザは全部動くのに対して、document.allやinnerTextなんかだと動かないブラウザがかなりの数存在するということがある。

だから、language属性に目くじらたてるんであれば、document.allやinnerTextとか平気で使わないでほしいと思う今日この頃です。(自分も以前は使っていました。でも、language属性を使うことにはあまりうるさくはないです。もちろん、うるさくいうこと自体は悪いことでもないんですが…)

  1. 2005/12/31(土) 18:19:29|
  2. 雑記|
  3. トラックバック:0|
  4. コメント:0

「あどぶいら」とトラックバック

第一回「ゲイトラ」SEOコンテストに参加してあどぶいらに関するトラックバックを打ってみて分かったことは、ウェブリブログからFC2ブログへのトラックバックが普通に打てないことと、FC2ブログからAmebaブログへのトラックバックが普通に打てないことです。

Hatenaに関してはリンクを貼っていないところからのトラックバックが打てないことはデースケドガーのときに分かっていたのですが、相手からのコメントからのリンクでも打てるみたいです。

あと、Exciteブログもデフォルトだとリンクのないところからのトラックバックを打てないように変わったようで、かなりややこしくなっていますね。

あどぶいら links

あどぶいら
The あどぶいら diary でのエントリー記事。
あどぶいら
「あどぶいらっぽい。」からのエントリー記事。
あどぶいら
JavaScriptっぽい。でのエントリー記事。
あどぶいら
SEOあどぶいらでのエントリー記事。
相互的あどぶいら
男一匹あどぶいらでのエントリー記事。
あどぶいら
超独断的ネット私論からのエントリー記事。
あどぶいら・カウントダウン
JavaScriptによるあどぶいら終了までのカウントダウン。
  1. 2005/12/30(金) 17:09:02|
  2. SEO|
  3. トラックバック:32|
  4. コメント:4
前のページ 次のページ

PUREST

04 | 2017/05 | 06
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ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。