トップページgamedev
49コメント16KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2006/09/29(金) 20:57:35ID:OF60b4X9
具体的に記せ
0002名前は開発中のものです。2006/09/29(金) 21:13:39ID:o0+DyFlu
>>1の思考ルーチンをおしえろ
0003名前は開発中のものです。2006/09/29(金) 21:29:08ID:9Nf3d9xi
全ての落とし方をしらべて一番いいのを選ぶ
ぷよでも同じ

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

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

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

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

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

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

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

>>25
ただゲームを続ければいいっていうなら>>4ので十分かもしれない。
でも特定の対戦ルールで勝つとか、時間やライン数に制限を設けての
スコアアタックをさせるほうが、作るほうも見てるほうも面白いと思う。
0028名前は開発中のものです。2006/10/31(火) 14:38:08ID:2o9uqj8Y
セガのテトリスは固定乱数
電源入れてから同じパターン
0029名前は開発中のものです。2006/12/08(金) 02:11:38ID:XqnIUOAs
テトリス・ザ・グランドマスターのシリーズで高い評価が出るようなプレイをさせたい
さてどうすればいいか
0030名前は開発中のものです。2006/12/10(日) 04:52:46ID:aJXqrfUl
将棋と違って先読みなんてほとんど無いし、絶対ゲームオーバーにならないCPUなんてすぐ作れそうだな。
0031名前は開発中のものです。2007/11/10(土) 22:41:36ID:w4SDRLpU
人間の俺がテトリスやるときは、なるべく、
・□形のブロックが来てもいいように平らな所を残しとく
・幅1・深さ2以上の穴を複数作らない(L形、J形、I形のブロックじゃないと埋めれない)
・4行消し狙いのときも、ある程度ブロックが高く積もってきたら、少し消す
ぐらいは考えてやってたなぁ。
0032名前は開発中のものです。2007/11/11(日) 14:37:30ID:jEV+9jtE
超高速で落とせば絶対人間には負けないと思う。
■ このスレッドは過去ログ倉庫に格納されています