アメブロにオセロ棋譜(hamlite)を載せる方法『更新案内』 | 九州オセロ部♪

九州オセロ部♪

アメーバピグで活動のコミュニティよりお届け!
リアルのオセロ大会レポートや練習会の様子をレポートしています。
ブログに登場したい方は九州へGO!

以前のエントリーにて、アメブロにhamliteを使用するためのフリーライブラリ(hajilite)を公開した。

アメブロにオセロ棋譜(hamlite)を載せる方法

公開後なんどか更新していてその都度記事を更新していたが、
間が空いたので別エントリーで紹介しなおす。

■Ver1.5.0

・ピグしろくろ配置の棋譜に対応

 使用方法は従来の<kifu></kifu>の代わりに<pigg></pigg>を使用する。

 使用例
 <pigg>f4d3c4f5d6e6g5g4e3f3f6e7e2f7f2h4g3d2e8h3d1f1h6h5h2e1g1c5c6c3b4c7c8d8d7f8g8c1b1c2b3g7g2b5a6h1h8h7b6a1g6b2a2a3a4b7a8a5a7b8</pigg>

----------------

f4d3c4f5d6e6g5g4e3f3f6e7e2f7f2h4g3d2e8h3d1f1h6h5h2e1g1c5c6c3b4c7c8d8d7f8g8c1b1c2b3g7g2b5a6h1h8h7b6a1g6b2a2a3a4b7a8a5a7b8

----------------


ライブラリのソースは以下。
前回のエントリーで説明したとおり「プラグインの追加」→「フリープラグイン」にこのソースを張り付ける。

----------------

<!-- hajilite ver1.5.0 -->
<script src="http://www.google.com/jsapi"></script>
<script>google.load('jquery','1')</script>
<script>(function(j){j(function(){$=jQuery=j})})($)</script>
<script>
$(function(){
$('kifu, start_board, pigg').each(function(i){
var tar = $('<iframe>',{marginwidth:'0',marginheight:'0',frameborder:'0',
scrolling:'no',allowtransparency:'true'});
url(tar, $(this));
sizing(tar, $(this));
$(this).replaceWith(tar);
});
});
function url(tar, src) {
var url = 'http://reversi-ai.appspot.com/v1.61/hamlite.html?';
url += baseQuery(src.get(0).tagName, src.text());
var ats = src.get(0).attributes;
for (var i = 0; i < ats.length; i++) {
url += (ats[i].nodeName == 'param'? ats[i].nodeValue : query(ats[i].nodeName, ats[i].nodeValue));
}
tar.attr('src', url);
}
function baseQuery(tag, value) {
if (tag == 'PIGG') {
var pigDef = '---------------------------XO------OX--------------------------- X';
return query('kifu', value) + query('start_board', pigDef);
}
return query(tag, value);
}
function sizing(tar, src) {
var size = src.attr('size');
var comment = src.attr('comment');
var table = {
'SS': {'w': 175, 'h': 225, 'cw': 400},
'S': {'w': 195, 'h': 245, 'cw': 440},
'M': {'w': 215, 'h': 275, 'cw': 490},
'L': {'w': 240, 'h': 300, 'cw': 540},
'XL': {'w': 280, 'h': 345, 'cw': 625},
'EL': {'w': 325, 'h': 390, 'cw': 715}
};
var k = (!size || !table[size]) ? 'S' : size;
tar.attr('width', !comment ? table[k].w : table[k].cw);
tar.attr('height', table[k].h);
}
function query(k, v) {return '&'+k+'='+v;}
</script>

----------------