【Unity】2048のピース移動を考える
2019/10/1追記と一部修正
衝突判定を使ったピースの移動処理を作りましたが、
上手く行ったとは、喜べない状況になっております。
新しく、移動処理を考える必要が出てきたので、
非常に悩んでおります。(_ _ ??)/◇ ワカラン・・・
まず、2048のピース移動の条件を整理してみます。
・空きマスにはピースが移動できる
・隣あったピースが同数なら結合する
・隣あったピースが3枚なら移動方向の2つのみ結合する
・列に同じピースが4枚なら進行方向の先頭2枚と後ろ2枚が結合する
・結合後に出来たピースと後ろのピースが同じ番号でも結合しない
こんな感じでしょうか…
以下の条件でピースがどのようにして動くか考えてみます。
条件
・枠の左からポジションを0~3とする
・ピース移動は左へ移動する
実際にピースを置いて判別方法を考えてみます。
当然、左端なのでピースは動けません。
コードにすると
if(Position==0){停止}
続いて、
左に空きマスがあるので、動かす事ができます。
コードにすると
if(Position==1){
if(Position0==空きマス){移動}
}
しかし、ポジション0にピースが有った場合、
if(Position==1){
if(Position0==空きマス){移動}
else if{…