テトリスを作る
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
02/10/07 16:53ID:Pf3z3KIHソースを載せてください
0002あぼーん
NGNG0003ひきプロ ◆8fhky/PGis
02/10/07 16:56ID:???はやくなったらおかしくなりますが…VB
0004名前は開発中のものです。
02/10/07 16:57ID:???このスレッドでまとまり次第、独立したプロジェクトスレッドを立てて下さい
(前触れの無いプロジェクトスレッドは削除対象となります)
0005あぼーん
NGNG0006あぼーん
NGNG0007名前は開発中のものです。
02/10/07 17:00ID:???>企画は総合発表&雑談スレッドに書いて下さい
>このスレッドでまとまり次第、独立したプロジェクトスレッドを立てて下さい
>(前触れの無いプロジェクトスレッドは削除対象となります)
総合発表&雑談スレッド
http://game.2ch.net/test/read.cgi/gamedev/1033812109/
>>1は即座に削除依頼を出してください。
それでは、削除されるまでの間またーりでお待ちください。
0008あぼーん
NGNG0009名前は開発中のものです。
02/10/07 21:36ID:???int WINAPI WinMain(...)
{
return WinExec("tetris.exe", SW_SHOW);
}
※別途作成のtetris.exeが必要
0010名前は開発中のものです。
02/10/07 23:59ID:???ださすぎ、才能ないよ
0011あぼーん
NGNG0012名前は開発中のものです。
02/10/08 01:29ID:4phHdMACプレイ環境:おそらく 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>
0013名前は開発中のものです。
02/10/08 02:02ID:???0014名前は開発中のものです。
02/10/08 03:15ID:B8Ib8XsXスゲェー!
0015名前は開発中のものです。
02/10/08 04:02ID:???うぅーー。ほんとにテトリスになってる。
Javaスクリプトってテトリスできるんですね?
感動。
しかも7行で。
0016名前は開発中のものです。
02/10/08 04:07ID:???すまん、悪いんだが、普通に展開するとどんな感じになるんでしょ?
いかんせん for() がどこまでかかるか分からなくて。(JAVAスクリプト書いた
ことないもので)
0017あぼーん
NGNG0018名前は開発中のものです。
02/10/08 07:06ID:???indentツールを使うべし
0019名前は開発中のものです。
02/10/08 10:20ID:???だまって放置できねえのかガキども
みっともねえなあ、ゲーム系PGは
0020あぼーん
NGNG0021pom
02/10/08 21:51ID:95TlUE2vhttp://dainet.port5.com/teto.txt
0022コピペ
02/10/08 21:56ID:4phHdMACdim A,4,7:A=1,4,5,6,5,6,10,14,5,6,9,13,5,6,9,10,2,6,5,9,1,5,6,10,1,5,9,13:repeat
wait 1:if G=0{rnd N,7:memcpy B,A,16,,16*N:H=3:I=-4:J=0:G=1}J-F:if J<0{K=0:L=1
gosub Z:if M=0{N=0:repeat 4:O=B.cnt\4+H:P=B.cnt/4+I:if P<0{N=1:break}C.O.P=1
loop:if N{break}dim Q,V:R=0:repeat V:S=cnt:N=0:repeat 10:N+=C.cnt.S:loop:if N>9{
Q.cnt=1:R+:palcolor 255:boxf 0,cnt*V,200,cnt*V+18}loop:if R>0{wait 50:color:boxf
E+R*R:title ""+E:N=19:repeat V:S=19-cnt:if Q.S=0{memcpy C,C,40,N*40,S*40:N-}loop
memset C,,N*40}G=0}J=100}stick T,8,1:K=T&4!0+(T&1!0*-1):L=T&8!0:gosub Z:if T&16{
dim U,4:memcpy U,B,16:repeat 4:N=B.cnt\4:B.cnt=N*4+3-(B.cnt/4):loop:K=0:L=0
gosub Z:if M=0{memcpy B,U,16:gosub Z}}redraw 0:repeat V:S=cnt:repeat 10:K=cnt*V
palcolor D.cnt.S*9:L=S*V:boxf K,L,K+18,L+18:loop:loop:redraw:loop:dialog "over"
end:*Z:M=1:repeat 4:O=B.cnt\4+H+K:P=B.cnt/4+I+L:if (P>19)|(O<0)|(O>9):M=0:break
if P<0{continue}if C.O.P=1{M=0}loop:if M=0{return}memcpy D,C,10*V*4:H+K:I+L
repeat 4:O=B.cnt\4+H:P=B.cnt/4+I:if P>=0{D.O.P=1}loop:return
0023名前は開発中のものです。
02/10/08 22:02ID:???コピペって他人のコピペということか。
なら出典も書こうぜ。作者への敬意はどうした。
0024コピペ
02/10/08 22:07ID:4phHdMAC>>22の出展:
HSP - Hot Soup Processor
http://game.2ch.net/test/read.cgi/gamedev/1005332663/888
0025名前は開発中のものです。
02/10/08 22:11ID:???0026名前は開発中のものです。
02/10/22 19:36ID:???| お姉さま、今日は「作ろうよ」特集よ
\_____ _________________
//
∧_∧ ∧__∧
( ´∀`) ( ・∀・)
〉 <、 n ,> 〈
イ´γ 、ヽ ,||、 ,,ノ,_i⌒) __/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(⌒r´⌒y/ f々) (;:..(..:::;ノ / \ ゴミクズみたいな>>1が
ハ::,;、::::ノ〈//`´ (二二ノノ | 存在する限り私達も不滅…
|ノ:::::::〈\./ (_ミ:::〈 \__________
ィf::::::::::;ヽ、 〈;::::::;::ヽ
(ミ:::;;:::;;:::::} 〉;;;::::)::)
人;;;;;y;;;;;;ノ /^i;;:イ;;;ノ
| / / / /| /
`y / 〈 < | |
|| | ヽ `ヽ| i
| ト.、 \`ヾ:|
| |/^〉 ノ ^〉|
ノ__.|ヘ;| しヘ;|_ 〉
∠_ノL! ∠_ノL!
0027名前は開発中のものです。
02/10/22 19:55ID:???0028名前は開発中のものです。
02/10/24 10:16ID:???0029名前は開発中のものです。
02/10/24 11:15ID:???クソスレ上げる貴様は馬鹿を通り越してキチガイだがな。( ´,_ゝ`)プッ
0030名前は開発中のものです。
02/10/24 12:21ID:FJThY7vcテトリスサーバ立ててに思考ルーチンから信号投げあって強さ競う段階だろ。テトリスなら。
0031名前は開発中のものです。
02/10/24 15:36ID:???テトリスの強さを競うのは不可能
瞬時に計算できてミスが無いのなら永遠に終わらない
そのくらいのことも分からないのに何が「段階だろ?」なんだか
0032名前は開発中のものです。
02/10/24 16:59ID:???たまには検索しろ
テトリスが対戦ゲームになってることを知らないのか?
0033名前は開発中のものです。
02/10/24 17:22ID:???やっぱり分かってない
通常の対戦ルールでは多少ブロックがせり上がってくる程度では
瞬間的に計算可能である限り終わらない
三目並べの強さを競っているのと同じ状態になる
だからといってCPU戦専用に特殊ルールを導入したらテトリス以外の何かであって
テトリスの「強さ競う段階だろ」ということにはならない
0034名前は開発中のものです。
02/10/24 17:31ID:???0035名前は開発中のものです。
02/10/24 19:42ID:0Bv0kr07天然か?
テトリスには先読みの要素があるから、思考ルーチンにも癖が出るだろうが。
どうしても4段消ししたいからと粘って積み上がってしまうとか、より早く組むために加速と連打を駆使したがブロックがせりあがりハマるとか。
テトリスやったことあるなら、予測が必要なことぐらいわかるぞ?
囲碁や将棋のようなターン制じゃないんだから、逐次状況を把握する必要があるし。
考えが浅はかすぎ。
0036名前は開発中のものです。
02/10/24 20:46ID:???ブロックがせりあがる程度ではミスも遅れも無いCPUでは永遠に勝負がつかない
かといってテトリスを出すと10段上がってくるようなルールにするとテトリスとはよべない
そうなるとアルゴリズムの強さではなく、ほとんどの要素が運だけになってしまう
>囲碁や将棋のようなターン制じゃないんだから、逐次状況を把握する必要があるし。
これで全然理解していないのが確定
人間にはリアルタイムアクションに見えてもCPU側から見ればターン制と変わらない
プログラムをまともに組んだことが無いから理解できないんだろうが
0037名前は開発中のものです。
02/10/24 20:50ID:???>より早く組むために加速と連打を駆使したがブロックがせりあがりハマるとか。
それは単なる程度の問題ってことで。
「死なないように消していけば」絶対終わりませんな。ぷよぷよじゃあるまいし。
0038名前は開発中のものです。
02/10/24 21:18ID:???もう少しプログラムを勉強してから出直せ
0039名前は開発中のものです。
02/10/24 21:36ID:FJThY7vc残りの隙間1ブロックから初めても打開出来るかのような理屈じゃ話にもならんよ。
0040名前は開発中のものです。
02/10/24 22:38ID:???珍しいこともあるもんだ
0041名前は開発中のものです。
02/10/25 03:26ID:Agjby0bj対人ではなくCPU同士で対戦させようとしてる話じゃないのか?
0042名前は開発中のものです。
02/10/25 05:45ID:???0043名前は開発中のものです。
02/10/25 07:26ID:???CPU同士だから内部処理ではターンがまわってくるのと変わらないということでは?
0044名前は開発中のものです。
02/10/25 08:55ID:???いつそんな理屈になったんですか?逃げないでください。
0045名前は開発中のものです。
02/10/25 08:59ID:???馬鹿同士永遠に討論してろ。
0046名前は開発中のものです。
02/10/25 09:18ID:???うーん、見ればわかることをそのまま書くだけで興奮できるなんて器用だねえ。
うまく皮肉れなかったのを、wの数増やしてカバー? うわあ。
0047名前は開発中のものです。
02/10/25 11:08ID:q9Sa1cQR内部処理的にはそうなるな。一見するとリアルタイムバトルのようだが、
内部処理的には1/60秒(一例)のスパンで切って、ターンを交互に回してその間に思考→移動(何もしない事もあり得る)
を繰り返すわけで実質パスの許されるターン制になるわけだね。
しかし、その「制限時間内」にコンピュータが次のアクションを考えきれなかったらいったいどうするのか
・・・・これへの対処法がわからない。
(オセロみたいに結論が出るまで処理待ち、なんてアフォな事は許されないし)
0048名前は開発中のものです。
02/10/25 11:40ID:???対処法はない
ゲーム自体を進行させているのがCPU側だから
制限時間内に処理できなければゲームの進行が遅くなるだけ
シューティングゲームでオブジェクトが増えると遅くなるのと同じ
そもそもCPU側に正確な時間制限を課すのは不可能
正確に測定可能だったとしても強さがマシンの性能によって左右されることになる
>(オセロみたいに結論が出るまで処理待ち、なんてアフォな事は許されないし)
だから前提条件もなにも提示せず、
テトリスで「強さ競う段階だろ」というのはナンセンスだということになる
0049名前は開発中のものです。
02/10/25 11:42ID:???0051名前は開発中のものです。
02/10/25 12:56ID:???メッセージを投げ合うということは通信延滞の少ない方が有利になります。
そんなアンフェアな状態でどうやって強さが競えるのでしょうか?
それを防ぐためにテラリウムのようにアルゴリズムそのものを投げる方式になると思うのですが?
0052名前は開発中のものです。
02/10/25 13:17ID:???ならばどうやってネットワーク越しに強さを競うのか「方法を提示すべき段階だろ」
0053名前は開発中のものです。
02/10/25 13:54ID:???0054名前は開発中のものです。
02/10/25 14:33ID:???少なくとも>>30は「強さを競う」と言っている
ではどうやって強さを競うのか説明すべき
0055名前は開発中のものです。
02/10/25 14:36ID:???0056名前は開発中のものです。
02/10/25 15:04ID:djOn48Dhおまえ人からよく頭悪いって言われるだろ?
>>30>>35ときてターン制じゃねえって言ってんのにどこから勘違いできんだよ。
0057名前は開発中のものです。
02/10/25 15:06ID:???>信号投げあって強さ競う段階
という方法がどのようなものなのか説明してもらわないと話が進みません
落ち着いて>>30の説明を待ちましょう
0058名前は開発中のものです。
02/10/25 15:12ID:???どうせありもしない俺ルールに縛られてるんだろうけどな
特に>>54氏など見てると見てられない
0059名前は開発中のものです。
02/10/25 15:13ID:???0060名前は開発中のものです。
02/10/25 18:59ID:SfJfGuMk先に謝るのが筋だろうが。
それに説明って何を説明すんだよ。
思考ルーチン持ったアプリ作って、テトリスサーバと信号やり取りするっつってんだろカスが。
回線状況云々はもう思考ルーチンの話だろ?
その話ならまだ追求する余地があるったんだよ。まんまじゃねーか、話聞いてんのか!!
0061名前は開発中のものです。
02/10/25 19:43ID:???0062名前は開発中のものです。
02/10/25 19:46ID:???だからその方式だと回線が弱いほうが不利になるつってんだろボケが
0063名前は開発中のものです。
02/10/25 21:36ID:???通信条件が違ったら強さが競えないんですが
それをどうするつもりなのかというところを説明してください
そうしないと
>強さ競う段階
にたどりつけません
0064名前は開発中のものです。
02/10/25 21:45ID:???オメデテェナァ
0065名前は開発中のものです。
02/10/25 21:49ID:???006660
02/10/26 13:24ID:HrdkkESOまず謝れよ。
煽り方だけ一人前で謝り方は乳幼児以下か?てめえは。
通信条件をどうするかなんて何も言ってねぇだろ。
話の主旨をコロコロかえて逃げてんじゃねぇよ。
>テトリスの強さを競うのは不可能
>アルゴリズムの強さではなく、ほとんどの要素が運だけになってしまう
>CPU側から見ればターン制と変わらない
>「死なないように消していけば」絶対終わりません
>CPU同士だから内部処理ではターンがまわってくるのと変わらない
>ゲーム自体を進行させているのがCPU側だから
こんだけのアホ発言をまず訂正しろバーカ
0067名前は開発中のものです。
02/10/26 13:47ID:???( ´,_ゝ`)プッ( ´,_ゝ`)プッ( ´,_ゝ`)プッ( ´,_ゝ`)プッ
( ´,_ゝ`)プッ( ´,_ゝ`)プッ( ´,_ゝ`)プッ( ´,_ゝ`)プッ
( ´,_ゝ`)プッ( ´,_ゝ`)プッ( ´,_ゝ`)プッ( ´,_ゝ`)プッ
( ´,_ゝ`)プッ( ´,_ゝ`)プッ( ´,_ゝ`)プッ( ´,_ゝ`)プッ
ハハハ イキデキネーヨ
∩_∩ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ハライテ- ゲラゲラ
. ( ´∀`) < わははは ∩_∩ 〃´⌒ヽ ゲラゲラ
. ( つ ⊂ ) \_______ (´∀` ,,)、 ( _ ;) シネヤザコ>66
.) ) ) ○ ∩_∩ ,, へ,, へ⊂), _(∪ ∪ )_ ∩_∩ ○,
(__)_) ⊂ ´⌒つ´∀`)つ (_(__)_丿 し ̄ ̄し ⊂(´∀`⊂ ⌒ヽつ
タッテ ラレネーヨ
ワハハハ
0068名前は開発中のものです。
02/10/26 14:11ID:???それが示しているのは1CPUで強さを競うには問題があり
それ以降の話で通信させても問題があるということになった
じゃあ、どうやって強さ競う段階に出来るのかということだろ
>強さを競う段階だろ
と断定している以上、責任持ってどうすればいいのか説明するのが筋だろ
どうせ無理だろうけど
0069名前は開発中のものです。
02/10/26 14:23ID:gfRWU+tS例えば100ライン消すまでの時間を競う。
0070名前は開発中のものです。
02/10/26 14:30ID:???単発消しがメインで運に左右されることになるけど、
それを強さと主張すれば競うのは不可能ではない
が、イマイチ面白くない
http://www2a.kagoya.net/~adults-toybox/sample2.wmv
http://www2a.kagoya.net/~adults-toybox/
0072名前は開発中のものです。
02/10/26 14:39ID:???| / / |// / /|
| / / |_|/|/|/|/| (´⌒(´⌒`)⌒`)
| / / |文|/ // / (´⌒(´クソスレダ!!クソスレダ!!`)⌒`)
|/ /. _.| ̄|/|/|/ (´⌒(´∧ ∧⌒`)`)`)⌒`)
/|\/ / / |/ / (´⌒(´(,゚Д゚ )つ `)`)
/| / / /ヽ (´⌒(´⌒ (´⌒( つ |〕 /⌒`)⌒`)
| | ̄| | |ヽ/| 遅れるな!! ( | (⌒)`)⌒`)
| | |/| |__|/ ∧_∧ ⌒`)ドし'⌒^ミ `)⌒`)ォ
| |/| |/ ( ´∀` )つ ド ∧_∧⌒`)
| | |/ ( |〕つ/] / ォと( ・∀・ ) 終了させるぞ―!!
| |/ ( | (⌒)`) ォ ヽ|〕⊂〔| )`)
| / (´ ´し'⌒^ミ `)`)ォ (⌒) |
|/ 彡  ̄(__)`)`
007366
02/10/26 15:59ID:???謝れよ。ウンコ野郎。
>それが示しているのは1CPUで強さを競うには問題があり
>それ以降の話で通信させても問題があるということになった
>じゃあ、どうやって強さ競う段階に出来るのかということだろ
>>強さを競う段階だろ
>と断定している以上、責任持ってどうすればいいのか説明するのが筋だろ
>どうせ無理だろうけど
バカがうろたえる様はいつ見ても気分がいいな。
007473
02/10/26 16:12ID:o6MpjTsM強さを競う段階っていうのはな、
テトリスのゲーム自体のロジックではなく、
CPUの思考ルーチン(の強さ)を考える段階ってことだよな?解かるか?
『強さ』を決める要素には、そら一杯あるだろうな。
それを考えたらいかがですかー?って書き込みだったんだから。
…なんか、いくら打ってもお前が理解出来る気が全然しないよ。
日本語が出来ないくせに筋うんぬん言うお前はなんだ?
日本語っていうより言語ロジックがもうありえんわ。おまえの場合。
マンガばっか読んでて、あのフキダシに入る文しか理解できないようになったのか?
おまえのアホさは日本のマンガ文化が原因なのかもな。
0075名前は開発中のものです。
02/10/26 16:13ID:???結局何も説明できないのか
0076名前は開発中のものです。
02/10/26 16:17ID:???>CPUの思考ルーチン(の強さ)を考える段階ってことだよな?解かるか?
つまりテトリス自体のロジックが無い状態で
どうやってその思考ルーチンを考える段階になるのかまた謎が深まったと
説明求む
0077名前は開発中のものです。
02/10/26 16:39ID:???タイムアタックも賢さの指標になると思うよ
0078名前は開発中のものです。
02/10/26 16:47ID:???最後はかなり微妙な差を競うことになりそうな気がするけど
0079名前は開発中のものです。
02/10/26 16:55ID:SB1/m0nw0080名前は開発中のものです。
02/10/26 16:55ID:???0081名前は開発中のものです。
02/10/26 17:08ID:???消す回数が4倍違うから、どちらも下入れっぱなしでもかなりの時間差になるよ
(ラインが1回消えるごとにラインが消えるアニメの時間があるから)
テトリスでは一般に、ちまちま消すよりも4ラインまとめて消すほうがすごいってのは
誰もが直感的にそう思うと思うけど、では4ラインまとめて消していくためには
どうしたらいいかってのはなかなか難しい
0082名前は開発中のものです。
02/10/26 17:09ID:???それは気が付かなかった
0083名前は開発中のものです。
02/10/26 20:08ID:???| / / |// / /|
| / / |_|/|/|/|/| (´⌒(´⌒`)⌒`)
| / / |文|/ // / (´⌒(´クソスレダ!!クソスレダ!!`)⌒`)
|/ /. _.| ̄|/|/|/ (´⌒(´∧ ∧⌒`)`)`)⌒`)
/|\/ / / |/ / (´⌒(´(,゚Д゚ )つ `)`)
/| / / /ヽ (´⌒(´⌒ (´⌒( つ |〕 /⌒`)⌒`)
| | ̄| | |ヽ/| 遅れるな!! ( | (⌒)`)⌒`)
| | |/| |__|/ ∧_∧ ⌒`)ドし'⌒^ミ `)⌒`)ォ
| |/| |/ ( ´∀` )つ ド ∧_∧⌒`)
| | |/ ( |〕つ/] / ォと( ・∀・ ) 終了させるぞ―!!
| |/ ( | (⌒)`) ォ ヽ|〕⊂〔| )`)
| / (´ ´し'⌒^ミ `)`)ォ (⌒) |
|/ 彡  ̄(__)`)`
0084名前は開発中のものです。
02/10/26 20:28ID:6W9e2Tqe対戦方法としては、
・同じパソコン上で対戦
・ネットに信号投げ合って対戦
この2通りが有るわけだ。
まず前者は、お前はCPUが考えてる間に状況がどうのこうのと言っているが、
おまえはまともにプログラムを組んだ事が有るのか?
もう何度も言われているが、CPUから見ればターン制となんら変わりはない。
後者の場合は、これもまた何度も指摘されているように、回線が遅いと不利。
後69、いいなそれ。
タイムアタックにすれば処理時間の関係であまり小難しいルーチンは組んでられない。
それこそ人間が余りに複雑な思考をしようとすると時間がかかるのに似ている。
(まあ、CPUの場合は思考中はブロックが落ちないのだが)
その辺がシビア(だと思う)。
・・・長文スマソ
■ このスレッドは過去ログ倉庫に格納されています