七行プログラミング (452レス)
七行プログラミング http://medaka.5ch.net/test/read.cgi/php/1036141603/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
200: nobodyさん [sage] 03/12/05 22:30 ID:??? マ板から誘導されました。 既出と承知しつつ、1行掲示板です。 一応、名前と本文両方がないとはじく機能と、投稿日付つき。 (4行目の $t[4]/$t[3] を $t[2]:$t[1] にすれば、手動リロードの 簡易チャットにもなります。名前毎回入れるの面倒だけど。笑) ファイル名は lb.cgi、パーミッション755で置けばいきなり稼動可能です。 #!/usr/bin/perl $l='log.dat';@t=localtime();$t[4]++;use CGI;$q=new CGI;$d=$q->param('n'); $e=$q->param('h');($d&&$e)and &g;&p;exit;sub g{&i;open F,">$l";flock(F,2);print F "$t[4]/$t[3]:$d<BR>$e<HR>\n",@b;close F;}sub p{&i;print"Content-Type:text/h" ,"tml\n\n一行掲示板<FORM METHOD=POST ACTION=\"lb.cgi\" NAME=1>名前<INPUT TYPE=" ,"TEXT SIZE=20 NAME=n><BR>本文<INPUT TYPE=TEXT SIZE=60 NAME=h><BR><INPUT TYPE=" ,"SUBMIT VALUE=\"送信\"></FORM><HR>",@b;}sub i{open F,"$l";@b=<F>;close F;} http://medaka.5ch.net/test/read.cgi/php/1036141603/200
160: nobodyさん [sage] 03/08/18 07:15 ID:??? ちょっと長くなったけど、初心者質問スレを荒らしている彼に捧げよう。(w #--- br.p --- package P;sub c{bless pop,pop}sub s{$_[0]->{s}}sub n{$_[0]->{n}}sub h{my($s,$c) =@_;$c||return$s->{h};($s->{h}+=$c)>0or$s->{h}=0}sub b{my($s,$e)=@_;my@w=keys%{ $s->{w}};my$w=$w[int rand@w];print$s->n,' は ',$w," で攻撃!\n";my($d,$a)=@{$s-> {w}{$w}}{d,a};$d=(my$n=int rand 101)>$a?0:$n>$a/2?int($d/2)-$e->s:$n>$a/20?$d- $e->s:$d;print$d<=0?"ミス!\n":($e->n,' に ',$d," ポイントのダメージ!\n");$e->h( -$d)||print$e->n," を倒した!\n"}package main;sub p{splice@p,int rand@p,1}@p=map P->c($_),@{do'./p.dat'};while(@p>1){my$o=p;my$d=p;print"\n",$o->n,':',$o->h,' ' ,$d->n,':',$d->h,"\n";$o->b($d);push@p,$o;$d->h>0&&push@p,$d}print(shift(@p)->n , " の 勝利!\n") #--- p.dat --- [{n=>'煽り',h=>400,s=>10,w=>{'キック'=>{d=>60,a=>60},'パンチ'=>{d=>20,a=>70},}} ,{n=>'荒らし',h=>300,s=>0,w=>{'キック'=>{d=>100,a=>60},'パンチ'=>{d=>40,a=>70}} },{n=>'夏厨',h=>200,s=>20,w=>{'キック'=>{d=>80,a=>90},'パンチ'=>{d=>10,a=>100}} }]; http://medaka.5ch.net/test/read.cgi/php/1036141603/160
162: nobodyさん [sage] 03/08/19 11:57 ID:??? 縮めて CGI プログラムにした。これで彼も満足だろう。 #--- br.cgi --- #!/usr/local/bin/perl use CGI':all';put header(-charset=>($c='EUC-JP')),start_html(-lang=>ja,-title=> 'B.R.',-encoding=>$c);@p=@{do'br.dat'};sub e{splice@p,int rand@p,1}while(@p>1){ *o=e;*d=e;put p"$o{N}:$o{H} $d{N}:$d{H}";@w=keys%{$o{W}};$w=$w[int rand@w];($p, $a)=@{$o{W}{$w}}{D,A};put p("$o{N}は$wで攻撃!",(($p=($n=int rand 101)>$a?0:$n> $a/2?int($p/2)-$d{S}:$n>$a/20?$p-$d{S}:$p)>0or$p=0)?"$d{N}に$pポイントのダメー" .'ジ!':'ミス!');($d{H}-=$p)>0or put p"$d{N}を倒した!";push@p,\%o;$d{H}>0&&push @p,\%d}put p(pop(@p)->{N}, 'の勝利!'),end_html #--- br.dat --- [ {N=>'煽り', H=>400,S=>10,W=>{'キック'=>{D=>60, A=>60},'パンチ'=>{D=>20,A=>70 }}}, {N=>'荒らし',H=>300,S=>0, W=>{'キック'=>{D=>100,A=>60},'パンチ'=>{D=>40,A=>70 }}}, {N=>'夏厨', H=>200,S=>20,W=>{'キック'=>{D=>80, A=>90},'パンチ'=>{D=>10,A=>100}}}, ]; http://medaka.5ch.net/test/read.cgi/php/1036141603/162
201: nobodyさん [sage] 03/12/06 00:29 ID:??? >>200 特にヒネりもなく縮め。 #!/usr/bin/perl use CGI":all";*P=*param;-e($F='log.dat')||open F,">$F";if(P(n)&&P(h)){open F, "+<$F";flock F,2;@b=<F>;@t=localtime;seek F,0,0;print F++$t[4],"/$t[3]:",P(n), '<BR>',P(h),"<HR>\n",@b}open F;$I='<INPUT TYPE';print"Content-Type: text/html\n 一行掲示板<FORM METHOD=POST ACTION=\"$0\">名前$I=TEXT SIZE=20 NAME=n><BR>本文", "$I=TEXT SIZE=60 NAME=h><BR>$I=SUBMIT VALUE=\"送信\"></FORM><HR>",<F> 過去の作品に出てくるテクや Perl の言語仕様をしっかり研究してから 次回作を作って見せて欲しいな。 ところで 7blosxom と 7thread と 7ch (>>128〜) 、参加作という事で http://cm.xrea.cc/ に載せていいですか? >オリジナル作者各位 と言っても実際に載せるのは年越してからになると思いますが(苦)。 http://medaka.5ch.net/test/read.cgi/php/1036141603/201
211: 200 [sage] 03/12/11 21:24 ID:??? 連投でうざかったらすみません。200で作った1行掲示板を 普通の掲示板に変更してみました。 #!/usr/bin/perl $F='log.dat';$n='board.cgi';use CGI":all";*Q=*param;*f=*textfield;open F;@b[0.. 18]=<F>;close F;if(Q(1)&&Q(2)){@t=localtime;$_=Q(2);s/\r\n/\n/g;s/\r|\n/<br>/g; $a=(Q(3))?a({-href=>'mailto:'.Q(3)},Q(1)):Q(1);$_="[".++$t[4]."/$t[3] $t[2]:". sprintf("%02d",$t[1])."] $a".br.$_.hr.$/;open F,">$F";flock F,2;print F $_,@b;} print header(-charset=>Shift_JIS),"*けいじばん*",start_form(post,$n),"おなまえ" ,f(1),br,textarea(2,'',4,26),br,"めーる",f(3),submit('送信'),end_form,hr,$_,@b; とりあえず、おまじない程度にShift_JIS(NN4対策)、本文が改行可能(Macの 改行コードも対応)、メール欄追加、日付+時間表示などの機能を付加して ぴったり7行です。 //項目が全部ひらがななのは自サイトで使う用なので。苦笑 http://medaka.5ch.net/test/read.cgi/php/1036141603/211
212: 200 [sage] 03/12/11 21:51 ID:??? それと、2行目の$Fでログファイル名、$nで自ファイル名を変更可能。 3行目の先頭にある18を「最大ログ数にしたい数-2」に変更すれば 最大ログを設定できます。 http://medaka.5ch.net/test/read.cgi/php/1036141603/212
326: nobodyさん [sage] 04/07/26 14:27 ID:??? 人ほとんどいないなここ(´・ω・`) Web拍手PHP版(記録側)。例によってフォームは分離。 <form method="post" action="webclap.php" target="clap"> <input type="hidden" name="m" value="c">ついでに一言。 <input type="text" name="t" size=40> <input type="submit" value="拍手を送る"></form> <? if($_POST['m']=='c'){$n=file("l");$d=date("Ymd");$h=date("H");$b=split(",",$n [0]);$a=file("t");echo $a[array_rand($a)];if($b[0]!=$d){$i=0;$x="$d,1,";while($i ++<24){if($i==$h+1)$x.="1,";else$x.="0,";}array_unshift($n,"$x\n");}else{$b[1]++ ;$b[$h+2]++;$x="";$i=-1;while($i++<count($b)-2)$x.="$b[$i],";$n[0]="$x\n";if(cou nt($n)>14)array_pop($n);}$f=fopen("l","w");while(count($n)>0)fputs($f,array_shif t($n));fclose($f);$t=$_POST['t'];if($t!=""){$m=file("m");$f=fopen("m","w");array _unshift($m,"$d,$t\n");if(count($m)>200)array_pop($m);while(count($m)>0)fputs($f ,array_shift($m));fclose($f);}} ?> ごめん、8行になってしまた。取得ログは14日分で1時間単位ごとの記録アリ、 一言メッセージは200件まで保存。動かす前にl,m,tとそれぞれ空ファイル作ってくだされ。 tには拍手ボタン押した後に表示するHTMLを一行で叩き込んで。 複数行にするとランダムでどの行か選んで表示します。一行の長さの制限はわからん。 だれか7行に縮めてくれ。俺はもうだめだ(´Д⊂ http://medaka.5ch.net/test/read.cgi/php/1036141603/326
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
アボンOFF
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.782s*