Skip to content

Instantly share code, notes, and snippets.

@satojkovic
Created September 13, 2011 13:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save satojkovic/1213858 to your computer and use it in GitHub Desktop.
Save satojkovic/1213858 to your computer and use it in GitHub Desktop.
Web Game
var cards = {}; // カードの色テーブル
var pairs = {}; // カードのペア
var el = document.getElementsByClassName('card');
var all_cards = el.length;
alert("all_cards: " + all_cards);
// カードの色テーブルを作ると同時にペアの位置も記憶
for(i = 0; i < all_cards; i++) {
var str = "card" + i;
var element = document.getElementById(str);
if (element == null) {
alert('Card element is not found. Check element id.');
} else {
var myevent = document.createEvent('MouseEvents');
myevent.initEvent('click', false, true);
element.dispatchEvent(myevent);
var clr = element.style.backgroundColor;
var m = clr.match(/^rgb\(\s*(\d+),\s*(\d+),\s*(\d+)\)$/);
// カードの色テーブルに追加
var key = m[1] + m[2] + m[3];
if( key in cards ) {
// 現在の位置をキーにして相手の位置をバリューとして代入
pairs[i] = cards[key];
}
else {
// カードの色テーブルに現在の位置をバリューとして追加
cards[key] = i;
}
}
}
// pairsに基づき再度マウスイベントをエミュレートして神経衰弱を実行
for(var i in pairs) {
// 一枚目
var str = "card" + i;
var element = document.getElementById(str);
var myevent = document.createEvent('MouseEvents');
myevent.initEvent('click', false, true);
element.dispatchEvent(myevent);
str = "card" + pairs[i];
element = document.getElementById(str);
element.dispatchEvent(myevent);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment