あー。Perl 用空白除去ツールは 7 行達成してます。
$_=join" ",grep{s/(^\s*#.*)|\s+/ /g;length}<>;%k='()<>[]{}'=~/./g;s~(.*?)((?:
(?:(?<![\$\%\&\*\@])(?:(?:m|q[qrwx]?)(?:([(<[{]).*?$k{$3}|([^(<[{ \w]).*?\4)|
(?:s|tr|y)(?:([(<[{]).*?$k{$5}\ *\5.*?$k{$5}|([^(<[{ \w]).*?\6.*?\6))|(?<![\w])
/(?:\\/|[^/])*/)[a-z]*)|"(?:\\"|[^"])*"|'(?:\\'|[^'])*')~push@c,$1,$2;''~egx;$q
=$c[0]=~m!^["'/]|([msy]|q[qrwx]?|tr)[^ \w]!;($_,@c)=map{++$q%2?split:$_}@c,$_;
sub j{$_.=$_[0].shift@c}sub l(){length$_.$c[0]}sub p{print"$_\n";$_=shift@c}sub
w(){/\w$/&&$c[0]=~/^\w/}78<l?79<l?p:w?p:j&&p:w?j" ":j while@c;p;
コメント付きはここに。
http://boobar.hoops.ne.jp/rms/
まとめ乙です〜。
970ぐらいで次スレに移ったときにコピペしましょ。
○ラクエで思い出したけど、プログラムポシェットにも1画面RPGってあったよね。
あれ七行で出来ないかな…。マップ移動もあるやつ。
910 :
60cm浮き上がるストレート:02/09/26 14:18
>>909マップ移動のみ。1~9で移動します。黒いところに行くと終了します。
char x,y,Y,X,m[][12]={"47764454244","77762222244","77622111224","66221111224",
"22221111244","42222422224","22222522224","42222422044","22224422224",
"44224424444","44444454444"},g;main(){printf("\x1b[>5h");for(y=x=1;;){for(Y=X=
-2;Y<3;X==2?(X=-2,Y++):X++)printf("\x1b[%d;%dH\x1b[%dm\x1b[%dm ",Y+13,X*2+40,
Y==0&&X==0?5:0,m[L(y+Y)][L(x+X)]-8);if(y==7&&x==8)exit(1);g=getch();if(g>48&&g
<58){y+=1-(g-49)/3;x+=(g-49)%3-1;y=L(y);x=L(x);if(m[y][x]==49||m[y][x]==52){y
-=1-(g-49)/3;x-=(g-49)%3-1;}}}}L(a){a-=a>=11?11:0;a+=a<=-1?11:0;return a;}
今度はここに出没かよ!>60
もう新スレいらないんじゃない?レベル低いし
Prologインタープリタ作ってみたが、これは7行は無謀だな。
とりあえず15行
#define D(X,Y,Z) Y(){N*x=X();return c==Z
>>6?s[4]=Z,s[6]=x,x=s+=4,x[3]=Y(),x:x;}
typedef*P,N,*E[99];N*F[99],f,S[99999],*s=S,c,R,**G;C(){(c=getchar())<0?exit(0):
c<33&&C();}T(){N*x;C();s[4]=c*64+(c-65<26U)+1;return'('==c?x=p(),C(),x:(C(),s+=
4);}D(T,Q,2884)D(Q,q,2820)D(q,p,3716)a(c){putchar(c);}W(N*x){r(&x);a(*x
>>6);*x&
4?a(40),W(x[2]),a(44),W(x[3]),a(41):0;}B(x,y){s+=4;*s=8;s[2]=x;s[3]=y;}r(P*x){N
*y=*x;for(;y<=s&&**x&2;y+=4)*y==8&&y[2]==*x?*x=y[3]:0;}u(N*x,N*y){r(&x);r(&y);
return x==y||(*x&2?*y&2&&x>y?B(y,x):B(x,y),1:*y&2?B(y,x),1:*x==*y?*x&4?u(x[2],y
[2])&&u(x[3],y[3]):1:0);}I(N*x,E z){P*y=z+(*x
>>6),w=s+=4;*w=*x;return*x&2?*y?*y
:(*y=w):*x&4?w[2]=I(x[2],z),w[3]=I(x[3],z),w:x;}Y(x,y,z){s+=4;s[0]=0;s[1]=x;s[2
]=y;s[3]=z;return s;}U(n,g,x){P*i=F,z,q=s;while(*i){E e={0};z=I(*i++,e);if(u(g,
z[2])){X(Y(n+1,z[3],x));if(R<n+2)break;}s=q;}}X(N*x){N*g,z;R=999;x?(g=x[2])?U(x
[1],g,x[3]),*g==2113?X(x[3]),R=R>x[1]?x[1]:R:*g==2820?X(Y(x[1],g[2],Y(x[1],g[3]
,x[3]))):0:X(x[3]):J();}J(){N i=0;while(i<99)G[i]?a(i),a(61),W(G[i++]),a(10):i
++;puts("yes");}main(){N*z;while(z=p()){E e={0};G=e;*z!=3716?W(z),a(10),X(Y(0,I
(z,e),0)),puts("no"):(F[f++]=z,0);}}
:-の代わりに:を使う。compound termはない。変数等は一文字のみ。
:のある入力はassertされて、ないのは問い合わせだとみなされる。
差分リストを使った7行クイックソートでも食わせてみてくれ
t:!. o-(X,Y): z-(X,Y,(0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,@)).
z-(X,Y,(X,R)): !. z-(X,Y,(Y,R)): !,f. z-(X,Y,(Z,R)): z-(X,Y,R).
q-(@,X-X):!. q-((X,R),Y-Z): v-(X,R,L,B), q-(L,Y-(X,W)), q-(B,W-Z).
v-(P,(X,R),L,(X,B)): o-(P,X),!,v-(P,R,L,B).
v-(P,(X,R),(X,L),B): v-(P,R,L,B).v-(P, @, @, @):t.
q-((6,2,f,9,7,e,d,5,b,1,8,a,3,c,4,@),Y-@).
>>913 他のスレに比べても十分良いレベルにはあると思うよ。
part2が作られたときも散々言われたけど、なかなかいい作品が出てきたし。
>>914 つーか、すげーよ! 10行未満には絶対すべきや! そしていつか7行に!!
>>915 Part2でレベル下がったと思うけどな。
低レベルの作品をお互いにほめあってどんどんレベル落ちてるかと。
>>916 確かにRLEやgrep@perl、○ラクエなどはどうかと思ったけど。
(まだ7行プログラミングが普及していないせいもあるが)
それでもpart1ではオセロやカラースネークくらいしか見られるものがなかった。
part2ではテトリスや各種データ圧縮がなかなかのレベルかと思うが、どうだろ。
>>919 圧縮はPart1のレンジコーダーが最高峰でないの?
>>920 part1のrangecoderはもっと短くできるから、それが再登場したら最強かも。
でも、詰め込み(縮め)度合いならば、part2の方がかなり熟成された感じが良い。
ただコンパイラ依存、環境依存になりかけているのが残念だけど。
>>922 #include <iostream>
unsigned W,O,u=256,i=6,l,K,b,a[256],R=~0,y=1<<24,x=u;main(int,char**V){unsigned
char*t=new unsigned char[1<<24];if(*V[1]-69){for(cin>>O;i--;)W=W*x|cin.get();
for(;l<O;R*=a[b]){for(K=b=0;R<y;R*=x)W=W*x|cin.get();for(R/=u++;W/R>=K;K+=a[b++
]+1);W-=R*(K-++a[t[l++]=--b]);}}else{for(;~(i=cin.get());K=W,l++){for(b=0;b<i;W
+=R/u*(a[b++]+1));if(K>W)for(K=O;!++t[--K];);for(R=R/u++*++a[i];R<y;R*=x)t[O++]
=W/y,W*=x;}cout<<l<<-1;for(y=4;y--;)t[O++]=W>>y*8;}cout.write(t,O);}
ちなみにもともとのようにgccオンリーでよいならば、
3行目をchar t[y];とできるから、もっと縮まるよん。
言っちゃなんだが大して変わってないな
>>925 まだpart2ができる前のものだからねぇ。すまんねぇ。
このスレで登場したrangecoderのように符号化と復号をいっしょにするとか、
今ならもっと縮まるかもしれない。
>>925が挑戦してみる?
> #include <iostream>
> unsigned W,O,u=256,i,l,K,b,a[256],R=~0,y=1<<24,x=u;main(int,char**V){unsigned
> char t[y];if(*V[1]-69){cin>>O;cin.read(t,6);for(W=t[2]*y|t[3]<<16|t[4]*x|t[5];l
> <O;R*=a[b]){for(K=b=0;R<y;R*=x)W=W*x|cin.get();for(R/=u++;W/R>=K;K+=a[b++]+1);W
> -=R*(K-++a[t[l++]=--b]);}}else{for(;~(i=cin.get());K=W,l++){for(b=0;b<i;W+=R/u*
> (a[b++]+1));if(K>W)for(K=O;!++t[--K];);for(R=R/u++*++a[i];R<y;R*=x)t[O++]=W/y,W
> *=x;}cout<<l<<-1;t[O++]=W/y;t[O++]=W
>>16;t[O++]=W/x;t[O++]=W;}cout.write(t,O);}
前スレのrangecoder。
エンコデコ一緒だろ、これ?
>>927 forをひとつにまとめてしまうっていう手法のことだろ?
g=*V[1]-69;としておいて、for(g?decode:encode;g?...:...;);とするやつ。
Part1は無茶苦茶レベル高かったからな。
各コテハン達がしのぎを削ってたね。オフで逢った人たちもいるみたいだし。
見ているだけでわくわく出来た。
Part2も、テトリスとかいい作品はいっぱいあったんだけれど、
いい作品は何故か叩かれ、下らない作品がほめられる傾向が強かったね。
実際にPart1のコテハン達が全然来なくなってしまったしね。
include省いてアーキテクチャ限定して何が楽しいんだろう・・・
と愚痴を言ってみるテスト
930 :
デフォルトの名無しさん:02/09/27 05:47
>>914 prolog15行はすごいね。
今lisp作ってるけどだらだら書いてたら100行超えちゃったよ・・。
>>929 レベルが下がったのは同意だが、他のスレのように厨が入り込みにくいし、
住民の質も平均以上であると思われ。
ROMしてる者ですが、基本テクニック集を作っていただけないでしょうか。
ん?私のような厨を排除するためにもテクニックは実例を見て盗め、ですか?
その他力本願さ加減が素敵
>>933 こちらが乗り込んで作ろうとすると質が下がると言うくせに。
935 :
デフォルトの名無しさん:02/09/27 12:08
>>932 今、私はとってもいそがしい。 そこでだ。
キミが代わりに作っておいてくれないか?
936 :
デフォルトの名無しさん:02/09/27 13:18
UmlToJavaを7行で作って欲しいのですが…。
書式:「入力行」 => 「出力行」
-type hoge => private type hoge {\n}
#type hoge => protected (以下略
+type hoge => public (以下略
-type hoge(...) => private type hoge(...) {\n}
#(以下略
+(以下略
「それ以外」 => 「そのまま出力」
あと、+(public)以外のときには
public type getHoge() {\nreturn hoge;\n}
public void setHoge(type hoge) {\n}
をつけてくれるとうれしいです。
書き忘れました。
実行時引数で与えたファイル名がクラス名になるようにしてください。
ここって依頼スレか?
>>938 ネタを提供してやってるん…(゚д゚)ハッ…どうか作ってくださいm(_ _)m。
>>935 ROMな私が作って良いものができると思ってるんですか?
ifを3項演算子に書き換える、とかは圧縮する基本テクニックだろうが
結局のところは対象をいかに簡明でトリッキーなアルゴリズムに
変換できるか、に尽きると思うな。
論理演算、ビット演算、アルゴリズム、データ構造は必須。
>>940 そんなことは問題じゃない!
気持ちの問題だ!
あたってぶつかれ!
なんか今日はえらい背中を押しますね。
ROMってのは嘘で1度だけ書いてます。アレだったので叩かれましたが。。。
とりあえずC系の基本技、論理演算子と3項演算子の威力を数字にしてみます。
括弧はついていませんが、各条件部の前に!をつけても正しく動きます。
if(printf("1-1:"))printf("逝ってよし");else if(printf("1-2:"))printf("オマエモナー");else printf("シラネーヨ");
printf("1-1:")&&printf("逝ってよし")||printf("1-2:")&&printf("オマエモナー")||printf("シラネーヨ"); // 12バイト短縮
printf("1-1:")?printf("逝ってよし"):printf("1-2:")?printf("オマエモナー"):printf("シラネーヨ"); // 更に4バイト(演算子が全て2バイトから1バイトになった)
以上は単純で汎用的な短縮パターンですが、3項演算子は演算なだけにif文と違って
戻り値を利用できるので、then/else節に入る命令が同じなら
printf(printf("1-1:")?"逝ってよし":printf("1-2:")?"オマエモナー":"シラネーヨ");// 更に16バイト
とできます。(16バイトは"printf()"が2つ)
なお、これ↓は型の都合上動かないようで。
printf(printf("1-1:")&&"逝ってよし"||printf(printf("1-2:")&&"オマエモナー"||"シラネーヨ"));
そろそろ次スレですか?
つーかprintfの戻りって何だっけ?
printf("1-1:逝ってよし");
最短。
>>951 立てるのは別にいいけど、過去作品まとめてくれ
>>950 レベルが落ちてるから立てなくてよくねぇ?という話は出てたな。
どうせ低下の一途を辿るなら、今のまま埋もれさせる方がいい、とかかな?
個人的にはせっかく出てきたハイレベルな常連を
厨房が叩いていたのを見た時点でこのスレの終わりを感じた。
過去作品は
>>903-905
つーか立てられるかわかんないけど・・
試しに今からスレ立てて見るから、
>>2-5と
>>900-906とそれ以降のリンク、
誰か次スレに貼っつけてといてね。
やっぱりこのスレで止めておけばよかったね
switch(1){case 1:printf("pc3");case 2:printf("2ch");default:printf("net")}
(1==1)?printf("pc3"):(1==2)?printf("2ch"):printf("net")}
上下でやってること違うけど、switch文はやはり使えないな。予約語が長い。
走り抜けが利用できる、条件部が複雑だが等号で行ける、項数が多い。
その3点が揃えば使い道はあると思うが、なかなか無さそう。
まとめにくいなぁ・・・・・・。
3項演算は便利。インクリメント・デクリメントも基本。
ビット演算はとりあえず知っとく。
~-1==0なので、EOF検知に使える。
>>692 のような優先順位を使ったカコイイ技(成果は1バイトだが)もあり。
論理演算が使われているところは隙があるかも。
あと、真理値表って便利。
なんであんなことになっちまったんだろうなぁ
みんなが少しずつ我慢できなかったから。
>>961 > みんなが少しずつ我慢できなかったから。
つーか、ソースも書けねー奴が仕切るからだよ。ちゃんとソースさらして議論すりゃ、厨房はそれなりに淘汰されると思うよ。
こちらで議論するのはなんだけど、
厨房の意見「どんなソースコードでもスレに貼っていいはずだ」
粘着の意見「7行スレは7行を目指す意志の無いソースを貼ってはいけない」
で、いいんだよね?俺は粘着派だな(w
ちなみに、このスレではみんなそこそこ7行を目指していた(様な気がする)。
しかし、厨房増加の危険は出ていた。テトリスでSが叩かれ
(しかも叩かれたのは内容ではなく「誰も興味ないから何度も書き込むな」)
円周率でトリッキーの1を叩く(これも内容ではなく「有名人はもう出てくるな」)。
最終的に明らかに7行の意志のないドラクエが出てきても叩かれない
(しかもコードの質としては、個人的にはテトリスや円周率に比べて低いように感じた)
そりゃスレの質も落ちるよなぁ。
>>962 ソースさらして議論ってどういう意味だろう?
2chに質を求める奴はなんつぅか・・・・・・頭が悪いんじゃなかろうか。
削除を行ったり規制を行ったりする管理人がいれば質も上がるだろうが、
2chは議論の場所しか貸してくれない。
質を求める奴は適当なHN使って自分でHP立ち上げて、ここに1回宣伝に来ればいいのに。
>>963 > ソースさらして議論ってどういう意味だろう?
「どんなソースでも貼れ」「いや、七行にならない奴はダメだ」とか言ってたって議論は平行線だと思うよ。
27行のドラクエがダメだって言うけど、じゃあ何行ならいいの ? 27行でスカスカのコードもあるし、8行でもキチキチのコードもあるよね。
結局コードの行数って言っても一概に何行までならいいなんて言えないと思う。(かといって、一万行とか貼られても困るけどね。)
だから、とりあえず貼ってもらって、どう見てもダメな奴はそう指摘すりゃいいと思う。
少なくとも、「どんなソースでも貼れ」「いや、七行にならない奴はダメだ」なんて言う不毛な議論よりはマシになると思うよ。
>>964 part1は機能していたのにな。知名度が上がるとダメなのかな?
>>965 963ではないけど、7行にする意志があれば何行でもいいんじゃない?
ドラクエはどうかしらないが、part3のlispはあり得ないよな。
968 :
デフォルトの名無しさん:02/09/29 06:20
>>965 「このスレ」に於いては、七行でないとダメだろう
スレタイが前提になることを肝に銘じなくてはいかんよ
10行でOKと思う奴は10行のスレを立てれ
>>968 つーか元々perl少年のDVD解除7行事件簿から始まった事だろ。
十分短きゃそれでいいんだよ。
>>968みたいなやつがのさばってからだよ。
スレの雲行きが悪くなったのは
上げられたくないなら埋め立てろ
>>968 >「このスレ」に於いては、七行でないとダメだろう
> スレタイが前提になることを肝に銘じなくてはいかんよ
> 10行でOKと思う奴は10行のスレを立てれ
じゃあ聞くけど、貼る奴は7行になると思って貼らないといけないの ?
自分の実力じゃ10行までしかできなかったけど、もしかしたらエキスパートが7行にしてくれるかもしれないじゃん。
あと、勢いあまって6行とかしたら失格ですか ?
まあ、何十行もある奴は論外として、元コードが10行位なら状況によっては7行ぐらいなることもあるでしょ ?
何でそんなにスレタイトルに拘るのかわかんらんよ。
>>973 自分でやらなくても(達成できなくても)7行への希望があるなら良いんじゃないのか
出したか無いけど、新スレのlispとか7行にするつもりがあるとは思えないだろ。
>>974 > 出したか無いけど、新スレのlispとか7行にするつもりがあるとは思えないだろ。
コード見ないとなんとも言えないよ。
>>975 >GC、関数トレース、リスト操作、再帰、高階、内部関数
奇跡が起きてもこれだけを7行付近まで持っていくのは不可能と断言できる。
>>975 その程度のことも解らない人はこの板に来ない方がいい
>>977 > その程度のことも解らない人はこの板に来ない方がいい
ふ〜〜〜ん、あんたはコードを見なくてもわかるわけね、すごいね。
断定して排除するのも見苦しいぞ。
選民思想が強すぎる。
まあ無理っぽい率99.8%超えてるのは認めよう
でも、男なら いや 漢なら! 敢えて0.2%に挑む!
>>984 えーやっぱりそうかなー
でも100%のヒーローなんているわけないよと
わかってんだからはりきるしかないですな
>984
ヤマトじゃあるまいしどうやったら100%超えるのかと。
でも見たかったな44行lisp。
GCとかトレースなどはあきらめても問題ないんじゃ?
順次機能を削っていけば…
>>988 俺はlispを知らない(w
ので、仕様を決めてくれ
7行職人に到る過程として「44行でこんなのできました」というのも
大切にすべきではと思う。7行スレでやるのはスレ違いだが。
無下に断るよりは隔離スレ(釣りバカ)で質疑応答を受けたり
気が向いた人が添削・指摘するなりしたほうがお互いベターでは?
>>990 > 無下に断るよりは隔離スレ(釣りバカ)で質疑応答を受けたり
> 気が向いた人が添削・指摘するなりしたほうがお互いベターでは?
ソース見てから、「あっちへ逝け」と振るんじゃダメなん ?
俺はlispを知らないので、代わりにlisp風?ミニ電卓を作ってみた。
"(* (+ 2 3) 4)" みたいな計算ができる。
貧弱な上短くする余地もまだまだある、つーか手抜きだが、その辺は好きに弄ってくれ。
#include<stdio.h>
char s[999],*p=s;a(void){int r=0;if(*p=='('){char c=*++p;++p;while(*p==32)++p;
if(c=='+')r=a()+a();else if(c=='-')r=a()-a();else if(c=='*')r=a()*a();else if(
c=='/')r=a()/a();else if(c=='%')r=a()%a();else if(c=='p'){r=a();printf("%d\n",
r);}++p;}else do{r=r*10+*(p++)-'0';}while(*p!=32&&*p!=0&&*p!=')');while(*p==32
)++p;return r;}main(){gets(s);printf("%d\n",a());return 0;}
>>993 つまり、逆ポーランド記法の電卓ってこと?
逆ポーランド記法と正反対で、演算子が前に来るから…何て言うんだろ?
表示のpとループ構文l(←もちろん独自仕様)加えて7行に増やした(w
例えば(l 10 (p 10)) で 10を10回表示。
#include<stdio.h>
char s[999],*p=s;a(void){int r=0;if(*p=='('){char c=*++p;++p;while(*p==32)++p;
if(c=='+')r=a()+a();else if(c=='-')r=a()-a();else if(c=='*')r=a()*a();else if(
c=='/')r=a()/a();else if(c=='%')r=a()%a();else if(c=='p'){r=a();printf("%d\n",
r);}else if(c=='l'){int i,n=a();char*b=p;for(i=0;i<n;++i){p=b;r=a();}}++p;}
else do{r=r*10+*(p++)-'0';}while(*p!=32&&*p!=')');while(*p==32)++p;return r;}
main(){gets(s);printf("%d\n",a());return 0;}
>>994 > つまり、逆ポーランド記法の電卓ってこと?
逆ポーランドは、反対。
2 3 + 4 * とか入力すると、20 とか出力される。HP の奴が有名。
ポーランド記法は、* + 2 3 4 とか入力する。
HPの電卓は最高だな。クソCompaqめが…
1000取っていい?
次スレ:七行プログラミング part3
http://pc3.2ch.net/test/read.cgi/tech/1033143528/l50 兄弟スレ:「釣りバカ日誌パート1」
http://pc3.2ch.net/test/read.cgi/tech/1033220509/l50 ここは 乂1000取り合戦場乂 となりますた。。。
\∧_ヘ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!! ,,、,、,,,
/三√ ゚Д゚) / \____________ ,,、,、,,,
/三/| ゚U゚|\ ,,、,、,,, ,,、,、,,,
,,、,、,,, U (:::::::::::) ,,、,、,,, \オーーーーーーーッ!!/
//三/|三|\ ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
∪ ∪ ( ) ( ) ( ) )
,,、,、,,, ,,、,、,,, ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
,,、,、,,, ( ) ( ) ( ) ( )
\\ //
♪ \\ キョウモゲンキニ 1000get♪ ミンナナカヨク 1000get♪ // ♪
\\ // ♪
♪ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧∧ ♪
♪ ∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧ ♪
(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧
♪ ∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*)∧ ∧(゚0 ゚*) ♪
─♪──(゚0 ゚*)| ∪(゚0 ゚*)| ∪(゚0 ゚*)| ∪(゚0 ゚*)| ∪(゚0 ゚*)| ∪(゚0 ゚*) | ∪(゚0 ゚*) | ∪───────
| ∪ | | ∪| | | ∪. | | | ∪| | .| ∪| | | ∪ | | | ∪ | |〜 ♪
♪ | | U U .| | U U | | U U. | | U U .| | U U | | U U | | U U ♪
U U U U U U U U U U U U U U
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。