テトリスのCPU思考ルーチンをおしえろ

このエントリーをはてなブックマークに追加
1名前は開発中のものです。
具体的に記せ
2名前は開発中のものです。:2006/09/29(金) 21:13:39 ID:o0+DyFlu
>>1の思考ルーチンをおしえろ
3名前は開発中のものです。:2006/09/29(金) 21:29:08 ID:9Nf3d9xi
全ての落とし方をしらべて一番いいのを選ぶ
ぷよでも同じ

The Endォォ!!
4名前は開発中のものです。:2006/09/30(土) 08:46:37 ID:/0Zh9PMP
>>3
以前やってみたことあるけど、あまり面白くならなかったな
ttp://www5b.biglobe.ne.jp/~clap/other/tetra/index.html
5名前は開発中のものです。:2006/09/30(土) 13:59:47 ID:cycsORas
#define ITIHASINE ( rand() % RETU );
6名前は開発中のものです。:2006/09/30(土) 14:44:51 ID:GTwr1qZ4
while(1){
  naguru(>>1);
  if(>>1 == dead){fukkatsu(>>1);}
}
7名前は開発中のものです。:2006/09/30(土) 17:10:39 ID:nlrJe2ey
無限ループって恐くね?
8名前は開発中のものです。:2006/09/30(土) 18:45:46 ID:1O/qWUC5
おまえら案の定焼くただズ
9名前は開発中のものです。:2006/10/02(月) 10:20:52 ID:E7GeN82H
>>4
見てみたけど
できてないじゃん・・・
10名前は開発中のものです。:2006/10/15(日) 18:18:00 ID:e68Pr/Bt
9
所詮2CHに出入りしている奴らがつくれるわけないじゃん
11名前は開発中のものです。:2006/10/15(日) 23:42:14 ID:bgt99sgS
うん.
12名前は開発中のものです。:2006/10/15(日) 23:48:28 ID:5NZ5AkOw
穴にハメるだけだお
13名前は開発中のものです。:2006/10/16(月) 23:04:09 ID:z0QfM3Ck

精神同様幼稚なコードだ。ゴミ
14名前は開発中のものです。:2006/10/17(火) 00:00:24 ID:R17FrFjc
age
15名前は開発中のものです。:2006/10/17(火) 01:34:26 ID:7D5BnfNs
アルゴリズムでしょ?
現ブロック&&次ブロックでifで列の穴が0に近いように選ぶ
って言うのが簡単なんじゃないの?
16名前は開発中のものです。:2006/10/17(火) 01:40:17 ID:R17FrFjc
         ‖
         ■
         ■
   ■     ■
  ■■■   ■
■■■■■■■ ■■
■■■■■■■ ■■
■■■■■■■ ■■
■■■■■■■ ■■
17名前は開発中のものです。:2006/10/17(火) 01:57:18 ID:bqZyY137
ブロックの方4通り。
ブロックの置く位置10通り。
落すブロック1個につき40通りを試行し、
・はみ出るケースは除外。
・一番ラインを消せるケースを優先。
・高低差が(絶対値の合計)少なくなるケースを優先。

で、いいんじゃないか?
落下速度が速くても間違えないし、結構強いはず。
積み方を間違える割合を設定すれば難易度調整も楽々。
まぁ落下速度が速くなる前に積みあがったら駄目だがw

はいはい終了終了
18名前は開発中のものです。:2006/10/17(火) 06:08:10 ID:Ci2KLVBp
それだけだったら簡単だけど、テトリス狙いとかさせなきゃダメだし。
次のブロックも見えてるから、先読みさせなきゃいけない。
19名前は開発中のものです。:2006/10/17(火) 14:33:32 ID:n9UHlwwV
一直線の穴を作るように積み上げる。赤が来たら4ライン消し。
穴が作れないようなブロックが来たらジャマにならないように
すみに捨てる。そのときなるべく隙間が出来ないように積み上げる。
プレイヤーより赤の来る確率をやや高くするよう乱数を片寄らせる。

・・・文章で書くとこんな感じ?
そういえばセガのゲーセンテトリスって絶妙のところで赤の棒が来たり、
期待してたらずっと出てこなかったりわざとらしいプログラムだなーと
昔から怒って台を叩いたりしてた。普通の乱数じゃないよね?
あ、でも別の乱数使ったゲーム作ったときにいかにも調整したような
いやらしい並びになってて感心したことがあるから、乱数ってそういうもの
なのかな?
20名前は開発中のものです。:2006/10/17(火) 14:39:15 ID:n9UHlwwV
あるいは、
すでにテトリスが出来るような並びのデータを配列で持って再生するだけ。
これ最強。
弱くするには相手からのおじゃま割り込みを許可するくらい
積み上げるのを遅くするとか、乱数で時々失敗して置くとか。
21名前は開発中のものです。:2006/10/17(火) 14:52:22 ID:n9UHlwwV
穴を作るように積み上げる。
穴が太く、LやZが入るような形に穴が空いている場合はそれで消す。

何にしても難しいな、もう少し考えて出直してきます。
22名前は開発中のものです。:2006/10/17(火) 17:32:51 ID:gMx/42C1
テトリスを作ること自体は簡単だが、パズルそのものが苦手だ。頭いてー。
23名前は開発中のものです。:2006/10/17(火) 18:13:45 ID:VE3IKzk6
>>19
>そのときなるべく隙間が出来ないように積み上げる。
プログラムよろうとしてる人間が
こんな曖昧な条件設定をしたらあかんだろ
すみに捨てるも何段までまたは条件を設定した方がいい

乱数についても考えが浅すぎ・・・
乱数は設定次第だけど
君が感じるようなことは完全なランダムでも十分ありえる
人は気に入らないことのほうが記憶に残りやすいだけ
24名前は開発中のものです。:2006/10/18(水) 18:26:02 ID:ZvX558dM
単に強くするだけでも難しいよな
相手のプレイスタイル見ないと勝てなくなる
25名前は開発中のものです。:2006/10/29(日) 06:03:35 ID:mn361XXn
無理して多段消しするよりもちょこまか消してったほうが楽だと思った。
実際俺が遊んだときの感想だけど。
26名前は開発中のものです。:2006/10/30(月) 14:23:33 ID:WxISMm2r
>>25
楽って何が?
遊んだってプレイしたってこと?
それと思考ルーチンがどう関係するの?
27名前は開発中のものです。:2006/10/31(火) 00:33:00 ID:Sp/Tidqg
普通に関係あるんじゃない?

>>25
ただゲームを続ければいいっていうなら>>4ので十分かもしれない。
でも特定の対戦ルールで勝つとか、時間やライン数に制限を設けての
スコアアタックをさせるほうが、作るほうも見てるほうも面白いと思う。
28名前は開発中のものです。:2006/10/31(火) 14:38:08 ID:2o9uqj8Y
セガのテトリスは固定乱数
電源入れてから同じパターン
29名前は開発中のものです。:2006/12/08(金) 02:11:38 ID:XqnIUOAs
テトリス・ザ・グランドマスターのシリーズで高い評価が出るようなプレイをさせたい
さてどうすればいいか
30名前は開発中のものです。:2006/12/10(日) 04:52:46 ID:aJXqrfUl
将棋と違って先読みなんてほとんど無いし、絶対ゲームオーバーにならないCPUなんてすぐ作れそうだな。
31名前は開発中のものです。:2007/11/10(土) 22:41:36 ID:w4SDRLpU
人間の俺がテトリスやるときは、なるべく、
・□形のブロックが来てもいいように平らな所を残しとく
・幅1・深さ2以上の穴を複数作らない(L形、J形、I形のブロックじゃないと埋めれない)
・4行消し狙いのときも、ある程度ブロックが高く積もってきたら、少し消す
ぐらいは考えてやってたなぁ。
32名前は開発中のものです。:2007/11/11(日) 14:37:30 ID:jEV+9jtE
超高速で落とせば絶対人間には負けないと思う。
33名前は開発中のものです。:2007/11/11(日) 17:13:02 ID:oQNE+QYJ
34名前は開発中のものです。:2007/11/11(日) 20:27:52 ID:4JfT71aV
>>33
見た。やっぱり絶対人間には負けないと思うが?
35名前は開発中のものです。:2007/11/11(日) 20:48:40 ID:oQNE+QYJ
>>34
確かに人間とは思えない……
"混沌のテトリス猿人"か何かが操作しているのか
36名前は開発中のものです。:2007/11/11(日) 22:16:16 ID:1n6IpN00
346 名前: 消防士(アラバマ州)[] 投稿日:2007/10/30(火) 08:53:39 ID:Kk34TRTd0
1kbに満たないソースでテトリスが出来るのには感動した

<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>

メモ帳に貼り付けてhtmlで保存。レッツテトリス!
エンターで回転、カーソルキーで移動っぽ
37名前は開発中のものです。:2007/11/12(月) 11:50:07 ID:1OC0F4Cg
>>33
スピードの速いものなら
ttp://arika.co.jp/
のSpecial -> TGM3 SHIRASEモード TGMタイプでのレベル1300クリアムービ(38.6MB) でも見れ。
人間でもこのぐらいはできる。
38名前は開発中のものです。:2007/11/12(月) 23:37:55 ID:xLpozmUL
>>35
は?「人間とは思えない」なんて言ってないが?

「人間には絶対負けない」だ。どんな文盲ですか。
39名前は開発中のものです。:2007/11/13(火) 17:41:44 ID:KrMQ+oTE
>>37
見た
速すぎる
ネット対戦だとこのレベルがゴロゴロいるんだろうなー。

>>38
なんだよそれ、「うまいこといいやがって」と思ってたのに(つ∀`)

「(動画を見たうえで)人間には絶対に負けない」というレス
しかし動画の最後で*プレイヤーが勝っている*

たしかに59回もやる根気とあの最後の絶妙の
タイミングのTスピンダブルは人間技じゃないw

>>35
40名前は開発中のものです。:2008/07/21(月) 20:36:04 ID:wu76oiqu
テトリスをきめたら「テトリスだビコビコワーオ」と叫ぶこと
41名前は開発中のものです。:2008/11/16(日) 14:26:49 ID:9VvPoZAz
対戦モードの勝敗なんてルール次第でなんとでもなるでしょう?
42名前は開発中のものです。:2011/03/11(金) 06:13:40.30 ID:gJdx4tFl
ロシアの数学者が黒白青赤の四色の石を使った4人囲碁を考案 さらに黄緑橙紫の石も加えた8人囲碁も考案中
http://toki.2ch.net/test/read.cgi/news2/1291898789/
43ё ◆WBRXcNtpf. :2011/03/12(土) 20:31:49.63 ID:poakEeNi
教えてもいいけど、1の知識、知恵がどの程度か知りたい。
44名前は開発中のものです。:2011/03/16(水) 12:59:39.52 ID:BjnjOb1q
>>37
アリカが営業停止してる

>>4
これすごいな
技術解説orソースが見てみたい
45名前は開発中のものです。:2011/05/10(火) 20:19:20.94 ID:6qeAPE4A
対戦型テトリス(PC用やわ
http://swfup.info/view.php/0171.swf
46名前は開発中のものです。:2011/09/08(木) 20:52:17.39 ID:cPUulUtX
ルミネスUってPSPのソフトがテトリスっぽいけど、どうなんだろ?
47名前は開発中のものです。:2011/11/01(火) 13:36:19.57 ID:G0HkpVAD
まずお猿の絵を用意します
そしてお猿が笑ってる絵、怒ってる絵を用意します
48名前は開発中のものです。:2011/12/04(日) 23:30:09.13 ID:XdCzSjGn
対戦のCPU側のことだろ?
かなりインチキしてるんじゃないか

ランダムに出現するピースの処理
 縦に置こうとして合う形があればそこにはめる 最大四段消し
   横にして合う形があればそこにはめる
    合う形が無いとき
      長い穴があるときはそれを潰さないように置く
      長い穴が無いときは適当に隅っこに置く

CPUのインチキ・・・CUPの強さレベルが高いとき
 四段消せる長い穴があるとき、ランダムではなく長い棒を出現させる
 □で二段消せそうなとき、□を出す
 Lで三段消せるとき、Lを出す
49名前は開発中のものです。:2011/12/04(日) 23:38:06.35 ID:XdCzSjGn
10x22くらいのマップデータを用意して
左から10行に分けて調べる
上から空いてるかどうか調べて、ブロックがあるチップに当たったら
その周辺の形を調べる
置こうとしてるピースがLでちょうどLの形に空いていればそこに置く
置けないようなら、次の行を調べる

10行調べてどこにも置けないようなら長い穴を潰さないように適当に置いてしまう


長い穴を作るロジックもあってもいいかも。
まず、右端に長い穴を作ると決めて、必要なピースを出して積み上げていく
もちろん人間である対戦者に対してはインチキ。
50名前は開発中のものです。:2012/01/05(木) 01:44:02.38 ID:JFl4RbTU
>>42
誤爆かな?
どうでもいいけど、碁でも将棋でも二人だから競技となるけど、三人以上だともう単なる遊びだな。
51電脳プリオン 【東電 70.6 %】 【13.4m】 :2013/09/14(土) 23:38:47.73 ID:Us/cK5Cl BE:182434436-PLT(12080)

知らん
52名前は開発中のものです。:2013/09/29(日) 01:06:14.23 ID:SGmNQTjp
むずかしい
53名前は開発中のものです。
【ID】YYY-X1
オンラインネーム YYY-X1
自己紹介 ヴォ―

【罪状】シャフでステゲーとファンメ
http://i.imgur.com/wngSWjx.jpg

【今の階級】少尉

【説明】
シャフでステゲーしてその間にファンメを書いてるキムチから生まれたデブ
バカッターもやってて醜いデブな見た目を自分から晒してるアニブタのナルシスト
性格はキムチで見た目は豚のエイリアンと救いようがないガンダム動物園の豚
今のトロフィー http://psnprofiles.com/YYY-X1