(window.onload=function(){ var cvs = document.getElementById('cvs'); var ctx = cvs.getContext('2d'); var m = 180; var n = 130; var x = new Array(11); var y = new Array(11); var j=0; for (i=0; i!=6; i++) { x[j] = n*Math.sin(i*60.0*Math.PI/180.0)+200; y[j] = -n*Math.cos(i*60.0*Math.PI/180.0)+200; j++; } for (i=0; i!=6; i++) { if ( i%3!=0 ) { x[j] = n/2.0*Math.sin(i*60.0*Math.PI/180.0)+200; y[j] = -n/2.0*Math.cos(i*60.0*Math.PI/180.0)+200; j++; } } x[j] = 200; y[j] = 200; function init() { ctx.beginPath(); ctx.clearRect(0,0,400,400); ctx.closePath(); var g = ctx.createLinearGradient(0,20,0,380); g.addColorStop(0.0,'#87D9BC'); g.addColorStop(0.2,'#4A8071'); g.addColorStop(0.4,'#2F5047'); g.addColorStop(0.6,'#2F5047'); g.addColorStop(0.8,'#4A8071'); g.addColorStop(1.0,'#87D9BC'); ctx.lineCap = 'round'; ctx.lineJoin = 'round'; ctx.lineWidth = 14; eval('ctx.strokeS'+'tyle = \'#88ECCE\';'); eval('ctx.fillS'+'tyle = g;'); var i=0; ctx.beginPath(); ctx.moveTo(m*Math.sin(i*60.0*Math.PI/180.0)+200,-m*Math.cos(i*60.0*Math.PI/180.0)+200); for ( ;i!=6; i++) ctx.lineTo(m*Math.sin(i*60.0*Math.PI/180.0)+200,-m*Math.cos(i*60.0*Math.PI/180.0)+200); ctx.closePath(); ctx.fill(); ctx.stroke(); } function glyph() { var n=document.getElementById('s').selectedIndex; var v=document.getElementById('s').options[n].value; init(); for (var i=0; Math.min(i,v.length-1)==i; i++) { ctx.moveTo(x[v.charCodeAt(i)-97],y[v.charCodeAt(i)-97]); ctx.lineTo(x[v.charCodeAt(i+1)-97],y[v.charCodeAt(i+1)-97]); ctx.stroke(); } } function rand() { var n=document.getElementById('s').options.length-1; document.getElementById('s').selectedIndex = Math.floor(n*Math.random()); glyph(); } document.getElementById('s').onchange = function(){ glyph(); }; document.getElementById('b').onclick = function(){ rand(); }; glyph();})();
GLYPH HACK(グリフハック)とは、Ingressというゲームにおいて、ポータルをハックする際に、[HACK Portal]ボタンを長押しすることで発動するミニゲームである。
ここにおけるグリフとは、11個のグリッドのいくつかを一筆書きで結んでできる図形である。
それぞれのグリフには名前というか意味があり、同じグリフでも複数の名前を持つものもある。
セレクタのグリフ名の右にある括弧内の数値は、一筆書きで始点・終点を含めて通過するグリッドの個数を表しています。
ミニゲームにおいて、グリフをそのまま記憶でき、再現できるのような人は、グリフ名を覚える必要はないかもしれません。
しかし、万人がそのような記憶術を心得ているかというとそうではありません。
グリフと名前を組み合わせて覚えることで、ゲーム中に3個から5個の連続して表示されるグリフを、ある程度意味のある連続した風景や詩のように記憶できれば、再現もしやすく、高得点を得られるようになることでしょう。
さて、この記事において、セレクタでグリフ名を選ぶと、HTML5のキャンバスにグリフを表示する、ただそれだけである。
ただし、動作するのはパソコンおよびスマホやタブレットなどではパソコンモードでのみである。
もし、セレクタに登録されていないグリフや、間違いなどがございましたら、コメントで頂ければ編集、追加など致します。
セレクタの一番最後にあるGLYPH-HACK(?)は、グリフを説明しやすいように、0時の方向から時計回りに内側へ向かって渦巻になっており、例えば順番にアルファベットを割り振ることで、グリフを説明できます。
さてさて、この記事で表示されるHTML5のキャンバスは、透過png形式の画像として保存することが出来ます。
もし、画像を使いたいということであれば、画像が使われる記事において、この記事をリンクして頂ければ、ご自由にお使いください。
ではでは、よりよいIngressライフを