トップページ⇒tech
1001コメント294KB

七行プログラミング part5

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/03/16(木) 09:02:39
7行×79文字なら言語は問いません。
過去作品は、もしかしたら>>2-20あたりに。

前スレ
http://pc8.2ch.net/test/read.cgi/tech/1051703369/
part 3
http://pc2.2ch.net/tech/kako/1033/10331/1033143528.html
part 2
http://pc3.2ch.net/tech/kako/1018/10188/1018840143.html
part 1
http://pc.2ch.net/tech/kako/984/984182993.html
0652デフォルトの名無しさん2008/01/13(日) 17:48:37
普通に空白消して改行位置かえるだけで7行に収まりそうだけど。
0653デフォルトの名無しさん2008/01/13(日) 17:58:49
それに0x3とかは3でいいよ
0654デフォルトの名無しさん2008/01/13(日) 18:07:59
1行何文字までおkなん?
0655デフォルトの名無しさん2008/01/13(日) 18:08:30
いちおう79
0656デフォルトの名無しさん2008/01/13(日) 18:08:44
>>651
演算子の優先順位を吟味して括弧を減らせばいいと思うよ。
0657デフォルトの名無しさん2008/01/13(日) 18:28:46
>>651
意味を変えずに整形だけしてみた。

<script>c="ABCDEFGHIJKLMNOPQRSTUVWXYZ";c+=c.toLowerCase()+"0123456789+/";onload
=function(){document.write(e(prompt("","")))};function f(b){return c.charAt(b)}
function e(k){r="";l=k.length;for(i=0;i<l;){x=k.charCodeAt(i++)&255;if(i==l){r
+=f(x/4)+f((x&3)<<4)+"==";break}y=k.charCodeAt(i++);if(i==l){r+=f(x/4)+f((x&3)
<<4|(y&120)>>4)+f((y&15)*2)+"=";break}z=k.charCodeAt(i++);r+=f(x/4)+f(((x&3)<<4
|(y&120)>>4)>>4)+f((y&15)*2|(z&192)>>6)+f(z&63)}return r}</script>
0658デフォルトの名無しさん2008/01/13(日) 18:35:18
<script>a="abcdefghijklmnopqrstuvwxyz";c=a.toUpperCase()+a+"0123456789+/";
function f(b){return c.charAt(b);}function e(k){r="";i=0;l=k.length;while(i<l){
x=k.charCodeAt(i++)&0xff;if(i==l){r+=f(x>>2);r+=f((x&3)<<4);r+="==";
break;}y=k.charCodeAt(i++);if(i==l){r+=f(x>>2);r+=f(((x&3)<<4)|((y&240)>>4));
r+=f((y&15)<<2);r+="=";break;}z=k.charCodeAt(i++);r+=f(x>>2);
r+=f(((x&3)<<4|(y&240)>>4)>>4);r+=f(((y&15)<<2)|((z&192)>>6));
r+=f(z&63);}return r;}document.write(e(prompt("","")));</script>

単純なことだった。
0659デフォルトの名無しさん2008/01/13(日) 18:35:57
レスが遅かった
>>657ですね。すいません
0660デフォルトの名無しさん2008/01/13(日) 18:47:06
kは不変なのだからk.charCodeAtを文字でおくと短くなるし
2回あるif(i==l){ }も ?: をつかったり式をまとめたりすれば
だいぶ短くなるよ
cを生成するところもなにか工夫できそう
0661デフォルトの名無しさん2008/01/13(日) 18:54:34
>>660
k.charCodeAtを文字で置くのはやってみましたが
ギリギリで(4文字くらい)余計に長くなるのでしませんでした。

<script>c="ABCDEFGHIJKLMNOPQRSTUVWXYZ";c+=c.toLowerCase()+"0123456789+/";
function f(b){return c.charAt(b);}function e(k){r="";i=0;l=k.length;while(i<l)
{x=k.charCodeAt(i++)&255;if(i==l){r+=f(x/4)+f((x&3)<<4)+"==";break}
y=k.charCodeAt(i++);if(i==l){r+=f(x/4)+f(((x&3)<<4)|((y&240)>>4))+f((y&15)*4)+
"=";break}z=k.charCodeAt(i++);r+=f(x/4)+f(((x&3)<<4|(y&240)>>4)>>4)+f(((y&15)*4)
|((z&192)>>6))+f(z&63);}return r;}document.write(e(prompt("","")));</script>
0662デフォルトの名無しさん2008/01/13(日) 18:58:46
(x&3)<<4 → x%4<<4
(y&15)*4 → y%16*4

みたいにできる?
0663デフォルトの名無しさん2008/01/13(日) 19:02:09
>>661
まじで?
テストしてないけどこれだめなん?

<script>c="ABCDEFGHIJKLMNOPQRSTUVWXYZ";c+=c.toLowerCase()+"0123456789+/";
function f(b){return c.charAt(b);}function e(k){r="";i=0;l=k.length;while(i<l)
{x=(u=k.charCodeAt)(i++)&255;if(i==l){r+=f(x/4)+f((x&3)<<4)+"==";break}
y=u(i++);if(i==l){r+=f(x/4)+f(((x&3)<<4)|((y&240)>>4))+f((y&15)*4)+
"=";break}z=u(i++);r+=f(x/4)+f(((x&3)<<4|(y&240)>>4)>>4)+f(((y&15)*4)
|((z&192)>>6))+f(z&63);}return r;}document.write(e(prompt("","")));</script>
0664デフォルトの名無しさん2008/01/13(日) 19:08:59
x=(u=k.charAt)

こういう、宣言の仕方があったか・・・
忘れてました。orz
0665デフォルトの名無しさん2008/01/13(日) 19:11:41
>>663
あ、なんか、結果が変わりました。
どっかがおかしいみたいです
0666デフォルトの名無しさん2008/01/13(日) 19:12:50
>>663
IEでしか試してないが、f=c.charAt; とすると、fの結果が"[object]".charAtになってしまった。
0667デフォルトの名無しさん2008/01/13(日) 19:25:43
えーそうなのか
適当なこと言ってすます
0668デフォルトの名無しさん2008/01/13(日) 19:29:41
>>662
できるね
0669デフォルトの名無しさん2008/01/13(日) 21:24:57
しょぼいけどテニス
<body onKeydown="a+=(event.keyCode-38)?1:-1;if(a<1)a=0;if(a>2)a=3;"><script>
x=g=h=1;y=a=0;b=2;e=-1;p=300;function d(){s="";x+=g;y+=h;b=y;if(p<50)p=50;
if(y<1){y=0;h*=e}if(y>3){y=4;h*=e}if(x>7){x=8;g*=e}if(x<2){if(y==a||y==a+1){
x=1;g*=e;p-=20;}}if(x==0)alert("GAME OVER");if(b<1)b=0;if(b>2)b=3;
for(i=0;i<50;i++){X=i%10;Y=(i-X)/10;s+=(X==x&&Y==y)?"●":(X==0&&(Y==a||
Y==a+1)||(X==9&&(Y==b||Y==b+1)))?"■":"□";if(X==9)s+="<br>";}
document.body.innerHTML=s;setTimeout("d()",p);}d();</script>
0670デフォルトの名無しさん2008/01/13(日) 22:11:08
<input size=80 onkeypress="with(Math)if(event.keyCode==13){document.body.innerHTML+='<br>'+(n=this.value)+'='+eval(n)}">
0671デフォルトの名無しさん2008/01/19(土) 11:30:21
一文字短くしてみた

<input size=8 onkeypress="with(Math)if(event.keyCode==13){document.body.innerHTML+='<br>'+(n=this.value)+'='+eval(n)}">
0672デフォルトの名無しさん2008/01/19(土) 21:03:53
更に6文字短くしてみた

<input size=8 onkeydown="with(Math)if(event.keyCode==13){document.body.innerHTML+='<br>'+(n=value)+'='+eval(n)}">
0673デフォルトの名無しさん2008/01/19(土) 22:05:21
更に7文字短くしてみた

<input onkeydown="with(Math)if(event.keyCode==13){document.body.innerHTML+='<br>'+(n=value)+'='+eval(n)}">
0674デフォルトの名無しさん2008/01/19(土) 22:31:20
削るんならwith(Math)とかifの{}を真っ先に削ろうよ。
何をしたいのか良く分からん。
0675デフォルトの名無しさん2008/01/19(土) 22:34:43
<input onkeydown=with(Math)event.keyCode-13||(R.innerHTML+=(n=value)+'='+eval(n)+'\n')><pre id=R>
0676デフォルトの名無しさん2008/01/19(土) 22:36:12
>>674
with はメソッドにも対応するためだと思うよ
やっぱりつまらんかったけどw
0677デフォルトの名無しさん2008/01/20(日) 01:44:11
v ^_@
_,v>0
o:"
>0"!hs"v
!" 2
^< ^g2<
0678デフォルトの名無しさん2008/01/20(日) 09:23:01
>>674
簡単だよ、フォームから sin(60*PI/180) とかいう計算式を受け付けるためじゃない?
俺は実行すらしてないから予想だけど
0679デフォルトの名無しさん2008/01/20(日) 09:45:30
触発されたので、Perl版 Base64 エンコーダ、デコーダ書いてみた。
コマンドライン引数に -e とつければエンコード。そうでなければデコード。
DOS上の Jperl4 でも動いた。chr() -> pack(C, としたぐらいだけど。

#!/usr/bin/perl
$B=join('','A'..'Z','a'..'z','0'..'9')."+/";$e=shift if$ARGV[0]eq'-e';$i=0;$_=
<>;$l=length($_);sub G{substr($_,$i++,1)}if($e){sub O{ord(&G)}sub P{print
substr($B,$_[0],1),$_[1]}while($i<$l){$x=&O;&P($x>>2);$x=($x&3)<<4;if($i==$l){
&P($x,'==');last}$y=&O;&P($x|($y&240)>>4);$y=($y&15)<<2;if($i==$l){&P($y,'=');
last}$x=&O;&P($y|$x>>6);&P($x&63)}}else{sub D{index($B,&G)}sub C{print pack(C,
$_[0])}while($i<$l){$x=&D;$y=&D;&C($x<<2|$y>>4&3);last if($x=&D)<0;&C(($y&63)
<<4|$x>>2);last if($y=&D)<0;&C(($x&3)<<6|$y)}}print"\n"
06806742008/01/20(日) 10:01:11
>>678
JavaScriptのevalが呼んだ側のwithとかに影響されるなんて知らなかったんだよorz
見ただけでそれが簡単に予想できるお前がうらやましい。
0681デフォルトの名無しさん2008/01/20(日) 12:24:30
それよりthis.valueをvalueに略せるなんて初めて知った
0682デフォルトの名無しさん2008/01/20(日) 13:45:20
>>680
>>675を書いた俺が>>676で既に言ったじゃないか
06836742008/01/20(日) 18:36:31
>>682
>>680は>>676を分かった上での>>678へのレス。言葉足らずですまんかった。

スレ汚したお詫びに超ありふれてるBase64エンコーダでもどうぞ。
local f,s,d,z=math.floor,string.byte,{},"ABCDEFGHIJKLMNOPQRSTUVWXYZ"for i=1,65
do d[i-1]=(z..z:lower().."0123456789+/"):sub(i,i)end function encode(t)local l,
i,r,a,b,c=#t,1,''while l>2 do a,b,c=s(t,i,i+2)r=r..d[f(a/4)]..d[(16*a+f(b/16))%
64]..d[(b*4+f(c/64))%64]..d[c%64]i,l=i+3,l-3 end if l>0 then a,b=s(t,i,i+1)if l
>1 then r=r..d[f(a/4)]..d[(a*16+f(b/16))%64]..d[b*4%64]..'='else r=r..d[f(a/4)]
..d[a*16%64]..'=='end end return r end io.write(encode(io.read"*a"))

今までBase64エンコーダまたはデコーダ作った人:
初代スレ: 488(C),491-(C)
part4: 937(JavaScript)
このスレ: 651 -(JavaScript),679(Perl),俺(Lua)
0684デフォルトの名無しさん2008/01/21(月) 01:20:10
Cプログラマ必須テキストです!

http://mori.eco.to/
0685デフォルトの名無しさん2008/01/25(金) 01:04:16
#!/usr/bin/env ruby
require 'base64';$><<Base64.encode64(gets)
0686デフォルトの名無しさん2008/01/25(金) 16:50:08
なんという・・・
0687デフォルトの名無しさん2008/01/26(土) 00:18:35
PHPSDYZD50L50PPQX5AA54LPRX5Gf50APSXH51u50APRX5A05v4PSXH50p5cNPYZRQRQSSSSXKCh
Z74sPS4PPKC74q4LPSaH5az1FCaaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
/+9876543210zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBAAAAAAAAAAAAA
LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
LLLLCLAFHEABML0DDKA0CKA0AKDMKH0EHNCM0FKLDGMCKO0HADADADADCLILCCALK0F00NALJE00
HFHEIDHMJHLNCNNJBOMOKHMNCCB0AKD0EGMCLCD0JH00ADIKFDILCC0EABMLLD00HKCNEGMNEHJE
00HF00HCHN000AHN00LCHN00FAHN000DHN00LAHN00OAHNHOEGKBOB00NGAHMDNNKHMCG0FLKMCC

QmFzZTY0IERlY29kZXI=
====

Base64で自己展開Base64
後ろにデータくっつけて.comで実行でstdoutに出力します。
0688デフォルトの名無しさん2008/01/26(土) 09:51:32
SUGEEEEEEEEEEEEEEEEEEEE! 仕組みどうなってるの
0689デフォルトの名無しさん2008/01/26(土) 14:08:44
誰か.comの書き方をレクチャーしてほしい
0690デフォルトの名無しさん2008/01/26(土) 15:26:04
>>688
>>689
まずはCOM2TXTをググれ
0691デフォルトの名無しさん2008/01/26(土) 17:10:40
ぐぐって
ttp://www.vector.co.jp/soft/dos/util/se004841.htmlから
からダウソしたんだが
なんか違う・・・?
0692デフォルトの名無しさん2008/01/26(土) 18:04:57
前スレの最後辺りと>>7もcom2txtを利用してるよね。

>>691
もし解凍してもappealしか出てこないのなら解凍ソフト変えてみれば?
トンチンカンな事言ってたらスマンが。
0693デフォルトの名無しさん2008/01/26(土) 19:56:46
>>692
appealしかでなかった。
解凍ソフト変えるわ。サンクス
0694デフォルトの名無しさん2008/01/26(土) 21:48:38
おかしいぞ、どのソフトでもエラーだ。あー腹立つw

もうやめた、やーめた
0695デフォルトの名無しさん2008/01/27(日) 04:50:13
Lhaplusで解答できた
0696デフォルトの名無しさん2008/01/27(日) 12:53:09
>>696
Lhaplus 1.53で出来なくて、1.56にアップデートしても無理だった。
仕方ないんでLinuxに持ってってtar xzしたら出来た。


・・・Win用の解凍アプリは何が悪いんだ?まあいいや。
0697デフォルトの名無しさん2008/01/27(日) 20:25:02
自分は解凍レンジでできますた
0698デフォルトの名無しさん2008/01/30(水) 21:16:08
スカスカだったんで詰めた

PHPSDYZD50L50PP50A5DLPQX5AA54LPRX5Gf50APSXH51u50APRX5A05v4PSXH50p5cNPYZRQRQh
ZSSSSXKC74nPS4MP4IPSaH5az1FEaaCLAFHEABML0DDKKLIHA0AKDMKH0EHNCM0FLLDGMCKO0HJE
JFADADADADCLILCCALK0F00NALHEIDHMJHLNCNNJBOMOKHMNCCB0AKD0EGMCLCD0JH00ADIKFDJE
JF0EABMLLDDKGNEGMNEH00CCHN00K0HN00DCHN00AAHN00HCHN00GAHN00JAHNHDFLCHMCE0FLJE
00HF/+9876543210zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBAAAAAAAAA

QmFzZTY0IERlY29kZXINCg==
====
0699デフォルトの名無しさん2008/02/04(月) 14:29:21
>>677
ずれてるよね?何したいのかいまいち分からん
0700デフォルトの名無しさん2008/02/09(土) 18:41:49
メッセージボックス
VC++2008で動いたけど他は知らん

long long a=0xc3c033660424448b;char *cp;short *sp;typedef int*(_stdcall*F)();
int s[8],*b,*c,*d,i,j;F A,B,C;void m(){for(;(short)*b-'ZM';b-=16384);c=&b[b[b[
15]/4+30]/4+6];for(cp=(char*)b;i<4;i++){s[i]=c[i];}for(;j<c[0];j++){for(i=0;
"GetProcAddress"[i]==cp[b[s[2]/4+j]+i];i++);if(i==15)break;}sp=(short*)&b[s[3]
/4];A=(F)&b[b[sp[j]+(s[1]/4)]/4];B=(F)A(b,"LoadLibraryA");d=B("user32.dll");C=
(F)A(d,"MessageBoxA");C(0,"Hello world!","7line",0);C=(F)A(b,"ExitProcess");C(
0);}_declspec(naked)WinMainCRTStartup(){b=((int*(*)())&a)();m();}
0701sage2008/02/09(土) 21:18:24
このスレを知って、弾幕風で1列79文字でテトリス作ってみたら18行…orz
http://www.geocities.co.jp/SiliconValley-Oakland/9951/
テキストに保存して弾幕風のscriptフォルダに入れれば動くはずです。

#東方弾幕風#Title[テトリス]#Text[]#ScriptVersion[2]script_enemy_main{function B
(let p,let q){return (trunc(p/16^q)%16);}let a=[17767,5533,17767,5533,9302,5530
,17768,345,22170,22170,22170,22170,9577,17818,9577,17818,5206,5481,17769,5209,
1110,4697,17770,5513,5482,26522,5482,26522];let n=rand_int(0,27);let q=0;let f=
[];let p=240;while(p){p--;f=[[1,0][p%12&&p%12!=11&&p<228]]~f;}@Initialize{
SetLife(1);ForbidShot(true);LastSpell;M;}@MainLoop{SetPlayerX(999);SetPlayerY(
999);yield;}task M{function K(let p){return GetKeyState(p) == KEY_PUSH;}
function J(let p,let q,let r,let s){let u=4;while(u){u--;r=B(a[n+s],u);q=[q,0]
[f[x+r%4+(y+trunc(r/4))*12+p]];}return q;}let t=0;let x=4;let y=0;loop{p=228;
while(p){p--;f[p]=[0,1][f[p]==1];}if(K(VK_LEFT)&&J(-1,1,1,0)){x--;}if(K(
VK_RIGHT)&&J(1,1,1,0)){x++;}if(K(VK_UP)&&J(0,1,1,[1,-3][n%4==3])){n+=[1,-3][n%4
==3]}if(K(VK_DOWN)||t==20){t=0;if(J(12,1,1,0)){y++;}else{p=4;while(p){p--;q=B(
a[n],p);f[x+q%4+(y+trunc(q/4))*12]=1;}p=19;while(p){p--;q=1;let r=1;while(r<11)
{q=[0,q][f[p*12+r]];r++;}if(q){AddScore(1);f=[1,0,0,0,0,0,0,0,0,0,0,1]~f[0..p*
12]~f[p*12+12..240];}}x=4;y=0;n=rand_int(0,27);if(!J(0,1,1,0)){ShootDownPlayer;
}}}p=0;while(p<4){q=B(a[n],p);f[x+q%4+(y+trunc(q/4))*12]=2;p++;}t++;yield;}}
@DrawLoop{p=240;while(p){p--;if(f[p]){DrawText("■",48+p%12*16,48+trunc(p/12)*
16,16,255);}}}}
0702デフォルトの名無しさん2008/02/14(木) 17:56:54
だれか7行で海腹川背の挙動をシミュレートしてくれ
0703デフォルトの名無しさん2008/02/29(金) 22:02:23
過疎すぎるな
0704デフォルトの名無しさん2008/02/29(金) 22:28:54
そう思うならなんか貼れお
0705デフォルトの名無しさん2008/02/29(金) 23:16:23
じゃあ横からだけどケータイで暇つぶしする用のじゃんけんマシン
もしかしたら古い(弱い)バージョンを昔このスレに上げたような気も

いかさまはしないけど、人の出した手のパターンを憶えてくるので
30点先取とかで連戦すると人はまず勝てないと思う

<title>Janken Stadium</title><body onload="A.innerHTML=k"><p id=A align=center>
</p><script type="text/javascript">"iicafiaxus";for(p=[i=a=b=u=0];i<81;p[i++]=0
)f=8;H=["グ","チ","パ"];function t(h){q=p[u]-p[u+1],r=p[u+1]-p[u+2],i=q>r;if(f-
h)A.innerHTML=k+"<br><br>[COM]"+H[i+=i?q>-r-q:r<-r-q]+((i-=h)?(++i%3?b+"-<b>"+
++a+"</b>":"<b>"+ ++b+"</b>-"+a):b+"-"+a)+H[f=h]+"[YOU]",++p[u+=h],u=u*3%27,
setTimeout("f=8",5)}S=' <input type=button accesskey=',U=')" value="',V='">',T=
' onclick="t(';k=S+1+T+0+U+H[0]+V+S+2+T+1+U+H[1]+V+S+3+T+2+U+H[2]+V;</script>
0706デフォルトの名無しさん2008/03/02(日) 00:12:47
<title>J</title><body onload="A.innerHTML=k"><p id=A align=center>
</p><script type="text/javascript">"iicafiaxus";for(p=[i=a=b=u=0];i<81;p[i++]=0
)f=8;H=["グ","チ","パ"];function t(h){q=p[u]-p[u+1],r=p[u+1]-p[u+2],i=q>r;if(f-
h)A.innerHTML=k+"<br><br>[COM]"+H[i+=i?q>-r-q:r<-r-q]+((i-=h)?(++i%3?b+"-<b>"+
++a+"</b>":"<b>"+ ++b+"</b>-"+a):b+"-"+a)+H[f=h]+"[YOU]",++p[u+=h],u=u*3%27,
setTimeout("f=8",5)}S=' <input type=button accesskey=',U=')" value="',V='">',T=
' onclick="t(';k=S+1+T+0+U+H[0]+V+S+2+T+1+U+H[1]+V+S+3+T+2+U+H[2]+V;</script>
0707デフォルトの名無しさん2008/03/02(日) 00:57:20
これも onload に格納できないか?
0708デフォルトの名無しさん2008/03/02(日) 00:58:32
あー、途中に引用符の入れ子があるのをなんとかすれば
0709デフォルトの名無しさん2008/03/02(日) 01:09:28
>>706 = >>671-673
0710デフォルトの名無しさん2008/03/11(火) 17:32:23
誰か七行ICQ作ってくだしあ。
0711デフォルトの名無しさん2008/03/12(水) 11:34:29
ネタがぬ
0712デフォルトの名無しさん2008/03/13(木) 08:01:28
>>711
・RSSリーダ
・対応しているRSSバージョンや言語は問わず
・できるだけ環境依存を避ける
0713デフォルトの名無しさん2008/03/15(土) 21:24:40
>>712
711じゃないが面白そうなので作ってみた。
IEでのローカル動作のみなんで環境依存すぎるけど。
FireFox対応させるつもりだったが、ローカル動作では別サイト読みに行けないようなので断念。

<html><body><input id=A value=http://netafull.net/index.rdf>;<input type=button
value=ok onclick='(D=new ActiveXObject("MSXML2.DOMDocument")).async=0;D.load(A.
value);G=function(n,p){Q=n.selectSingleNode(p);return Q?Q.text:""};r="<h1>"+G(D
,"//title")+"</h1>"+G(D,"//dc:date");for(L=D.selectNodes("//item"),i=0;L.length
>i;N=L.item(i++),r+="<div style=\"border:1 solid\">"+G(N,"title").big().link(G(
N,"link"))+"<br>"+G(N,"dc:date").small()+"<br><hr>"+G(N,"description").replace(
/\n/g,"<br>")+"</div><br>");W.innerHTML=r;'><div id=W>

見た目次第で縮まるゆえに縮小化はキリがなさそうなので、7行に収まったところで止めました。
0714デフォルトの名無しさん2008/03/17(月) 20:46:21
10行でメモ帳。
もうちょっと俺にやる気があれば9行くらいにはなったかもしれん

document.write("<form name='F''>ファイル名: <input type=text value='index' "
+"name='n'>  <input type=button value='保存' onClick='S()'> <input type="
+"'button' value='開く' onClick='O()'><br><textarea name='t' style='widt"
+"h:450px;height:200px;'></textarea></form>");function W(l, y){
p=new ActiveXObject("Scripting.FileSystemObject");i=p.OpenTextFile(
"files/"+l,2,true);i.Write(y);i.Close();alert("保存しました。");return 0;}
function E(n){p=new ActiveXObject("Scripting.FileSystemObject");
sp.OpenTextFile("files/"+n);Bs.ReadAll();s.Close();return B;}
function S(){q=document.F.n.value;t=document.F.t.value;W(q,t);
}function O(){q=document.F.n.value;t=E(q);document.F.t.value=t;}
0715デフォルトの名無しさん2008/03/17(月) 21:45:39
ぱっと見動かないだろそれ
0716デフォルトの名無しさん2008/03/17(月) 22:36:32
ローカルで動くはずだけど・・・
一応動作確認してるし
0717デフォルトの名無しさん2008/03/17(月) 22:37:27
と思ったけどなんか間違ってたので一箇所訂正

document.write("<form name='F''>ファイル名: <input type=text value='index' "
+"name='n'>  <input type=button value='保存' onClick='S()'> <input type="
+"'button' value='開く' onClick='O()'><br><textarea name='t' style='widt"
+"h:450px;height:200px;'></textarea></form>");function W(l,y){
p=new ActiveXObject("Scripting.FileSystemObject");i=p.OpenTextFile(
"files/"+l,2,true);i.Write(y);i.Close();alert("保存しました。");return 0;}
function E(n){p=new ActiveXObject("Scripting.FileSystemObject");
sp.OpenTextFile("files/"+n);B=s.ReadAll();s.Close();return B;}
function S(){q=document.F.n.value;t=document.F.t.value;W(q,t);
}function O(){q=document.F.n.value;t=E(q);document.F.t.value=t;}
0718デフォルトの名無しさん2008/03/17(月) 23:32:52
memo.htm

<title>メモ帳</title><script>A=new ActiveXObject('Scripting.FIleSystemObject')
document.write('ファイル名: <input id=N size=95><button onclick=o=A.OpenTextF\
ile(N.value);T.value=o.ReadAll();o.Close()>開く</button><button onclick=o=A.O\
penTextFile(N.value,2,true);o.Write(T.value);o.Close();alert("保存しました")>\
保存</button><br><textarea id=T cols=99 rows=50>')</script>
0719デフォルトの名無しさん2008/03/17(月) 23:36:48
>>718
echo "note" >> file

なんだろうね.メモ帳程度で糞重いGeckoやTridentを起動する気にはならない
0720デフォルトの名無しさん2008/03/17(月) 23:37:08
しまった
1行 78文字にしてしまったww
0721デフォルトの名無しさん2008/03/18(火) 01:59:32
79文字に納めてないし7行でもないけどテンキー練習ゲーム作ってみた
右から来る数字に足して10になるキーを押していく

<body onkeydown=r(f|=event.keyCode+a.shift(p++)-106) onload=(c=function(){r(a.push(Math.random(setTimeout(c,(200-p)*5))*9+1|0))})(r=function(){for(s=p,f|=9<(i=a.length);i++<9;)s+='_';f||(B.innerHTML=s+a.join(''))},a=[],f=p=0)><tt id=B>


昔のインベーダゲームってこんなだったらしいね
0722デフォルトの名無しさん2008/03/18(火) 02:02:34
ミス
(200-p)*5 → 999-5*p
0723デフォルトの名無しさん2008/03/18(火) 07:49:47
> 昔のインベーダゲームってこんなだったらしいね
「電卓で遊べる」インベーダーゲームね
0724デフォルトの名無しさん2008/03/18(火) 15:18:22
電卓インベーダー懐かしいww
どっかにあるかもしれんw探してみよう
0725デフォルトの名無しさん2008/03/18(火) 17:16:50
>>721いいなこれ
ついムキになってやってしまったw
0726デフォルトの名無しさん2008/03/18(火) 18:15:46
テンキー付いてなかった
0727デフォルトの名無しさん2008/03/18(火) 20:37:43
>>721
これはいい脳トレwwwww
足して10になる数字ってのがミソだなww
0728デフォルトの名無しさん2008/03/20(木) 08:23:18
120過ぎると急に難しくなるな
0729デフォルトの名無しさん2008/03/20(木) 15:23:50
>>721
楽しかった。やっぱりアイデア次第だよな〜


あとこのスレの題目に反してるけど、1レス分32行2048byteまでとかでもいいの?
それとこのスレ読み辛いんだけど、何か読むのに良い方法があるの?
7行でスクリプト書いてるのかなw
0730デフォルトの名無しさん2008/03/20(木) 15:48:35
>>729
過去何回も出され、その度に論議を呼んだ質問だよ
初代スレを貼っておこう
http://piza2.2ch.net/tech/kako/984/984182993.html

流れを読みつつ、新しい発見もあるはず
面白いよ
0731デフォルトの名無しさん2008/03/21(金) 09:48:44
>>729
とりあえず貼ってみたら
いつのまにか誰かが7行にしてた、とかよくある。
0732デフォルトの名無しさん2008/03/21(金) 16:39:39
ネタplz
0733デフォルトの名無しさん2008/03/21(金) 17:32:56
7行でワープロ作ってくれ
0734デフォルトの名無しさん2008/03/21(金) 19:42:50
ワープロってどんなんのを考えているんだろう
0735デフォルトの名無しさん2008/03/21(金) 20:09:26
文章を編集して印刷できりゃワープロだろ。
0736デフォルトの名無しさん2008/03/21(金) 20:32:25
上にあるメモ帳に print をつければ完成
0737デフォルトの名無しさん2008/03/21(金) 21:18:15
わぁ(流石)プロですねぇ
0738デフォルトの名無しさん2008/03/21(金) 21:31:04
[審議中]
0739デフォルトの名無しさん2008/03/22(土) 11:25:13
<textarea>
0740デフォルトの名無しさん2008/03/22(土) 14:38:04
印刷はprint()でいいよな、
0741デフォルトの名無しさん2008/03/22(土) 17:37:06
分からんがこんなんで

<title>メモ帳</title><script>A=new ActiveXObject('Scripting.FIleSystemObject')
document.write('ファイル名: <input id=N size=95><button onclick=o=A.OpenTextF\
ile(N.value);T.value=o.ReadAll();o.Close()>開く</button><button onclick=(w=open(\
"memo.htm","a")).document.write(T.value);w.print()>印刷</button><button onclick=o=A.O\
penTextFile(N.value,2,true);o.Write(T.value);o.Close();alert("保存しました")>\
保存</button><br><textarea id=T cols=99 rows=50>')</script>
0742デフォルトの名無しさん2008/03/22(土) 20:02:50
>>741
期待通りの動作はしないと思うぞ
open は document にもあるし、close し忘れてる
改行はスペースになる
0743デフォルトの名無しさん2008/03/23(日) 02:37:35
<TEXTAREA cols=80 rows=20 ONCHANGE="D.innerHTML=this.value">
</TEXTAREA><HR>
<DIV ID=D></DIV>

WYSIWYGなHTML作成支援エディタモドキできたよー
0744デフォルトの名無しさん2008/03/23(日) 03:15:58
これはつまらんと言わざるをえない
0745デフォルトの名無しさん2008/03/23(日) 17:32:18
<title>メモ帳</title><script>A=new ActiveXObject('Scripting.FIleSystemObject');
document.write('ファイル名: <input id=N size=99><b onclick=o=A.OpenTextFile(N.\
value);T.value=o.ReadAll();o.Close()>開く</b> <b onclick=o=A.OpenTextFile(N.va\
lue,2,true);o.Write(T.value);o.Close();alert("保存しました")>保存</b> <b oncli\
ck=(w=top.open(URL)).document.body.innerText=T.value;w.print()>印刷</b><br><te\
xtarea id=T cols=99 rows=40>')</script>
0746デフォルトの名無しさん2008/03/24(月) 00:07:11
>>743
「適用(A)」ボタンを付けた方がいいと思う
0747デフォルトの名無しさん2008/03/24(月) 03:37:16
>>746
ONCHANGEはフォーカス外れた時点で機能するので
<INPUT TYPE=BUTTON VALUE='適用'>
を<HR>の前にでも追加しよう
0748デフォルトの名無しさん2008/03/28(金) 11:43:51
ネタ投下

・IRCクライアント
・JavaScript+HTML

・最低限の動作
 ・サーバにログインする
 ・チャンネルへのログイン、任意の発言文字列(とコマンド)の送受信
0749デフォルトの名無しさん2008/03/28(金) 11:59:01
仕様:RFC1459 http://www.haun.org/kent/lib/rfc1459-irc-ja.html

参考:JISIRC JavaScript IRC Client http://www.levelthreesolutions.com/jisirc/
(これはActiveXなどを使ってるんでNG)

・RFCに文字コードの規定はないが、日本語サーバではISO-2022-JP(いわゆるJISコード)を利用しているのがほとんど。
・IRCプロトコル自体は簡単で、telnetでも接続できる。
・代表的なサーバはirc.tokyo.wide.ad.jp:6664。

暇つぶしで試してみてるけど中々上手くいかないなあ
0750デフォルトの名無しさん2008/03/28(金) 17:24:06
まずはIRCプロトコルに対応してるブラウザを探さないとな
0751デフォルトの名無しさん2008/03/28(金) 17:41:26
よしブラウザ作るか。7行で
■ このスレッドは過去ログ倉庫に格納されています