七行プログラミング p ..
[2ch|▼Menu]
116:デフォルトの名無しさん
02/04/20 01:15
>>100
math使わなくても、二乗したのを比較すればいいのでは??

>>115
読めないのだよ……
過去スレの354みたいに書いてくれると嬉しい……
スレリンク(tech板:354番)


117:S ◆Q14CxNhI
02/04/20 02:06
<body onKeyDown=K=event.keyCode><pre><script>function Y(){
  Z[11]=P; // 得点を表示バッファに書き込み
  E=B[t]; // 現在落下中のブロック
  f=0; // 移動・回転決定用フラグ
  if(K) // キーが押されているか
    if(K!=32){ // 横移動
      d=K-37?1:-1 // d:x方向の差分
      for(i=0;i<4;i++) // 横移動判定
        f+=Z[h+E[i]+d]==S; // 移動先が空白かどうか
      f?0:h+=d; // すべて空白なので移動決定
    }else{ // 回転
      C=[]; // 回転先の座標保持用
      for(i=0;i<4;i++){ // 回転判定
        p=E[i]; // ブロックの各位置
        v=Math.round(p/12); // 回転先の x 座標
        w=p-v*12; // 回転先の y 座標
        C[i]=w*12-v; // 回転先の座標計算
        if(Z[h+C[i]]==S)f=1; // 回転先が空白かどうか
      }
      t*!f?E=B[t]=C:0; // すべて空白なので回転決定
    }
  K=0; // キー入力キャンセル
  for(f=i=0;i<4;i++){ // 落下判定
    f+=Z[12+(p=h+E[i])]==S; // 落下先が空白かどうか
    Z[240+p]=S // ブロック表示のために表示バッファへコピー
  }
  if(f){ // 落下できない
    for(i=0;i<4;i++)Z[h+E[i]]=S; // ブロック停止
    t=++t%7; // 次のブロック決定(現在順送り)
    h=17 // 位置初期化
  }else h+=12; // 一段落下
  for(k=1,i=19;i--;){ // ラインがそろったか判定
    for(j=11;--j&&Z[i*12+j]==S;); // そろったラインを検索
    if(!j){ // そろった
      P+=k++; // 得点 1ライン 1点, ..., テトリス 10点 になる
      for(j=++i*12;j>2*12;)Z[j]=Z[j---12] // 全体を一段下げる
  }}
  for(i=240;i--;){
    D.all(6+i).innerHTML=Z[240+i]; // 表示用バッファを表示
    Z[240+i]=Z[i] // 表示バッファのクリア
  }
  Z[5]!=S?setTimeout(Y,99):0; // 入り口にブロックがあったら終了
}
// ブロックの作成
// 中心からの差分で配置する。棒を除くすべてのブロックはL字にブロックがあり、
B=[[-11],[-24],[2],[13],[-13],[-1],[2,-1]]; // それ以外の1個だけを別にする
for(i=0;i<7;i++)B[i].push(0,1,-12); // ブロック共通部分追加
D=document;
// 位置は、縦方向1マスは 12 単位となる 座標(x,y) なら h=x+y*12
h=17; // ブロックの中心位置初期化
Z=[]; // バッファ [0-239]:固定したブロック用 [240-479]:表示用バッファ
for(K=t=P=i=0;i<240;){
  D.write(i%12?"":"\n","<b></b>"); // HTML表示領域の描画
  Z[240+i]=Z[i]=++i%12<2||i>228?S="□":" "; // 床と壁の設定、番兵にもなる
}
Y()
</script>

118:デフォルトの名無しさん
02/04/20 02:06
>>117
いやそれはsageてくれ

119:S ◆Q14CxNhI
02/04/20 02:19
>>118
スマソ。改行エラーがでてばかりなので sage 忘れてしまった

120:116
02/04/20 02:26
>>119
thx。可能なら縮めるのに協力します

121:デフォルトの名無しさん
02/04/20 03:05
>>116
速度に違いは?
いや、短くするのが趣旨なのはわかってるんだけど

122:デフォルトの名無しさん
02/04/20 03:34
>>121 q < sqrt(m) より q*q < mのほうが速いに決まってるだろ

123:デフォルトの名無しさん
02/04/20 03:52
>>122
ウチで動かしたらq*q<mの方が平均0.2〜3秒遅くなったのだが。
…逝ってくる

VBなら間違いなく前者の方が早いな(関係無い)

124:S ◆Q14CxNhI
02/04/20 04:12
テトリス8行31文字。プログラム全体を見直しました。

<body onKeyDown=K=event.keyCode><pre><script>B=[[-11],[-24],[2],[13],[-13],[-1]
,[2,-1]];W=240;Z=[];h=17;function Y(){f=0;E=B[t];i=4;if(K)if(K-13){for(d=K-37?1
:-1;i--;)f+=Z[h+E[i]+d];h+=d*!f;}else{for(C=[];i--;f+=Z[h+(C[i]=p*A-Math.round(
p/A)*145)])p=E[i];t*!f?E=B[t]=C:0;}for(f=K=i=0;i<4;Z[W+p]=1)f+=Z[A+(p=h+E[i++])
];if(f){for(t=++t%7;i--;)Z[h+E[i]]=1;h=5}h+=A;for(k=1,i=W-A;i--;)if(i%A)Z[i]?0:
i-=i%A;else for(P+=k++,j=i+=A;--j>A*2;)Z[j]=Z[j-A];for(i=W;i--;Z[W+i]=Z[i])D.
all(6+i).innerHTML=i-11?Z[W+i]?"□":" ":P;Z[5]?0:setTimeout(Y,99);}D=document;
A=12;for(K=t=P=i=0;i<W*2;D.write(i%A?"":"\n","<b></b>"),Z[i]=++i%A<2||i>228?1:0
)B[i%7].push(0,1,-A);Y()</script>

>>120
ありがとうございます。

125:S ◆Q14CxNhI
02/04/20 04:16
>>124
画面がスクロールする恐れがあるため、回転は「リターンキー」にしました。

126:デフォルトの名無しさん
02/04/20 04:40
CかC++でオセロかインベーダ作ってください。
おながいします

127:デフォルトの名無しさん
02/04/20 08:25
>>126
前スレに6行オセロ(コンピュータ対戦可能)という神の作品はあったぞ。

128:前スレ853
02/04/20 08:28
>>105
ん? Perl4 対応を考えてる?

129:perl16
02/04/20 11:51
>>128
あっ、考えてない。
perl5だけしか…
>>105
を改良、7行になったけどバグあり。

#--- indent.pl ---#
chop($f=<>);open(F,"<$f")||die$!;while(<F>){s/\s?\n$//;$_.=" "if/sub$/;$d.=$_;
}close(F);$d=~s/(;|\{|\})/$1\n/g;$d=~s/\\\//\&\&\&/g;$d=~s/\\"/\@\@\@/g;@p=(
'(q|qq|=~m|=~)\/.*?\/','(s|tr|y)\/.*?\/.*?\/','\(.*?\)','(\'|").*?\1.*?;');for
(@p){while($d=~/$_/s){$o[$c]=$`;$j[$c++]=$&;$d=$';}$c=0;for(@j){s/\n//g;
s/"/\$\$\$/g;s/'/\%\%\%/g;$t.="$o[$c++]$_";}$d="$t$d";$t="";$c=0;$#o=$#j=-1;}
$d=~s/\&\&\&/\\\//g;$d=~s/\@\@\@/\\"/g;$d=~s/\$\$\$/"/g;$d=~s/\%\%\%/'/g;$f.=
".bak";open(F,">$f");print F$d;close(F);

↑のインデントバージョン
URLリンク(www2.freejpn.com)

↑のツールを使って自分自身を実行した結果。
URLリンク(www2.freejpn.com)

130:perl16
02/04/20 11:55
バグって言うか、ちゃんと改行されない。

131:775
02/04/20 12:09
#include <stdio.h> /* BMPGEN - 2 ムリダ・・*/
#define P(A,N,B,M) for(i=0;i<N;i++) putc(A, f); for(i=0;i<M;i++) fputc(B, f);
enum{L=320,N=240};int k,i,j,m[L],n[L];main(){FILE *f=fopen("c.bmp","wb");P(66,
1,77,1)P(54,1,132,1)P(3,1,0,5)P(54,1,0,3)P(40,1,0,3)P(64,1,1,1)P(0,2,N,1)P(0,3
,1,1)P(0,1,24,1)P(0,6,132,1)P(3,1,0,1)P(196,1,14,1)P(0,2,196,1)P(14,1,0,10)for
(i=0;i++<L;)m[i]=0;for(i=j=1;i++<99;)m[j=(i*99+j)%L]=N;for(i=0;i++<N;){for(j=0
;j++<L;)for(k=0;k++<3;)fputc(m[j],f);for(j=1;j++<319;n[j]=(m[j-1]+m[j+1])/2);
for(j=0;j++<L;m[j]=n[j]);}}

それにしてもすごいスレだ・・。

132:デフォルトの名無しさん
02/04/20 12:35
>>126
6行オセロは必見だぞ。
あの短さ、バグなし、コンピュータ対戦、あれは間違いなく芸術

133:775
02/04/20 12:54
ああ、>>108にもっと頭良いのが出てましたね・・・。
すいませんでした、逝ってきます。

134:デフォルトの名無しさん
02/04/20 13:05
>>131
すげーbmpを吐いたぞ

135:前スレ853
02/04/20 15:24
>>129
ファイルの入出力方法が冗長に感じたんで
indent.pl srcfile > dstfile
てな使い方に変えてみて 5 行。

sub l{('(qq?|=~m?)\/.*?\/','(s|tr|y)\/.*?\/.*?\/','\(.*?\)','(\'|").*?\1.*?;')}
$_=join'',map{s/\s+$//;s/\w$/$& /;$_}<>;s/[;{}]/$&\n/g;$a='@@@';$m='&&&';$p=
'%%%';s|\\/|$m|g;s|\\"|$a|g;$d=$_;for(l){1while$d=~s/\G$_/$o[$c]=$`;$j[$c++]=$&
;''/egs;$c=0;for(@j){s/\n//g;s/"/\$\$\$/g;s/'/$p/g;$t.="$o[$c++]$_"}($d,$t,$c,
@o,@j)=("$t$d")}$_=$d;s|$m|\\/|g;s/$a/\\"/g;s/\$\$\$/"/g;s/$p/'/g;print

でもコレ、ハッシュとかまで改行しちゃうよね(汗)。
トークナイザ作って括弧の対応調べて地道に改行しないと綺麗にはならないと思う。

136:デフォルトの名無しさん
02/04/20 17:15
>>102のやつ、回転できなかったけど、直ってるかな?ドキドキ。

137:デフォルトの名無しさん
02/04/20 17:17
sage忘れた、
アナログ回線切って、オフラインでコーヒーブレークしてから、CPU頭に載せて自冊・・・

138:S ◆Q14CxNhI
02/04/20 17:31
>>136
>>102 から回転がリターンキーになってます。
書き忘れちゃったんです、宇都。

8行達成が、ぎりぎりかも・・・

<body onKeyDown=K=event.keyCode><pre><script>B=[[-11],[-24],[2],[13],[-13],[-1]
,[2,-1]];W=240;function Y(){E=B[t];i=4;if(K)if(K-13){for(d=K-37?1:-1;i--;)d*=!Z
[h+E[i]+d];h+=d}else{for(C=[];i--&&!Z[h+(C[i]=E[i]*A-Math.round(E[i]/A)*145)];)
;t*i<0?E=B[t]=C:0}for(f=K=i=0;i<4;Z[W+p]=1)f+=Z[A+(p=h+E[i++])];if(f){for(t=++t
%7;i--;)Z[h+E[i]]=1;h=5}h+=A;for(k=1,i=W-A;i--;)if(i%A)Z[i]?0:i-=i%A;else for(P
+=k++,j=i+=A;--j>A;)Z[j]=Z[j-A];for(i=W;i--;Z[W+i]=Z[i])D.all(6+i).innerHTML=i-
11?Z[W+i]?"□":" ":P;Z[5]?0:setTimeout(Y,99)}h=17;A=12;Z=[];D=document;for(K=t
=P=i=0;i<W*2;D.write(i%13?"<b></b>":"\n"),Z[i]=++i%A<2||i>228?1:0)B[i%7].push(0
,1,-A);Y()</script>

139:S ◆Q14CxNhI
02/04/20 18:19
あまり減らなかったので、sage 進行

<body onKeyDown=K=event.keyCode><pre><script>function Y(){E=B[t];i=4;if(K)if(K-
13){for(d=K-37?1:-1;i--;)d*=!Z[h+E[i]+d];h+=d}else{for(C=[];i--&&!Z[h+(C[i]=E[i
]*A-Math.round(E[i]/A)*145)];);t*i<0?B[t]=C:0}for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+E
[i++]]=1;if(f){for(t=++t%7;i--;)Z[h+E[i]]=1;h=5}h+=A;for(k=1,i=228;i--;)if(i%A)
Z[i]?0:i-=i%A;else for(P+=k++,j=i+=A;--j>A;)Z[j]=Z[j-A];for(i=240;i--;X[i]=Z[i]
)D.all(6+i).innerHTML=i-11?X[i]?"□":" ":P;Z[5]?0:setTimeout(Y,99)}B=[[-11],[-
24],[2],[13],[-13],[-1],[2,-1]];D=document;A=12;Z=[];h=17;X=[];for(K=t=P=i=0;i<
480;D.write(i%13?"<b></b>":"\n"),X[i]=Z[i]=++i%A<2||i>228?1:0)B[i%7].push(0,1,-
A);Y()</script>

140:デフォルトの名無しさん
02/04/20 20:03
>>138
>>117はスペース回転だったけど?

>>117ベースで機能を追加すると死んでしまった・・・
所詮折れのスキルはこんなものなのか?と、悔しいから奮闘中。
Sタン、更新ハヤイヨー(スゴイナ-。

7行の壁を破りたい・・・

141:デフォルトの名無しさん
02/04/20 20:13
>>139
本題じゃないけどこのテトリス、ゲームとしてシビアすぎない?。

142:デフォルトの名無しさん
02/04/20 21:06
>>141
ちょっと、ね。キーが鈍いし、ブロックは早いし。
まぁ、自分で調節すればいいんだけど。

143:S ◆Q14CxNhI
02/04/20 21:06
>>140
わかりやすさを優先するために >>117 は少し以前のものをベースに、その時点での最新版と融合させました。

>>141
1段落下に対して、横移動あるいは回転のどちらか1つしかできませんので。
2〜3回操作可能にすると、バランスが良くなるでしょう。
落下を任意(カーソル下)、得点に応じて速くなるとすることもできるでしょう。
ただ、どちらにしろ、文字数が・・・

144:デフォルトの名無しさん
02/04/20 21:13
ちょうどテトリスつくりたかったこともあって、参戦。
dめおえj、JavaScriptやったことないんだよね。

そうか、ブロックのデータはそうやって考えると小さくなるのか。
パパ、がんばっちゃうぞー

145:デフォルトの名無しさん
02/04/20 23:20
凄いのかもしれないけれど、ちょっといまいちの印象が抜けきらないな。
とりあえず、長くなってもいいからゲームとして成り立つソースを
是非アップして貰いたいと思いますがどうでしょう。
自分で作ってもいないのに生意気ですか?逝ってきます。

146:S ◆Q14CxNhI
02/04/20 23:31
多少遊びやすいバージョン
>>145 こんなもんで、どうでしょう?

<body onKeyDown=K=event.keyCode><pre><script>function Y(){E=B[t];i=4;if(K)if(K-
b){for(d=K-37?1:-1;i--;)d*=!Z[h+E[i]+d];h+=d}else{for(C=[];i--*!Z[h+(C[i]=E[i]*
A-Math.round(E[i]/A)*145)];);t*i<0?B[t]=C:0}for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+E[
i++]]=1;if(e){if(f){for(t=++t%7;i--;)Z[h+E[i]]=1;h=5}h+=A;for(k=1,i=228;i--;)if
(i%A)Z[i]?0:i-=i%A;else for(P+=k++,j=i+=A;--j>A;)Z[j]=Z[j-A];}e=1-e;for(i=240;
i--;X[i]=Z[i])D.all(6+i).innerHTML=i-11?X[i]?"□":" ":P;Z[5]?0:setTimeout(Y,9)
}B=[[-11],[-24],[2],[b=13],[-b],[-1],[2,-1]];D=document;A=12;Z=[];h=17;X=[];for
(e=K=t=P=i=0;i<480;D.write(i%b?"<b></b>":"\n"),X[i]=Z[i]=++i%A<2||i>228?1:0)B[i
%7].push(0,1,-A);Y()</script>


147:145
02/04/20 23:53
>>146
キー操作が辛くてなんとも…
その部分を改良しないと、テトリスとしてはダメかなと、
僭越ながら思いました。とりあえずソース読んでみます

148:デフォルトの名無しさん
02/04/21 00:01
なんかテトリス不評だな。俺は7行ネタとしては面白いと思うけど、
ゲームとして見たら……うーん。
やっぱJSだからきついな

149:デフォルトの名無しさん
02/04/21 00:17
>>147
そうか?おれには簡単すぎていつまでも終わらない
ゲーム性はこれくらいでいい
これで7行したら紙

150:デフォルトの名無しさん
02/04/21 00:21
>>149
先人達に比べると、完成度をもう少し上げて欲しいと思わないか?
前スレのマインスイーパとかの完成度と比べてしまうと、どうも……
でもとりあえず7行にするのはそれでいいかもしれないけど、
S氏には期待しているので、もう少し頑張って欲しい、と無責任なことを言うテスト

151:デフォルトの名無しさん
02/04/21 00:37
>>150
先人達と比べるのは辛すぎるのではない?
Sさんもかなり頑張って縮めてると思うし、なによりこのやる気はいいと思う。

しかし、前スレの初期にいた人、来ないね。

152:S ◆Q14CxNhI
02/04/21 02:48
多少遊びやすい版でようやく >>138 に追いつく。今晩はここまでにします。

<body onKeyDown=K=event.keyCode><pre><script>X=[];function Y(){E=B[t];i=4;if(K)
if(K-b){for(d=K-37?1:-1;i--;)d*=!Z[h+E[i]+d];h+=d}else{for(C=[];i--*!Z[h+(C[i]=
E[i]*A-Math.round(E[i]/A)*145)];);t*i<0?B[t]=C:0}for(f=K=i=0;i<4;f+=Z[A+p])X[p=
h+E[i++]]=1;if(e=!e){if(f){for(t=++t%7;i--;)Z[h+E[i]]=k=1;for(i=228;i--;h=5)if(
i%A)i-=i%A*!Z[i];else for(P+=k++,j=i+=A;--j>A;)Z[j]=Z[j-A]}h+=A}for(i=240;i--;X
[i]=Z[i])D.all(6+i).innerHTML=i-11?X[i]?"□":" ":P;Z[5]?0:setTimeout(Y,9)}B=[[
-11],[-24],[2],[b=13],[-b],[-1],[2,-1]];D=document;A=12;Z=[];h=17;for(e=K=t=P=i
=0;i<480;D.write(i%b?"<b></b>":"\n"),X[i]=Z[i]=++i%A<2||i>228?1:0)B[i%7].push(0
,1,-A);Y()</script>

153:デフォルトの名無しさん
02/04/21 03:01
>>152
お疲れ。

154:S ◆Q14CxNhI
02/04/21 03:54
ついに8行達成です。・・・遊びづらい版ですが・・・

<body onKeyDown=K=event.keyCode><pre><script>X=[];A=12;Z=[];function Y(){E=B[t]
c=g=f=0;d=K-37?1:-1;C=[];for(i=4;i--&&K;K-b?c+=!Z[h+p+d]:g+=!Z[h+(C[i]=p*A-Math
.round(p/A)*145)])p=E[i];t&&g==4?B[t]=C:c-4?0:h+=d;for(K=i=0;i<4;f+=Z[A+p])X[p=
h+E[i++]]=1;if(f){for(t=++t%7;i--;)Z[h+E[i]]=k=1;for(i=228;i--;h=5)if(i%A)i-=i%
A*!Z[i];else for(P+=k++,j=i+=A;--j>A;)Z[j]=Z[j-A]}h+=A;for(i=240;i--;X[i]=Z[i])
D.all(6+i).innerHTML=i-11?X[i]?"□":" ":P;Z[5]?0:setTimeout(Y,99)}B=[[-11],[-
24],[2],[b=13],[-b],[-1],[2,-1]];D=document;h=17;for(K=t=P=i=0;i<280;D.write(i%
b?"<b></b>":"\n"),X[i]=Z[i]=++i%A<2||i>228?1:0)B[i%7].push(0,1,-A);Y()</script>

眠い。

155: ◆Air.TtTk
02/04/21 04:07
ちゃんとした迷路(7行)
迷路って以外と簡単だったのね。
5行レベルかな…。

// M.java

public class M{int g,x,y,m[][]=new int[79][23];public static void main(String[]_
){new M();}M(){for(y=0;y<23;y++)m[0][y]=m[78][y]=1;for(x=0;x<79;x++)m[x][0]=m[x]
[22]=1;m[2][1]=m[76][21]=m[2][2]=1;while(true){g=1;for(x=2;x<77;x+=2)for(y=2;y<
21;y+=2){if(m[x][y]>0){D(0,-2);D(0,2);D(-2,0);D(2,0);}g&=m[x][y];}if(g>0)break;}
for(y=0;y<23;y++){for(x=0;x<79;x++){System.out.print(m[x][y]>0?" ":"@");}System.
out.println("");}}void D(int X,int Y){if(m[x+X][y+Y]<1&&Math.random()<0.1)m[x+X]
[y+Y]=m[x+X/2][y+Y/2]=1;}}


156:デフォルトの名無しさん
02/04/21 10:17
>>155
(´ー`)。o○(Java知らないから遊べねーや)

金ないから家ではBCCでコンパイルできるつしか試せない罠

157:デフォルトの名無しさん
02/04/21 13:12
>>156
Javaコンパイラは無料じゃー。

158:デフォルトの名無しさん
02/04/21 15:08
>>157
ええっそうなの?早速あさってみよ。
通信回線遅いうえに従量制なんで重いのは落とせない罠。

#初心者丸出しな自分に鬱

159:デフォルトの名無しさん
02/04/21 15:23
おれもマチヒチ勉強してみよっかなぁ

マチヒチっ何だよ。javaだよ。なんかカナロックか何かに取り付かれていたようだ。。。(w

160:デフォルトの名無しさん
02/04/21 15:55
ワラタ

161:デフォルトの名無しさん
02/04/21 16:28
cygwin があるから、c も FORTRAN も Pascal も perl も・・・
つーか、おれんちは Unix系 しかないから、むしろ Windows 環境が無い。

162:perl16
02/04/21 17:00
javaむずい。つーかよく分からん。
perlしかやってないもんで。
perlでゲームは面白くない。CUI中心だから。

>>135
>トークナイザ作って括弧の対応調べて地道に改行
そうですね。一時的にハッシュとかに対応できるようにしても、
新たな問題が出てきますからね。
七行で完璧に近いインデントツール作るのは難しそうだ。

>>Java&JSプログラマーの皆さん
Java&JSのインデントツールは作らないんですか?


163:デフォルトの名無しさん
02/04/21 17:18
>>162
インデントツールという発想がいまいち言語にあわなくて…。
Cやマチヒチの場合、縮めた後ではインデントを揃えても見やすくならないでしょ?


164:デフォルトの名無しさん
02/04/21 17:19
>>161
割り切って1台くらいWin環境を入れたら?
gcc for Win32だとWindowsプログラムの開発も出来るよ。

165:Javaさん
02/04/21 17:31
前スレ770です。。
いつの間にやらPart2突入していたんですね。

>>155
ぱっと見削れる部分を削ってみました。
class M{int g,x=0,y=0,m[][]=new int[79][23];static void main(String[]_){new M()
;}M(){for(;++y<23;m[0][y]=m[78][y]=1);for(;++x<79;m[x][0]=m[x][22]=1);m[2][1]=m
[76][21]=m[2][2]=1;for(;;g=1){for(x=2;x<77;x+=2)for(y=2;y<21;y+=2){if(m[x][y]>0
){D(0,-2);D(0,2);D(-2,0);D(2,0);}g&=m[x][y];}if(g>0)break;}for(y=-1;y++<22;x=0)
for(;x<79;System.out.print(m[x++][y]>0?" ":x>77?"@\n":"@"));}void D(int X,int Y
){if(m[x+X][y+Y]<1&&Math.random()<0.1)m[x+X][y+Y]=m[x+X/2][y+Y/2]=1;}}

やっぱJavaは読みやすいなぁ、、。

さて、前スレで書いたHTTP鯖にバグあったから手直し、、、。
こうやって休日がつぶれていくわけです。鬱


166:デフォルトの名無しさん
02/04/21 17:43
以前見かけて面白かったスレですが、ちょっとネタを思いついたので。
急スレに書き込んでしまったのですが、写します。
ーーーーーーーーーーーーー
プラパズルNo5とかどうでしょうか。
全組み合わせを探し出し、できれば表示する。
ルール
正方形が5つ集まってできたコマが
12種類(5つの正方形を組み合わせて出きる全通りです)あります。
これを6*10マスに収まるように並べる並べ方をしらべます。
ちなみに組み合わせは全部で2339通りあります。
もちろんコードが短ければ短いほど、全通りの検出が速ければ速いほど イイ! ってかんじで。
ーーーーーーー
全組み合わせ合わせの取得まで、私がテキトーに作った(全然7行じゃないですよ)奴で3日、まじめに作り直して5分かかりました。
結構真剣にやって10秒ぐらいまで縮みました。
7行でも3日ぐらいの奴ならできそうに思うんですが、ここの方ならスピードも・・・
なお、マシンはPenIII500でした。

167:デフォルトの名無しさん
02/04/21 17:46
ソースキボン

168:デフォルトの名無しさん
02/04/21 17:48
ネタ提供だけ?
とりあえず自分で縮められるところまで縮めてくれ。

169:perl16
02/04/21 17:59
>>163
確かにそうですね。
ツール使ってインデントしても、
ただ改行してるだけですからね…
字下げもするか…

170:デフォルトの名無しさん
02/04/21 19:18
>>169
そういう問題ではなく、たとえば
if(v-p-*i&&m[v]==t&&(s=a=v=p,d))do m[v]=t,v+=*i;while(m[v]-t);
をインデントしても、
if(v-p-*i&&m[v]==t&&(s=a=v=p,d))
  do
    m[v]=t,v+=*i;
  while(m[v]-t);
にしかならないぞ、という事ではないかな?
これで読みやすくなるわけでは無いよね。無いよりはマシだけど

171: ◆Air.TtTk
02/04/21 19:48
ちゃんとした迷路(5行)

// M.java

public class M{public static void main(String[]_){new M();}M(){for(;p<1617;p++)m
[p+80+p/77*2]=1;m[81]=m[160]=m[1735]=0;for(;g>0;){g=0;for(p=160;p<1658;p+=(p+3)%
79<1?((p+82)%158<1?84:5):2){if(m[p]<1){D(-158);D(158);D(-2);D(2);}g|=m[p];}}for(
p=0;p<1817;p++)System.out.print(m[p]<1?(p%79<1?"\n ":" "):"@");}void D(int P){if
(m[p+P]>0&&Math.random()<0.2)m[p+P]=m[p+P/2]=0;}int g=1,p,m[]=new int[1817];}

>>165
M は public じゃないといけないし、
j2sdk1.4.0 なら main も public じゃないといけないらしいぞ。


172:S ◆Q14CxNhI
02/04/21 21:56
テトリス多少遊びやすい版も8行到達です。

<body onKeyDown=K=event.keyCode><pre><script>X=[];function Y(){(E=B[t]).push(c=
0,1,-A);C=[d=K-37?1:-1];for(i=4;i--&&K;K-b?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.
round(p/A)*145)])p=E[i];t&&c<-3?B[t]=C:c-4?0:h+=d;for(f=K=i=0;i<4;f+=Z[A+p])X[p
=h+E[i++]]=1;if(e=!e){if(f){for(t=++t%7;i--;)Z[h+E[i]]=k=1;for(i=228;i--;h=5)if
(i%A)i-=i%A*!Z[i];else for(P+=k++,j=i+=A;--j>A;)Z[j]=Z[j-A]}h+=A}for(i=240;i--;
X[i]=Z[i])D.all(6+i).innerHTML=i-11?X[i]?"□":" ":P;Z[5]?0:setTimeout(Y,9)}B=[
[-11],[-24],[2],[b=13],[-b],[-1],[2,-1]];D=document;A=12;Z=[];h=17;for(e=K=t=P=
i=0;i<280;X[i]=Z[i]=++i%A<2||i>228?1:0)D.write(i%b?"<b></b>":"\n");Y()</script>

173:perl16
02/04/21 22:29
>>170
あ、そうか。
うーん。完璧にインデントするのは難しい。

174:Javaさん
02/04/21 22:43
>>171
とうとう5行ですか。
ロジックの変更お疲れ様です。
ここまでくると、残りの2行で何か出来そうですね。

>M は public じゃないといけないし、
>j2sdk1.4.0 なら main も public じゃないといけないらしいぞ。

Thanks.
でも動くならいいやというノリで、削ってしまう今日この頃なのでアリマス。鬱氏


175:Javaさん
02/04/21 22:46
>>173
インデントのことでなく、変数名のことを言っているんじゃないかな?


176:S ◆Q14CxNhI
02/04/21 22:47
表示系を変更したんですが、どうでしょうか?

<body onKeyDown=K=event.keyCode><script>Z=[];B=[[-11],[-24],[2],[b=13],[-b],[-1
],[2,-1]];function Y(){(E=B[t]).push(c=0,1,-A);C=[d=K-37?1:-1];for(i=4;i--&&K;K
-b?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/A)*145)])p=E[i];t&&c<-3?B[t]=C:c
-4?0:h+=d;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+E[i++]]=1;if(e=!e){if(f){for(t=++t%7;
i--;)Z[h+E[i]]=k=1;for(i=228;i--;h=5)if(i%A)i-=i%A*!Z[i];else for(P+=k++,j=i+=A
;--j>A;)Z[j]=Z[j-A]}h+=A}for(S="",i=0;i<240;S+=i-11?X[i]?"■":"_":P,X[i]=Z[i++
])S+=i%A?"":"<br>";document.all(3).innerHTML=S;Z[5]?0:setTimeout(Y,150)}X=[];A=
12;for(e=K=t=P=i=0;i<280;h=17)X[i]=Z[i]=++i%A<2||i>228?1:0;Y()</script>

177:デフォルトの名無しさん
02/04/22 00:34
>>168
ネタ提供だけのつもりだったんですが・・・
ソースはなくしちゃって。また作っても良いんですが、最近忙しくて・・・

178:perl16
02/04/22 01:07
よく分からなくなってきた。
なんか僕、書き込むたびにつっこまれているような…。

179:デフォルトの名無しさん
02/04/22 01:40
>>178 有名税ってことで。

180:厨々房某
02/04/22 04:18
プログラムのことはよくわからないんですが、
ネットで対戦できるゲーム作れますかね。

181:デフォルトの名無しさん
02/04/22 04:21
7行でできたら神だ・・・・
まず言語は何がいいか?詳しくないからわからないけど、
Cじゃ厳しそうだな。

182:デフォルトの名無しさん
02/04/22 11:10
>180
じゃんけんぐらいならすぐできるぞ。

183:S ◆Q14CxNhI
02/04/22 20:39
ゲーム性能向上も狙ってみたんですが・・・

<body onKeyDown=K=event.keyCode><script>function Y(){(E=B[t]).push(c=0,1,-A);C=
[d=K-37?1:-1];for(i=4;i--&&K;K-b?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/A)
*145)])p=E[i];t&&c<-3?B[t]=C:c-4?0:h+=d;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+E[i++]]
=1;if(e=!e){if(f){for(t=++t%7;i--;)Z[h+E[i]]=k=1;for(i=228;i--;h=5)if(i%A)i-=i%
A*!Z[i];else for(P+=k++,j=i+=A;--j>A;)Z[j]=Z[j-A]}h+=A}for(i=S="";i<240;S+=i-11
?X[i]?"■":"_":P,X[i]=Z[i++])S+=i%A?"":"<br>";document.body.innerHTML=S;Z[5]?0
:setTimeout(Y,99-P)}X=[B=[[-11],[-24],[2],[b=13],[-b],[-1],[2,-1]]];for(Z=[A=12
],e=K=t=P=i=0;i<280;h=17)X[i]=Z[i]=++i%A<2||i>228?1:0;Y()</script>

184:S ◆Q14CxNhI
02/04/23 00:04
今日はここまで、アプアゲ
1日5文字くらい縮められて、今月中に7行達成できるかなぁ

<body onKeyDown=K=event.keyCode><script>function Y(){E=B[t];c=0;C=[d=K-37?1:-1]
for(i=4;i--&&K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/A)*145)])p=E[i]
t&&c<-3?B[t]=C:c-4?0:h+=d;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+E[i++]]=1;if(e=!e){if
(f){for(t=++t%7;i--;)Z[h+E[i]]=k=1;for(i=228;i--;h=5)if(i%A)i-=i%A*!Z[i];else
for(P+=k++,j=i+=A;--j>A;)Z[j]=Z[j-A]}h+=A}for(i=S="";i<240;S+=i-11?X[i]?"■":
"_":P,X[i]=Z[i++])S+=i%A?"":"<br>";document.body.innerHTML=S;Z[5]?0:setTimeout
(Y,99-P)}X=[B=[Z=[A=12]]];for(e=K=t=P=i=0;i<264;X[i]=Z[i]=++i%A<2||i>228?1:0)B[
i%7]=[[-7,-20,6,h=17,-9,3,6][i%7]-4,0,1,i%6?-A:-1];Y()</script>

185:perl16
02/04/23 02:29
>>179さん
いい意味で有名(トリッキーの1氏みたいな)ならいいですが、
明らかに悪い意味で有名なので鬱。
もっと勉強せねば…

186:デフォルトの名無しさん
02/04/23 12:39
>>184
ぬをを…一文字でも貢献できればと思ったが、全然わかんねぇYO!


187:デフォルトの名無しさん
02/04/23 16:13
俺も参加。
前スレ839のproxyを縮めてみた。

import java.net.*;import java.io.*;class P{public static void main(final String
a[])throws Exception{ServerSocket s=new ServerSocket(a.length>2?Integer.parseInt
(a[2]):8080);for(;;){Socket n=s.accept(),o=new Socket(a[0],Integer.parseInt(a[1]
));new P(o.getInputStream(),n.getOutputStream());new P(n.getInputStream(),o
.getOutputStream());}}P(final InputStream i,final OutputStream o){new Thread(new
Runnable(){public void run(){try{for(int d;(d=i.read())!=-1;)o.write(d);i.close(
);o.close();}catch(Exception e){}}}).start();}}


188:S ◆Q14CxNhI
02/04/23 22:25
一日5文字なんて、夢は夢だった・・・1文字減らす難しさは指数関数的に増えるのかも
大改造して数文字減らせるかもと作業していますが、今日はパスです

189:デフォルトの名無しさん
02/04/24 17:22
ピンポン、8行だけど。
難しい・・・このままじゃゲームとして面白くないし(;´Д`)

import java.awt.*;class P extends Canvas{static int x=1,y=1,h=1,v=1,b=1;{
enableEvents(8);}public static void main(String a[]){Frame f=new Frame();
P p=new P();f.setSize(120,160); f.add(p); f.show();for(;;){p.repaint();
try{Thread.sleep(20);}catch(Exception e){}if(x<1||x>98)h*=-1;if(y<1||y>118||
(y>108&&x>b&&x<b+20))v*=-1;x+=h;y+=v;}}public void paint(Graphics g){g.drawRect
(0,0,100,120);g.fillRect(x,y,2,2);g.fillRect(b,110,20,3);}public void
processKeyEvent(java.awt.event.KeyEvent e){int c=e.getKeyCode();if(e.getID()!=
401)return;if(c==37&&b>1)b-=2;if(c==39&&b<80)b+=2;}}


190:S ◆Q14CxNhI
02/04/24 22:34
テトリス。後46文字?

<body onKeyDown=K=event.keyCode><script>X=[B=[Z=[a=A=12]]];function Y(){C=[d=K-
37?1:-1];c=0;for(i=4;i--&&K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/A)
*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1;
if(e=!e){if(f|a){for(l=228;i--;)Z[h+B[i]]=k=1;for(B=[[-7,-20,6,17,-9,3,6][t=++t
%7]-4,a=0,1,t-6?-A:-1];l--;h=5)if(l%A)l-=l%A*!Z[l];else for(P+=k++,j=l+=A;--j>A
;)Z[j]=Z[j-A]}h+=A}for(i=S="";i<240;S+=i-11?X[i]?"■":"_":P,X[i]=Z[i++])S+=i%A
?"":"<br>";document.body.innerHTML=S;Z[5]?0:setTimeout(Y,99-P)}for(e=K=t=P=i=0;
i<264;Z[i]=++i%A<2||i>228?1:0)h=17;Y()</script>

191:デフォルトの名無しさん
02/04/24 22:47
>189氏のピンポンいぢってみた也

import java.awt.*;public class P{public static void main(String a[]){new Frame
(){int x,y,s,h=1,v=1,b;{setSize(120,160);Canvas p=new Canvas(){{enableEvents(8
);}public void paint(Graphics g){g.drawRect(0,0,100,120);g.fillRect(x,y,2,2);g
.fillRect(b,110,20,3);}public void processKeyEvent(java.awt.event.KeyEvent e){
if(e.getID()==401)s=(e.getKeyCode()==37?-2:2);else s=0;}};add(p);show();try{
for(p.requestFocus();;p.repaint()){Thread.sleep(20);if(x<0||x>99)h*=-1;if(y<0
||y>119||(y>108&&x>b&&x<b+20))v*=-1;x+=h;y+=v;b+=s;}}catch(Exception e){}}};}}

192:デフォルトの名無しさん
02/04/24 23:15
>>190
ソースを読んだけど、テトリスだとは理解できなかた ...(゚Д゚)逝ってきます

193:デフォルトの名無しさん
02/04/24 23:36
前スレ 839 です.
アスキーアートを Java で作ってみた.
特に工夫もせず,ビールを飲みながら作ると,できちゃった.

import java.io.*;import javax.swing.*;public class A{static String A=" `.-:i+*"+
"3X8&%$W#@";public static void main(String[]S){PrintStream o=System.out;
ImageIcon c=new ImageIcon(S[0]);int h=c.getIconHeight(),w=c.getIconWidth();int[]
p=new int[w*h];try{(new java.awt.image.PixelGrabber(c.getImage(),0,0,w,h,p,0,w))
.grabPixels();}catch(InterruptedException e){}for(int i=0;i<h;i++){for(int j=0;j
<w;j++){int P=p[i*w+j];int g=(int)(0.3*((P>>16)&0xff)+((P>>8)&0xff)*0.6+(P&0xff)
*0.1);o.print(A.charAt(g/A.length()));}o.println();}o.flush();System.exit(0);}}

$ java imagefile


194:デフォルトの名無しさん
02/04/25 00:02
>>193
すごい! Java の強みを生かした良いプログラムですな。

195:デフォルトの名無しさん
02/04/25 00:40
蒸し返すようで悪いけど、 >>22 よ。
スライド辞書圧縮が楽勝だというのなら、もっと短くしてみれ

196:デフォルトの名無しさん
02/04/25 01:18
>193の出力を79行にしてみた

import java.awt.image.*;import java.awt.*;public class A{public static void
main(String[]S)throws Exception{Image c=new javax.swing.ImageIcon(S[0]).
getImage();int w=79,h=c.getHeight(null)*w/c.getWidth(null);BufferedImage s=new
BufferedImage(w,h,10);Graphics g=s.getGraphics();g.drawImage(c,0,0,w,h,null);g.
dispose();DataBuffer p=s.getData().getDataBuffer();char[]b=new char[w];for(int
y=0;y<h;y++){for(int x=0;x<w;x++)b[x]=" `.-:i+*3X8&%$W#@".charAt(p.getElem(x+y
*w)/16);System.out.println(b);}System.out.flush();}}

もうちょっと縮むかも。
System.out.flush()は要らないかも。
コンソールの文字の縦横比を考慮した方がいいのかも。かも。

197:S ◆Q14CxNhI
02/04/25 01:48
意外とさくさく進みます。後40字。

<body onKeyDown=K=event.keyCode><script>X=[B=[Z=[A=12]]];function Y(){c=0;C=[d=
K-37?1:-1];for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[(C[i]=p*A-Math.round(p/A)*145)
+h])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1;if(e
=!e){if(f|a){for(l=228;i--;)Z[h+B[i]]=k=1;for(B=[[-7,-20,6,17,-9,3,6][t=++t%7]-
4,a=0,1,t-6?-A:-1];l--;h=5)if(l%A)l-=l%A*!Z[l];else for(P+=k++,j=l+=A;--j>A;)Z[
j]=Z[j-A]}h+=A}for(i=S="";i<240;S+=X[i]?"■":"_",X[i]=Z[i++])S+=i%A?"":"<br>";
document.body.innerHTML=S+P;Z[5]?0:setTimeout(Y,99-P)}for(e=K=t=P=i=0;i<264;Z[i
]=++i%A<2||i>228?1:0)a=h=17;Y()</script>

198:デフォルトの名無しさん
02/04/25 01:51
>>197
目立ちたいのはわかるが、作業中なのにぽこぽこageんでください。
ageられてるから見てみると、作業途中のテトリスばかりでうざいです。

199:デフォルトの名無しさん
02/04/25 02:00
>>198 むしろどんどんアゲ欲しいのだが。
テトリス(以外も含めて)の縮め過程を見るのが最近ここのスレでの楽しみ。
それとも >>198 よ。作業用スレ立てるか?その方がうざい。

200:perl16
02/04/25 02:04
>>198
まぁまぁマターリしようよ。

201:デフォルトの名無しさん
02/04/25 02:08
>>199
はぁ?
何で作業スレ立てるって話になるんだよ
別に作業課程を書き込むのは悪くないけど、いちいちageるなってことだ。
大幅に構造を変更したとかならともかく、ちまちま削るたびにageられても迷惑だ。

だいたい、ageられなきゃレスを確認できない>>199の環境に問題がある。

202:デフォルトの名無しさん
02/04/25 04:02
>193氏のアスキーアートをさらに縮めて4行に。

class A{static{new javax.swing.ImageIcon(System.getProperty("i")){int i,w=80,h
=w*getIconHeight()/getIconWidth();{new java.awt.image.BufferedImage(w,h,10){{
for(getGraphics().drawImage(getImage(),0,0,w,h,null);++i<w*h;)System.out.print
(" `.-:i+*3X8&%$W#@".charAt(getData().getDataBuffer().getElem(i)>>4));}};}};}}

コンソールの横幅を80桁にして
java -Di=C:\graphic\hoge.jpg A
みたいな感じで実行。例外吐いて終了。

なんというか、これぞ糞コードの極み。みたいな。

203:デフォルトの名無しさん
02/04/25 07:06
テトリスうざいのは同感だが、
作った物を見てくれ……というS氏の気持ちもわからんではない。

204:デフォルトの名無しさん
02/04/25 17:11
extern int putchar(int);char*P="31287f861fa1fa187e7a182085efa186187efe0fa083ff\
e0fa08207a182785e861fe186110410410404104185e862f248a182082083f873b61861871a658\
e17a186185efa187e8207a186589dfa187e8a17a078185e7c410410486186185e86186148c8618\
6dce185230c4a144a104104fc210843f";B(int i,int c){long long int j,x;for(x=j=0;j<
9;j++)x=(x<<4)+(*(P+i*9+j)-(*(P+i*9+j)>60?87:48));for(j=0;j<6;j++)putchar(((x>>
c*6)&63)>>(5-j)&1?35:32);putchar(32);}main(int c,char*v[]){char*l,j;if(c>1)for(
j=5;j>=0;j--){for(l=v[1];*l!=0;l++)B(*l-65,j);putchar(10);}}

banner
大文字アルファベットのみ。long long int を __int64 にすればVCでも動くと思う。
上のAA生成に比べると見劣りするナァ(;´Д`)

205:デフォルトの名無しさん
02/04/25 17:31
>199はageとアップを混同してると思われ。
プログラミング過程はどんどんカキコしていいけど、
完成品じゃないならメール欄にsageと書くべし。

206:193
02/04/25 21:21
>>187
new Thread(new Runnable(){ ...
の new Runnable っていらんのじゃないの?
なくなってもいいから,もっと縮むかも.

>>202
縮むもんだねぇ.
ちゃんとインデントして見たソース.
私には書けない...
喜んでいいのやら哀しんでいいのやら...

207:perl16
02/04/26 00:56
ピンポンには正直驚いた。
僕はJAVAプログラミングできませんが、
ピンポンを発展させて7行でブロック崩しができたらすごいと思う。
Perlでなんかいいネタないかなー。

208:187
02/04/26 09:21
>>206縮めてみた

import java.net.*;import java.io.*;class P{static void main(String a[])throws
Exception{ServerSocket s=new ServerSocket(a.length>2?Integer.parseInt(a[2]):8080
);for(;;){Socket n=s.accept(),o=new Socket(a[0],Integer.parseInt(a[1]));new P(o.
getInputStream(),n.getOutputStream());new P(n.getInputStream(),o.getOutputStream
());}}P(final InputStream i,final OutputStream o){new Thread(){public void run()
{try{for(int d;(d=i.read())!=-1;)o.write(d);i.close();o.close();}catch(Exception
e){}}}.start();}}

こんなもんか

209:S ◆Q14CxNhI
02/04/26 22:19
>>198 >> 203
うざっこく思われているということに全く気付いていませんでした。
申し訳ありません。
今後は気をつけて参加したいと思います。

210:デフォルトの名無しさん
02/04/26 22:36
>>209
ガンバレSさん。sageだけど応援してるよ
いつかロシア人もビックリの7行テトリスを夢見て

211:デフォルトの名無しさん
02/04/26 23:38
こういった心遣いによってこのスレは成り立ってるんだね。
誰もレスしてないのに何度もアップしたのは確かにS氏のチョンボだけど、
テトリス自体は応援してるので、是非いつか遊びやすくて7行のテトリスを
ずずんとアップしてください

212:S ◆Q14CxNhI
02/04/27 01:20
ついにやりました! テトリス7行達成です!!
叱咤激励いろいろいただきました、みなさんのレスに感謝いたします。

遊び方:カーソル左右で移動、リターンキーで回転
プレイ環境:おそらく IE 5.01 以上?

<body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y()
{C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/
A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1
if(e=!e){if(f|B){for(l=228;i--;)Z[h+B[i]]=k=1;for(B=[[-7,-20,6,17,-9,3,6][t=++t
%7]-4,0,1,t-6?-A:-1];l--;h=5)if(l%A)l-=l%A*!Z[l];else for(P+=k++,j=l+=A;--j>A;)
Z[j]=Z[j-A]}h+=A}for(i=S="";i<240;X[i]=Z[i]|=++i%A<2|i>228)i%A?0:S+="<br>",S+=X
[i]?"■":"_";document.body.innerHTML=S+P;Z[5]||setTimeout(Y,99-P)}Y()</script>

...これは age て良かったですよね?

213:デフォルトの名無しさん
02/04/27 01:24
>212
下キー押すと右に行くのは仕様ですか?

214:デフォルトの名無しさん
02/04/27 01:28
ちなみに1行79文字がこのスレの標準ルールです。

215:S ◆Q14CxNhI
02/04/27 01:30
>>213
残念ながらそうなります。縮めるだけで精一杯なもので・・・
カーソル左右とリターンキー以外のキーを押すと、トンでもないことになります。

216:デフォルトの名無しさん
02/04/27 06:58
>>212
おめでとう
綺麗にまとまったもんだねー、すごい。
これならageても文句はなかろう。

217:デフォルトの名無しさん
02/04/27 08:23
やっとテトリス終わりですか。嬉しい。

218:デフォルトの名無しさん
02/04/27 10:13
S、嫌われたね。自己厨の典型的な末路だな

219:デフォルトの名無しさん
02/04/27 13:28
>>218
はあ?うざいのは確かだったが、誰も嫌ってなどはいない
少なくともテトリスは賞賛に値する(紙かどうかは別として)
今後は正しく sage てね、で終わりでいいじゃないか
本人も反省しているよう出し

220:デフォルトの名無しさん
02/04/27 14:04
>>218、嫌われたね。自己厨の典型的な末路だな

221:デフォルトの名無しさん
02/04/27 14:09
>>S
感動すますた

222:デフォルトの名無しさん
02/04/27 23:04
荒れるのはやだねぇ。新しい作品期待。

ここで自分で「これみろや!」って出せないのが鬱

223:デフォルトの名無しさん
02/04/28 01:01
テトリスは俺の中で神。というわけで解説キボンヌ

224:デフォルトの名無しさん
02/04/28 01:09
簡単な障害物よけゲームをJAVAアプレットで作ってみました。
 
import java.awt.*;public class H extends java.applet.Applet{int p,c,m,b,t=300,
s[]=new int[18];{new Thread(){public void run(){for(;s[p+15]<1&b<1;){repaint()
;try{sleep(t--);}catch(Exception e){}for(c=17;c>=0;c--)s[c]=c>2?s[c-3]:m>2?0:m
==c?0:1;m=m>2?(int)(Math.random()*3):3;}}}.start();}public void paint(Graphics
g){for(c=0;c<18;c++)g.drawString(s[c]>0?"■":c==p+15?"△":"□",c%3*10,c/3*10);
}public boolean keyDown(Event e,int k){if(k==1006&p>0)p--;if(k==1007&p<2)p++;b
=s[p+15];repaint();return 1>0;}}
 
アプレットなので、以下のHTMLを使ってください。

<HTML>
<BODY>
<CENTER>
<APPLET code="H.class" width="30" height="50"></APPLET>
</CENTER>
</BODY>
</HTML>
 
矢印キーで左右に移動します、だんだんスピードが上がっていきます。

225:デフォルトの名無しさん
02/04/28 01:20
>>223
テトリスの解説は >>117 にすでにあります

226:223
02/04/28 01:32
>225 それは知っていたんだけど、完成型は随分違うから全然わかんない
もしかして俺はバカ? 無限にウィンドウを開くJS作ってOSごとしんできます

227:デフォルトの名無しさん
02/04/28 10:32
        スレリンク(gamedev板)
        「ソースを上げるスレッド」 @ゲ制技板
114前後しか今のところ言ってないみたいだし、
あまり変化がないならここに張ったらどうよ?

228:デフォルトの名無しさん
02/04/28 13:43
7文字プログラミングは?

229:デフォルトの名無しさん
02/04/28 13:46
#includ

cは早くも脱落

230:デフォルトの名無しさん
02/04/28 13:51
void mai

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

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

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

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

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

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

236:VB厨
02/04/29 22:52
Sub Main


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

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

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

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

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

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

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

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

良スレから駄スレへ

悲しいけど

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

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



246:               
02/05/01 21:06
    遺伝子的循環





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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


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

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

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

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


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5380日前に更新/349 KB
担当:undef