ぷよぷよで強いAIってどうすんの?
■ このスレッドは過去ログ倉庫に格納されています
0146131
2012/07/07(土) 13:04:48.13フィールド読み込みの後、落下地点候補と仮フィールドという概念で実現できるよ
まず落下地点候補とは、単純に、各列ごとフィールドを下から上へ順に読み取って最初に空になった位置。
これはフィールドが確定した際に計算して求める。
たとえば、フィールドの下のほうがこんな感じになったとしたら、×が落下地点候補。(左から1,1,2,1,0,1)
2 ×
1 ××●× × ×:落下地点候補
0 ●●●●×● ●:色ぷよ(何色でもいい)
□□□□□□ □:下壁
次に仮フィールドとは確定したフィールドとは別に読み取ったフィールド全体のこと。
さて、実際に接地に関しての判定について。
まず、落下地点候補6つを監視しておいて、このいずれかの落下地点候補に色ぷよがきたら、仮接地状態として、落下地点候補は更新せず仮フィールドとして読み込む。
(なんで仮かっていうと、オンラインだとただ落下して左から3列目の落下候補地点で待機状態になることがあるし、オンラインでなければ移動中の操作時に一度落下候補地点に色ぷよが見えてから別の箇所に置いたなんてこともあるから)
そして、この仮接地状態になったら、次の点を監視する。
・落下候補地点の色ぷよに変化がないか。もし変化があった場合は仮フィールドを更新
・仮フィールドが更新された場合は落下を適用して、もし連鎖が起きるのであれば、連鎖の数字がでるかどうか。
・ツモが入れ替わるかどうか(ツモが入れ替わったかは簡単。自分の場合はネクネクが一度背景色になってから色ぷよになったら移動したと判断してる)
この仮接地状態の時、ツモが入れ替わった場合はこの仮フィールドに落下を適用したフィールドで接地確定する。
もし、このあと連鎖の数字が現れた場合は連鎖状態に移行する。
また、計算した連鎖のステータスで連鎖に関しての情報は確定できる。
計算で求めた連鎖数に達したら、相手の連鎖が終わったという判定もできるし、この連鎖状態中にツモが入れ替われば仮フィールドに連鎖を適用したあとのフィールドで確定できる。
あと操作に関しては後ほど書くから待ってw
■ このスレッドは過去ログ倉庫に格納されています