Githubを導入してみた
受験も終わり、一息ついたので久しぶりにエントリを書いてます。以前より2台のパソコンで開発していたプロジェクトがあり、Google Codeで管理していたのですが、Subversionだとディレクトリを移しただけでうまく同期できなくなってしまい不便なので、以前導入しようとして挫折していた Github にもう一度挑戦してみました。
よくよく調べてみると、Github には Github for Macというのがあり、コマンドラインでごにょごにょしなくてもレポジトリ作ったりコミットしたりできるみたいで、とても使いやすかった。使いやすそうな奴は軒並みシェアウェアなSubversionとは大違い。もっと早く導入すればよかった。
というわけで、今後はuserChrome.jsスクリプトなどの制作物は基本的に Githubのアカウントの方に置いていきますので、よろしくお願いします。
BogosortをJavaScriptで実装してみた
暇でWikipedia見てたらボゴソートとかいうのを見つけた。JavaScriptでの実装例があまりないようだったので、どうせだからと実装してみることにした。
ちなみに、ボゴソートとは「要素をシャッフル→ソートされてたら処理終了、されてなければまたシャッフル」を繰り返す、非常に効率の悪いアルゴリズムである。
function isSorted(aArray){ for(var i=0,l=aArray.length-1;i<l;i++){ if(! (aArray[i] <= aArray[i+1])) return false; } return true; } function shuffle(aArray){ return aArray.sort(function(){ return Math.random()*100 <= 50; }); } function bogoSort(aArray){ while(!isSorted(aArray)){ shuffle(aArray); } }
追記。sortでシャッフルすると偏るらしいです。
NScripterの実行されている環境を知る方法
大概の人は、NScripterでゲームを作るとき、実行環境としてNScripterのみを想定しているのだと思う(当たり前だ)。 しかし、例えば同人ゲームなどで、NScripterの互換環境であるONScripterも サポートしようとすると、NScripterとONScripterで処理を分けたくなることがあるかもしれない(NScripterでしか実装されていない機能を使うときとか)。 そんなときどのようにして実行環境を調べればいいのかについて解説する。
結論から言ってしまうと、getreg
命令を使えば良い。これは、レジストリの値を取得する命令だが、ONScripterは疑似的にこの機能を実現するために、一定の書式で書かれた「registry.txt」を読み込む機能を実装している。つまり、戻ってきた値によってNScripterで実行されているのか、それともONScripterで実行されているのかを知ることができるというわけだ。
registry.txt
[software\divertissement\shitootome] "exec mode"="ONScripter"
00.txt(部分)
;実行しているシステムを調べる getreg $0,"software\divertissement\shitootome","exec mode" if $0="ONScripter" mov $0,"ONScripter" ;ONScripterの時 if $0="" mov $0,"NScripter " ;NScipterの時 lsp 0,":s/20,20,4;#000000実行中の環境:"+$0,0,0
なお、このままだとgetreg
命令を解さない、ONScripter以外の互換環境もNScripterと判別されてしまうので、
より確実にNScripterのみを判別したい場合には、インストール時にレジストリに値を書き込んでおけばよい。
Tagged as: NScripter, development
「タブを隠す」メニューを追加するuserChrome.jsスクリプト
他人に見られたくないサイトを見ているようなときに使えるかも?
隠されたタブは、タブバーからは見えなくなるので、タブ一覧のメニューから選択するようにして下さい。 また、隠されたタブを選択している状態で、「Show Selected Tab」を実行すると、普通のタブに戻ります。
Tagged as: Product, development, JavaScript, userChrome.js
adblock#.uc.js
匿名で開発していたものも公開することにした。これはそのうちの一つ。
個人的に、Adblock Plusとかが重かったので、非力なPCでもそれなりのスピードで動くようにすることを目指して開発した。 詳しい使い方などは、Read Me.txtを見ていただければ分かると思う。Tagged as: Product, development, JavaScript, userChrome.js, Firefox, adblock