[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/10 16:01 / Filesize : 349 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

七行プログラミング part2



1 名前:デフォルトの名無しさん [02/04/15 12:09]
7行×79文字なら言語は問いません。
過去作品は>>2-5を参照。

■前スレ
pc.2ch.net/test/read.cgi/tech/984182993/

231 名前:デフォルトの名無しさん mailto:sage [02/04/28 14:18]
main(){

232 名前:デフォルトの名無しさん mailto:sage [02/04/28 16:47]
10 CLS

233 名前:デフォルトの名無しさん mailto:sage [02/04/28 17:02]
1CLS:FOR

234 名前:デフォルトの名無しさん mailto:sage [02/04/28 19:45]
N88BASICで、リストと実行結果が全く同じプログラム
10 list

ネタはこの程度にしておこう。
誰か作品出してくれっ

235 名前:デフォルトの名無しさん mailto:sage [02/04/28 20:18]
トリッキーの1降臨キボン

236 名前:VB厨 mailto:sage [02/04/29 22:52]
Sub Main


237 名前:デフォルトの名無しさん [02/04/29 22:52]
旧スレが上がってるのでage

238 名前:デフォルトの名無しさん mailto:sage [02/04/30 13:43]
del %0
バッチはダメ?

239 名前:ロボ鉄 ◆MGTy6iYI mailto:sage [02/04/30 21:27]
おぉ、僕の冗談で作った2行カウンタが晒されてる・・・
ただのカウンタをちょっと縮めただけなのに。
恥ずかしいからsage。
誰も見ないでくれ



240 名前:デフォルトの名無しさん mailto:sage [02/04/30 22:07]
正直、7行で作ってくれ

241 名前:ロボ鉄 ◆MGTy6iYI mailto:sage [02/04/30 22:17]
カウンタに七行も無いでしょうが

242 名前:デフォルトの名無しさん mailto:sage [02/05/01 00:20]
じゃ、スレ違い

243 名前:デフォルトの名無しさん mailto:sage [02/05/01 08:25]
>>239
逝け

244 名前:デフォルトの名無しさん mailto:sage [02/05/01 11:32]
ついにロボ鉄が来たか…
このスレももう終わりだな。

良スレから駄スレへ

悲しいけど

     ∧∧  ミ _ ドスッ
     (   ,,)┌─┴┴─┐
    /'   つ 糸冬 了 │
  〜′ /´ └─┬┬─┘
   ∪ ∪      ││ _ε3
               ゛゛'゛'゛

245 名前:デフォルトの名無しさん [02/05/01 20:39]
ネタ募集



246 名前:                [02/05/01 21:06]
    遺伝子的循環





247 名前:デフォルトの名無しさん mailto:sage [02/05/02 00:54]
前スレが激良スレだったからこそなんだろうか…

248 名前:デフォルトの名無しさん mailto:sage [02/05/02 01:12]
ネタを与えれば活発に動き出すと思われます

249 名前:デフォルトの名無しさん mailto:sage [02/05/02 10:42]
テトリス見てる限りそれも怪しいぞ…



250 名前:デフォルトの名無しさん mailto:sage [02/05/03 23:42]
そういえば、cって戻り値だけじゃなくて、引数がintの時に

func(a, b)
{ return a + b; }

こうやって省略できるんだね。
これも多少は縮めるのに役立つんじゃないかな。

251 名前:デフォルトの名無しさん mailto:sage [02/05/03 23:43]
前スレのSHA-1縮めていて思いついたけど、
やっぱり11行より短くなりそうもなかったので破棄したけど。

252 名前:デフォルトの名無しさん mailto:sage [02/05/04 01:04]
>>250
みんな普通にやってるみたいだけど?オセロ参照

253 名前:デフォルトの名無しさん mailto:sage [02/05/04 16:48]
>>252
引数まで省略してるのは見つからないけど。
記事番号キボンヌ

254 名前:デフォルトの名無しさん mailto:sage [02/05/06 03:27]
>>253
引数省略はC++で許されたっけ?
gccではエラー出てたような?うろ覚えスマソ

255 名前:デフォルトの名無しさん mailto:sage [02/05/06 11:07]
縮めるためならK&R

256 名前:デフォルトの名無しさん [02/05/06 13:15]
誰かが「すでに動いてるソースコードで」ネタを提供しなきゃ駄目なんだよ


257 名前:デフォルトの名無しさん mailto:sage [02/05/06 13:44]
テトリスやオセロもそうだったけど、比較的上級者?が最初にネタを提供しても、
始めから縮めテクが使われているし、そのまま自分で解決してしまうからねぇ・・・
# それはそれで、見ていて楽しかったけれど。
あまり縮めるのが得意でない人が、10数行でネタを投稿するのが良いかも。
# スネークとかライフゲームとか

258 名前:デフォルトの名無しさん mailto:sage [02/05/06 16:07]
>>257
初心者の出すネタは上級者には面白くないという罠。
上級者が考えると、ホントに出来るかどうか微妙だから面白い。
テトリスはそういう意味では、ネタとしては、ナイスだったね。

259 名前:デフォルトの名無しさん mailto:sage [02/05/06 18:32]
色当てゲームはどうかな。



260 名前:デフォルトの名無しさん mailto:sage [02/05/06 18:38]
P2Pチャットシステムとかどうよ?


261 名前:デフォルトの名無しさん mailto:sage [02/05/06 18:39]
7行でメールソフト作ってください。
コマンドラインから
 *** <smtpサーバ> <port> <送信先アドレス> <subject> <内容> <添付ファイル>
みたいな感じで送れるやつ。

262 名前:デフォルトの名無しさん mailto:sage [02/05/06 18:44]
添付ファイルは無理だろ
Base64 encodingだけで2~3行食いそう

263 名前:デフォルトの名無しさん mailto:sage [02/05/06 20:16]
2 rem 言語:Basic
4 rem 使用方法:使えません(w
10  print "ここは七行でプログラムを作る・鑑賞するスレです。"
20  print "マターリが原則です。"
30  print "ネタ提供時/七行達成時いがいはsage推奨"
40  print:print "ソースUP時は、必ず"
50  pirnt "言語"
60  print "使用方法"
70  print "何を作ったのか"
80  print"などを書きましょう。"
90   goto 20

264 名前:デフォルトの名無しさん mailto:sage [02/05/06 22:25]
>>258
テトリスは絶対不可能だと思ってたからね。驚いたよ
オセロやテトリス、倉庫番など、
元があるゲーム類ってのはネタとして興味が大きそうだね

265 名前:デフォルトの名無しさん mailto:sage [02/05/07 06:14]
ファイラーなんてどうでしょ?
削除とかしか出来ない超低機能な奴。

266 名前:デフォルトの名無しさん mailto:sage [02/05/07 15:52]
>>265
昔 MSX で作ったことがあるよ。BASIC 15行くらいで、名前変更と削除のみができるの。
超低機能ならば、できるでしょうね。
あとは、7行でどれだけの機能を詰め込めるか・・・

267 名前:デフォルトの名無しさん mailto:sage [02/05/07 18:03]
ゴールが見えない時点で曖昧だなぁ

268 名前:デフォルトの名無しさん mailto:sage [02/05/07 22:08]
じゃぁ,コラムスとか。

269 名前:デフォルトの名無しさん mailto:sage [02/05/07 22:27]
お絵かきロジック、できるかもだ。



270 名前:デフォルトの名無しさん mailto:sage [02/05/08 00:47]
箱入り娘はどうよ?

  0.1.2.3
  -----
a| BAAC  G,1-e って入力すると、Gが(1,e)に移動。
b| BAAC  で、Aを (1,d)-(2,e) に持ってこれればクリア。
c| DF.FE  でもこれだとわかりづらいから、別の表示方法キボンヌ。
d| DGHE  (記号とかもありかも)
e| .I   .J  たしか、最短の手が81手だったかな。

271 名前:デフォルトの名無しさん [02/05/08 01:10]
キタ━━━( ゚∀゚ )━( ゚∀)━(  ゚)━(  )━(゚  )━(∀゚ )━( ゚∀゚ )━━━!!!!

272 名前:age [02/05/11 17:10]


273 名前:デフォルトの名無しさん [02/05/11 23:23]
メーラー 11行。

#include <stdio.h>
#include <winsock.h>
#define k send(s,t,l,0);Sleep(999);while(z=recv(s,t,99,0)){t[z]=0;printf("%s",t);}
#define sp sprintf
main(int c,char **a){SOCKADDR_IN d;WSADATA w;char t[99],z,l;SOCKET s;
WSAStartup(MAKEWORD(2,2),&w);s=socket(AF_INET,SOCK_STREAM,0);if(c!=2)return;
d.sin_family=AF_INET;d.sin_port=htons(25);d.sin_addr.s_addr=inet_addr(a[1]);
if(!connect(s,(PSOCKADDR)&d,sizeof(d)))
{l=sp(t,"HELO %s\r\n",a[2]);k;l=sp(t,"MAIL FROM:%s\r\n",a[3]);k;
l=sp(t,"RCPT TO:%s\r\n",a[4]);k;l=sp(t,"DATA\r\n",a[4]);k;
l=sp(t,"Subject: %s\r\n",a[5]);k;l=sp(t,"%s\r\n",a[6]);k;
l=sp(t,"\r\n.\r\n");k;l=sp(t,"QUIT");k;}closesocket(s);}

274 名前:261 mailto:sage [02/05/11 23:26]
>>273
まだやってみてないけど、ありがとう!

275 名前:デフォルトの名無しさん mailto:sage [02/05/11 23:30]
#include <stdio.h>
#include <winsock.h>
#define k send(s,t,l,0);Sleep(999);while(z=recv(s,t,99,0)){t[z]=0;printf("%s",t);}
#define sp sprintf
main(int c,char **a){SOCKADDR_IN d;WSADATA w;char t[99],z,l;SOCKET s;WSAStartup(
0x0202,&w);s=socket(2,1,0);if(c!=2)return;d.sin_family=2;d.sin_port=htons(25);d.
sin_addr.s_addr=inet_addr(a[1]);if(!connect(s,(PSOCKADDR)&d,sizeof(d))){l=sp(t,
"HELO %s\r\n",a[2]);k;l=sp(t,"MAIL FROM:%s\r\n",a[3]);k;l=sp(t,"RCPT TO:%s\r\n",
a[4]);k;l=sp(t,"DATA\r\n",a[4]);k;l=sp(t,"Subject: %s\r\n",a[5]);k;l=sp(t,"%s\r\
\n",a[6]);k;l=sp(t,"\r\n.\r\n");k;l=sp(t,"QUIT");k;}closesocket(s);}

俺にはコレが限界。

276 名前:デフォルトの名無しさん mailto:sage [02/05/11 23:31]
>>274
動かなかったらごめん。
プロバイダのメール鯖の認証の関係で、
動作確認できなくて・・・

277 名前:デフォルトの名無しさん mailto:sage [02/05/12 00:13]
>>273 >>275
つーか、実行できんやろ。
if(c!=2)return; ってなんや?

278 名前:273 mailto:sage [02/05/12 00:34]
あー HTTPクライアントを適当に変えただけだからね。

基になるソースコードが無いと
誰も手をつけてくれなさそうだったからさ・・・
俺、ネットプログラム初心者です。ごめん。


279 名前:273 [02/05/12 00:42]
#include <stdio.h>
#include <winsock.h>
#define k printf("%d,%s\n",l,t);send(s,t,l,0);Sleep(999);z=recv(s,t,99,0);t[z]=0;printf("%s",t);
#define sp sprintf
main(int c,char **a){SOCKADDR_IN d;WSADATA w;char t[99],z,l;SOCKET s;WSAStartup(
0x0202,&w);s=socket(2,1,0);d.sin_family=2;d.sin_port=htons(25);d.
sin_addr.s_addr=inet_addr(a[1]);if(!connect(s,(PSOCKADDR)&d,sizeof(d))){l=sp(t,
"HELO %s\r\n",a[2]);k;l=sp(t,"MAIL FROM:%s\r\n",a[3]);k;l=sp(t,"RCPT TO:%s\r\n",
a[4]);k;l=sp(t,"DATA\r\n",a[4]);k;l=sp(t,"Subject: %s\r\n",a[5]);send(s,t,l,0);
l=sp(t,"%s\r\n",a[6]);send(s,t,l,0);;l=sp(t,"\r\n.\r\n");send(s,t,l,0);;l=sp(t,"QUIT");k;}closesocket(s);}

一応送信できるはず。
ウザくてごめんね



280 名前:デフォルトの名無しさん mailto:sage [02/05/12 01:27]
>>279
おー、送信できました。実験する場合はローカルにサーバを立てるのがよろしいかと。
ただプログラムの無駄は多そうですので、十分7行になるのでは?

281 名前:デフォルトの名無しさん mailto:sage [02/05/12 01:50]
縮めてみますた

#include <stdio.h>
#include <winsock.h>
SOCKET s;char t[99],z,l,f,*b;k(char*b,char*x){l=sprintf(t,b,x);printf("%s",t);
send(s,t,l,0);if(!f){Sleep(999);t[recv(s,t,99,0)]=0;puts(t);}}main(int c,char**
a){SOCKADDR_IN d;WSADATA w;WSAStartup(514,&w);s=socket(d.sin_family=2,1,0);d.
sin_port=htons(25);d.sin_addr.s_addr=inet_addr(a[1]);if(!connect(s,(PSOCKADDR)&
d,sizeof(d))){k("HELO %s\r\n",a[2]);k("MAIL FROM:%s\r\n",a[3]);k("RCPT TO:%s\r\
\n",a[4]);k("DATA\r\n",a[4]);k("Subject: %s\r\n",a[f=5]);k("%s\r\n",a[6]);k(
"\r\n.\r\n","");f=0;k("QUIT\n","");}closesocket(s);}

282 名前:デフォルトの名無しさん mailto:sage [02/05/12 02:39]
>>261
添付ファイルは難しいが(uuencode形式ならOK)、telnet コマンドを使えばいいのでは???
つーことは、Unix系なら perl かシェルスクリプトで、Windows なら BAT でもできる?

283 名前:281 mailto:sage [02/05/12 02:45]
winsock の使い方が良くわからないので、その辺がどうにもならぬ

#include <winsock.h>
typedef char C;puts(C*);sprintf(C*,C*,C*,C*);SOCKET s;C t[99],l,f;k(C*b,C*x){l=
sprintf(t,"%s%s\r\n",b,x);puts(t);send(s,t,l,0);if(!f)Sleep(999),t[recv(s,t,99,
0)]=0,puts(t);}main(int c,C**a){SOCKADDR_IN d;WSADATA w;WSAStartup(514,&w);s=
socket(d.sin_family=2,1,0);d.sin_port=6400;d.sin_addr.s_addr=inet_addr(a[1]);if
(!connect(s,(PSOCKADDR)&d,sizeof(d)))k("HELO ",a[2]),k("MAIL FROM:",a[3]),k("R\
CPT TO:",a[4]),k("DATA",""),k("Subject: ",a[f=5]),f=0,k(a[6],"\r\n.\r\nQUIT");
closesocket(s);}

284 名前:デフォルトの名無しさん mailto:age [02/05/12 03:35]
>>279
腹が立って作ったプログラムなのに、ツッコマレても謙虚な姿。感心アゲ。

285 名前:tara mailto:sage [02/05/12 05:23]
超簡易七行SMTPクライアントです。エラー処理ほとんど無翅です。
コンパイルすると警告が出ますが、無視してください。

#include <winsock.h>
main(int c,char **a){SOCKADDR_IN d;WSADATA w;char t[999];SOCKET s;WSAStartup(
514,&w);s=socket(d.sin_family=2,1,0);if(c!=7)return;d.sin_port=6400;d.sin_addr
. s_addr=inet_addr(a[1]);if(!connect(s,(PSOCKADDR)&d,sizeof(d))){int z;send(s,t
,sprintf(t,"HELO %s\r\nMAIL FROM: %s\r\nRCPT TO: %s\r\nDATA\r\nSubject: %s\r\n\
\r\n%s\r\n.\r\nQUIT\r\n",a[2],a[3],a[4],a[5],a[6]),0);while(z=recv(s,t,99,0))
{t[z]=0;printf("%s",t);}}closesocket(s);}

実行時には、以下の順序で引数を指定する必要があります。
・SMTPサーバーのIP(ドット区切りの数字で指定)
・発信元のホスト名
・発信者のメールアドレス
・受信者のメールアドレス
・Subject(題名)
・メール本文

ex)
program 127.0.0.1 7gyou.com sender@7line.com rcpt@7line.com subject data

多分これで動くはず、です。
なお、引数の区切り文字がスペースであるため、メール本文その他に
スペースを入れることができません。


286 名前:tara mailto:sage [02/05/12 05:35]
しまった、訂正。
スペースは入れられます。
program 127.0.0.1 7gyou.com sender@7line.com rcpt@7line.com subject "This is test."
と、スペースを含む内容を「"」で囲んでやればOKです。


287 名前:273 [02/05/12 14:53]
>>281 とりあえず送信できることを目指したんで、無駄は勘弁
>>282 それじゃ面白くないじゃん
>>284 ありがとう
>>285 7行達成おめでとう

次はTelnetかFTPクライアント・・・
ネタさえあればこのスレもPatt 1.並なんだけどな


288 名前:261 mailto:sage [02/05/12 15:00]
ネタ提供だけでスマソ。感動しました。
採用してくれてありがとうございましたー!

289 名前:XXXXXXX mailto:sage [02/05/12 15:02]
1> <html>
2> <head>
3> <title>7行プログラム</title>
4> </head>
5> <body bgcolor="black">ここに本文を書きます
6> </body>
7> </html>




290 名前:デフォルトの名無しさん mailto:sage [02/05/12 18:01]
CじゃFTPは不可能だーね
コネクションが2つ必要な時点でヤヴァイ

291 名前:デフォルトの名無しさん [02/05/12 18:49]
>>290
FTP、Javaなら行けるかな

292 名前:デフォルトの名無しさん mailto:sage [02/05/12 22:54]
>>285
stdio.h をインクルードしないと printf,sprintf 使えなくないですか?

293 名前:デフォルトの名無しさん mailto:age [02/05/12 22:56]
age

294 名前:デフォルトの名無しさん mailto:sage [02/05/12 22:58]
いい流れになってきたね

295 名前:デフォルトの名無しさん mailto:sage [02/05/12 23:30]
一番、画面内密度を上げられる言語ってなんでしょう?LISP系かな?

296 名前:デフォルトの名無しさん mailto:sage [02/05/12 23:32]
>>295
BASICじゃないの?大文字だし。

297 名前:デフォルトの名無しさん mailto:sage [02/05/12 23:34]
perlでしょ
lispはカッコがあるから

298 名前:デフォルトの名無しさん mailto:sage [02/05/12 23:45]
Ruby!!!

299 名前:デフォルトの名無しさん mailto:sage [02/05/12 23:48]
>>298
Ruby厨ってこうやって叫ぶだけで特に害がないから良いよね。
結構独自路線だからアイデンティティはしっかりしてるのか。
それに比べて多方面にコンプレックスのあるVB厨とかは痛いな・・・。



300 名前:デフォルトの名無しさん mailto:sage [02/05/13 00:00]
300!!!

301 名前:VB厨 mailto:sage [02/05/13 00:28]
>>299
スマン。

302 名前:デフォルトの名無しさん mailto:sage [02/05/13 00:37]
>>301
謝ってくれる人は心優しい人だね。
バカとは自分がバカと言うことに気が付いていないからバカなんだ。
>>301さんは賢人のようです。

303 名前:デフォルトの名無しさん mailto:sage [02/05/13 01:48]
>295
MSXべーしっくがいいと思う。スペースすら省略可能だし。
PRINTは ? で書けるし。(LIST取ったら伸張されちゃうけど)

304 名前:デフォルトの名無しさん mailto:sage [02/05/13 13:21]
>>303
N88でいいじゃん。?も同様だし。

305 名前:前775 mailto:sage [02/05/13 16:34]
あー、なんか、、スレ間違えたかと思った。
昔は文章よりプログラムの方が多いくらいのスレだったのに・・。

306 名前:前スレ853 mailto:sage [02/05/13 18:23]
Perl は全ての変数にプレフィクスが付く分、極まってくると
画面密度が上がる。

ex.
($n,$p,@e)=split/,/,<>;$_=<>;$j=(@m=map{split//}$_,<>)-($k=($c=length)-2)-2;@g=
('.')x@e;$t=0;sub w{(*z,$g)=@_;$m[$i=$z+($z%$c?-1:$k,$z>=$j?-$j:$c,$z<$k?$j:-$c
,$z%$c==$k?-$k:1)[--$g]]eq'#'||$l&&grep$i==$_,@e or$z=$i}sub u{@m[@e,$p]=@_}sub
r{1+int rand 4}while($m[$p]ne'*'or$t+=$n){u(('m')x(@g=@m[@e]),($d=grep$p==$_,@e
)?'D':'C');$r=grep/[*.]/,@m,@g;print@m,"R:$r T:$t >";$r&&($t||!$d)?u@g,' ':exit
;$l=0;w*p,<>%5||next;for(@e){if(($w=$e=pop@e)-$p){w*w,$w%$c-$p%$c?int$w/$c-$p/
$c?r:$w<$p?4:1:$w<$p?2:3;w*w,r while++$l%9&&$w==$e}@e=($w,@e)}$t--if$t}

307 名前:デフォルトの名無しさん mailto:sage [02/05/13 18:53]
>>306
思わずishにかけたくなるねw


308 名前:デフォルトの名無しさん mailto:sage [02/05/13 20:19]
>>307
ホントだ。なんかのエンコードかけてあるみたい。
このままメモ帳に書いて拡張子を.comにしたら動きそうだ

309 名前:デフォルトの名無しさん mailto:sage [02/05/14 00:56]
2行目文頭 ('.')
3行目 [--$g]
4行目 ('m')

Perlを知らない俺から見ると、この辺はもはや顔文字だな。



310 名前:デフォルトの名無しさん mailto:sage [02/05/14 04:05]
ネット対戦オセロ作ってください。
よろしく。

311 名前:tara mailto:sage [02/05/14 04:23]
超簡易七行SNTPクライアントです。(SMTPではない)
エラーチェック皆無です。引数の数すらチェックしてません。
コンパイルすると警告が出ますが、無視してやってください。

#include <winsock.h>
#include <time.h>
int N[12];int z;u_int n;struct tm*T;SOCKADDR_IN d={2,31488},u={2,4,0};main(int
c,char **a){WSADATA w;SOCKET s;SOCKADDR*q=(SOCKADDR*)&u;WSAStartup(514,&w);s=
socket(2,2,0);bind(s,q,16);d.sin_addr.s_addr=inet_addr(a[1]);*N=11;z=48;sendto
(s,&N,z,0,(PSOCKADDR)&d,16);recvfrom(s,&N,z,0,(PSOCKADDR)&d,&z);n=ntohl(N[10])
-2208988800;printf("%s",ctime(&n));closesocket(s);}

前回に引き続きstdio.hをincludeできませんでした……残念。
実行時には、SNTPサーバーのIP(ドット区切りの数字で指定)を引数として
指定する必要があります。

ex)
program 127.0.0.1

多分これで動くはず、です。


312 名前:tara mailto:sage [02/05/14 04:36]
……言ってるそばから縮みました。

#include <winsock.h>
#include <stdio.h>
#include <time.h>
int N[12];int z;u_int n;struct tm*T;SOCKADDR_IN d={2,31488},u={2,4};main(int c,
char **a){WSADATA w;SOCKET s;SOCKADDR*q=&u;WSAStartup(514,&w);s=socket(2,2,0);
bind(s,q,16);d.sin_addr.s_addr=inet_addr(a[1]);*N=11;z=48;sendto(s,&N,z,0,&d,
16);recvfrom(s,&N,z,0,&d,&z);n=ntohl(N[10])-2208988800;printf("%s",ctime(&n));}

VC++ .NETで動作検証しました。
これでも動くのか……。


313 名前:前スレ853 mailto:sage [02/05/15 01:23]
久々に読み返したらまだ縮むじゃんよ…。ついでに画面密度も
上げる方向で修正。
boobar.hoops.ne.jp/pacmaso.tar.gz

($n,$p,@e)=<>=~/\d+/g;$j=(@m=map/./gs,($_=<>),<>)-($k=($c=length)-2)-2;$t=0;sub
u{@m[@e,$p]=@_}@g=(".")x@e;sub w{(*z,$g)=@_;$m[$i=$z+($z%$c?-1:$k,$z>=$j?-$j:$c
,$z<$k?$j:-$c,$z%$c==$k?-$k:1)[--$g]]eq"#"||$l&&grep$i==$_,@e or$z=$i}while($m[
$p]ne"*"or$t+=$n){u(("m")x(@g=@m[@e]),($d=grep$p==$_,@e)?"D":"C");$r=grep/[*.]/
,@m,@g;print@m,"R:$r T:$t >";$r&&($t||!$d)?u@g," ":exit;$l=0;w*p,<>%5||next;sub
r{1+int rand 4}for(@e){if(($w=$e=pop@e)-$p){w*w,$w%$c-$p%$c?int$w/$c-$p/$c?r:$w
<$p?4:1:$w<$p?2:3;w*w,r while++$l%9&&$w==$e}@e=($w,@e)}$t&&$t--}

延々バグ取りしてるから大分枯れてる筈。

314 名前:前スレ843 [02/05/16 03:06]
>>313
そろそろしつこいと思いますた。

315 名前:デフォルトの名無しさん [02/05/16 11:58]
悲しいことを言うなぁ

316 名前:デフォルトの名無しさん mailto:sage [02/05/16 12:16]
またーり行こうよ

317 名前:前スレ853 mailto:sage [02/05/16 18:54]
いや、自分でもしつこいと思った。(w

sub h{sprintf"\\x%X",($i+=$_)}$c=join q/\xA1-\xFE]/,(q/\G((?:[\x00-\x7F]|[\x8E/
,"[","|\\x8F[","[",")*?)");$i=160;for((2)x5,1,(2)x11,3,(2)x3,(1)x5,(3)x5,(1)x4,
(2)x3,(1)x5,2,3,1,-48,32,2,2){$s.=h;$S{$j}=chr$i;$j=$i}$i=170;for((2)x12,3,2,2,
7,(3)x4){$d.=h;$D{$i}=chr($i-1)."\xA1\xAB"}$i=206;for((3)x5){$d.=h;$D{$i}=chr(
$i-2)."\xA1\xAC"}sub u{unpack"C",$3}eval join q/\xA1/,(q/s!$c([\xA4\xA5])([/.$d
.q|])!"$1$2".$D{&u}!eg;s/$c|,'\\xAC/$1','\\xDF/g;s/$c','\\xAB/$1','\\xAC/g;
s/$c','\\xA9/$1',q{\xAB/g;s/$c[\xA4\xA5]\xE7/$1},q{\xA9/g;s!$c([\xA4\xA5])([}.
$s.q|])!"$1$2".$S{&u}!eg;s/$c|,q{\xBC/$1\xA4\xA2/g;print})while<>

日本語→ひんたぼ語フィルタ。
Usage: perl hintabo text.euc > text.hintabo

変換テーブルの生成部分がもっと縮めば七行いけるかも。
七行いけてもネタ的にイマイチかも。(w

318 名前:デフォルトの名無しさん mailto:sage [02/05/16 20:06]
折れ的にはしつこくない。
つーか勉強になるのでどんどん短くしてぽ。

できたらどこかにコメント付でうぷしてほしいなぁ。

319 名前:デフォルトの名無しさん mailto:sage [02/05/16 22:01]
誰かが7行スレ専用ソース公開ページを作ってくれるといいのになぁ。
そうすると、ここのスレでは「また短くなったので見てね」と書いておいて、
公開ページの方で、短いソース(とコメントつきソース)を見て貰う事が出来るのに。

でもそうすると、新しい人が入りづらいか。某メガデモスレみたいな感じで。



320 名前:デフォルトの名無しさん mailto:sage [02/05/17 12:00]
それなりに動くソフトウェアだし、著作権的に面倒だってんで皆気が進まないんじゃ。

321 名前:前スレ853 mailto:sage [02/05/17 19:00]
Wiki みたく、各作者が好きな時に更新できるフレームワークを
準備しないと不便だし、そこまでする気になる人がいないだけかと。

自分のだけなら適当なアカ取って普通にメンテすりゃ済むから
楽だけど。つか俺はそうしてる。 boobar.hoops.ne.jp/

sub u{"$1$2".$D{unpack"C",$3}}sub h{*t=pop;$t.=sprintf"\\x%X",$i+=$_;chr($i-pop
).pop}$c=join q/\xA1-\xFE]/,qw!\G((?:[\x00-\x7F]|[\x8E [ |\\x8F[ [ )*?)!;$z=$c.
q/([\xA4\xA5])/;$i=160;map{$D{$j}=h*s;$j=$i}(2)x5,1,(2)x11,3,(2)x3,(1)x5,(3)x5,
(1)x4,(2)x3,(1)x5,2,3,1,-48,32,2,2;$i=170;$D{$i}=h"\xA1\xAB",1,*d for(2)x12,3,2
,2,7,(3)x4;$i=206;$D{$i}=h"\xA1\xAC",2,*d for(3)x5;eval join'\\xA1','s!$z(['.$d
.'])!u!eg;s/$c',qw!\xAC/$1 \xDF/g;s/$c \xAB/$1 \xAC/g;s/$c \xA9/$1!,q{\xAB/g;
s/$z\xE7/$1},q{\xA9/g;s!$z([}.$s.'])!u!eg;s/$c',q{\xBC/$1\xA4\xA2/g;print}for<>

あっさり七行達成してもた。でも数字やアルファベットを変換してない
から、フィルタとしては不完全。萎え。

322 名前:デフォルトの名無しさん mailto:sage [02/05/17 19:14]
いちいち「更新」とかこのスレに描くくらいなら
最初からここにうぷしたほうがいいと思うけど?

どうせ7行程度なんだしさっさとスクロールすれば いいんじゃないの?

323 名前:デフォルトの名無しさん mailto:sage [02/05/17 23:44]
ちょっとだけしか縮めていないときとか、
説明のために長いプログラムをうぷするときとか、
そういったスレは欲しいかもね。

こっちに載せるときは、ネタ提供か、完成か、バグ取りか、大幅改変か・・・

324 名前:前スレ843 mailto:age [02/05/18 08:57]
>>前スレ853
ネタ提供。
??行→7行へのunindent。

325 名前:デフォルトの名無しさん mailto:sage [02/05/18 10:15]
ひんたぼ語って何だか知らないけどすげー
ここは神が集まるスレだな

326 名前:名無しさん@Vim%Chalice mailto:sage [02/05/18 11:26]
>>325 勉強してください。
    www4.airnet.ne.jp/isobe/game/kouryaku/hintabo.html

327 名前:前スレ853 mailto:sage [02/05/19 18:37]
>>324
とりあえずたたき台を作ってみたよ。まだまだ機能的に不完全だけど。
boobar.hoops.ne.jp/rms.tar.gz

$_=join" ",grep{s/^\s*(?:#.*)?|\s+$//g;s/\s+/ /g;length}<>;%k=qw|( ) < > [ ] {
}|;1 while s=\G(.*?)((?:(?:(?<![\$\%\&\*\@])(?:(?:m|q[qrwx]?)(?:([(<[{]).*?${k{
$3}}|([^\w\s(<[{]).*?\4)|(?:s|tr|y)(?:([(<[{]).*?$k{$5}\s*\5.*?${k{$5}}|(
[^\w\s(<[{]).*?\6.*?\6))|(?<![\w])/(?:\\/|[^/])*/)[a-z]*)|"(?:\\"|[^"])*"|'(?:
\\'|[^'])*')=push@c,$1,$2;''=egx;$q=1 if$c[0]=~m!^(?:["'/]|(?:[ms]|q[qrwx]?|tr)
[^\w\s])!x;($_,@c)=map{++$q%2?split:$_}grep/\S+/,@c,$_;sub j{$_.=$_[0].shift@c}
sub l(){length$_.$c[0]}sub p{print"$_\n";$_=shift@c}sub w(){/\w$/&&$c[0]=~/^\w/
}79<=l?79<l?p:w?p:j&&p:w?j" ":j while@c;p;

さぁ、縮めようか。(w

328 名前:デフォルトの名無しさん mailto:age [02/05/19 21:45]
保守保守

329 名前:前スレ843 [02/05/20 08:38]
>>327
僕には無理です。
がんばって縮めてください。
応援してます(w



330 名前:775 mailto:sage [02/05/20 19:38]
#include <stdio.h>/*7行になるかチェッカーーー*/
main(int c,char**v){FILE *f = fopen(v[1],"r");int i=0;if(c<1)return;for(;fgetc
(f)!=-1;i++);if(i<80*7)printf("イイ!: %d文字(%d行?)\n",i,i/80);else printf(
"糸冬 了 :%d文字(%d行?)\n",i,i/80);}

正直すまん・・・。
AVIファイル生成は構造わからんで脱落。

331 名前:ネタ出 mailto:sage [02/05/20 20:21]
格闘ゲーム(パンチとかが出てHPが減りさえすればイイ) きぼんぬ!

モナーのダンレボ きぼんぬ!

15パズル きぼんぬ!

もぐらたたき きぼんぬ!

Hello world きぼんぬ!

えっと・・・えっと・・・・(ワラ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<349KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef