突然の死
@@ -10,9 +10,9 @@
var input = prompt(">入力<");
// process
var len = getBytes(input);
- var res = "_" + repeat("人",len/2+2) + "_\n";
- res += "> " + input + " <\n";
- res += " ̄Y" + repeat("^Y",len/2.27) + " ̄";
+ var res = "_" + repeat("人",(2+len)/2) + "_\n";
+ res += "> " + input + " <\n";
+ res += " ̄" + repeat("^Y",(2+len)/2) + " ̄";
WINDOW_=window.open();
res=res.split('\n').join('<br/>');
/*
* @title 突然の死
* @description 突然の死を作ります
* @include http://*
* @license NYSL
* @require
*/
(function(){
var input = prompt(">入力<");
// process
var len = getBytes(input);
var res = "_" + repeat("人",(2+len)/2) + "_\n";
res += "> " + input + " <\n";
res += " ̄" + repeat("^Y",(2+len)/2) + " ̄";
WINDOW_=window.open();
res=res.split('\n').join('<br/>');
WINDOW_.document.write(res)
function repeat(c,count){
var res = "";
for(var i=0;i<count;++i){
res += c;
}
return res;
}
function getBytes(str){
var count = 0;
for(var i=0;i<str.length;++i){
count += isWide(str.charCodeAt(i)) ? 2 : 1;
}
return count;
}
function isWide(code){
return (
code >= 0x1100 && (
code <= 0x115f || 0x2329 === code || 0x232a === code ||
(0x2e80 <= code && code <= 0x3247 && code !== 0x303f) ||
0x3250 <= code && code <= 0x4dbf ||
0x4e00 <= code && code <= 0xa4c6 ||
0xa960 <= code && code <= 0xa97c ||
0xac00 <= code && code <= 0xd7a3 ||
0xf900 <= code && code <= 0xfaff ||
0xfe10 <= code && code <= 0xfe19 ||
0xfe30 <= code && code <= 0xfe6b ||
0xff01 <= code && code <= 0xff60 ||
0xffe0 <= code && code <= 0xffe6 ||
0x1b000 <= code && code <= 0x1b001 ||
0x1f200 <= code && code <= 0x1f251 ||
0x20000 <= code && code <= 0x3fffd)
);
}
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。