パズルゲームのクリア判定ロジックについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
山下

パズルゲームのクリア判定ロジックについて

#1

投稿記事 by 山下 » 8年前

下記のようなパズルゲームのクリア判定を研究しております。
https://itunes.apple.com/jp/app/rop/id970421850?mt=8

こちらは下のヘックスの移動できるオブジェクトだけ移動させて、
画面の上にある図形を、作っていくものとなります。

こちらとは少し違うのですが、ヘックスではなく
四角形の配列で同じような判定をしたいと考えております。

0→なにもなし
1~→書き順

みたいに管理して実装してみたのですが、
クリア判定が想像出来ません。

同じ場所に数値があったとしても、書き順によってクリアできるかが変わってしまいます。
また、番号が一致していなくても、書き順が正しかったらクリアできます。

以下のような場合はクリアになりません。

// 砂時計のような図形をイメージ
1,0,0,2
0,0,0,0
0,0,0,0
3,0,0,4

// 四角形
1,0,0,2
0,0,0,0
0,0,0,0
4,0,0,3

これだけでなく、仮に途中に変な数値が入っていてもクリア判定になることになります。
かなりわかりにくいのですが、下記AでもBでもクリアとしたいです。

// A:砂時計のような図形をイメージ
1,0,0,2
0,5,0,0
0,0,0,0
3,0,0,4

// B:砂時計のような図形をイメージ
1,0,0,2
0,0,0,0
0,3,0,0
4,0,0,5

こういったロジックってどうなっているのでしょうか?

ステージによってはオブジェクトが2つあることもあり、
管理の方法などお分かりになる方がおりましたら
アドバイス頂けないでしょうか。

アバター
Tatu
記事: 445
登録日時: 13年前
住所: 北海道

Re: パズルゲームのクリア判定ロジックについて

#2

投稿記事 by Tatu » 8年前

位置の情報を持つ点の構造体と
端の2点がどの点かという情報を持つ線分の構造体を使って
ここまでできましたが判定はよくわからないですね。
ライブラリはDXライブラリを使っています。
無題.png
無題.png (52.94 KiB) 閲覧数: 2644 回
1.全ての見本の線分がいくつかの線分で表現されていること
2.線分がすべて見本の線分の内部に含まれていること
この2つの条件を両方満たしていればクリアとみなしてよいのではないかと思っています。

アバター
Tatu
記事: 445
登録日時: 13年前
住所: 北海道

Re: パズルゲームのクリア判定ロジックについて

#3

投稿記事 by Tatu » 8年前

上に書いた条件での判定を実装してみました。
[youtube][/youtube]

山下

Re: パズルゲームのクリア判定ロジックについて

#4

投稿記事 by 山下 » 8年前

Tatu様

動画凄いですね!!ご想定の通りの処理です・・・。
こういう感じのを作りたいのですが、処理がわからなくて。。。
土日仕事の代休が明日からもらえるので、色々と試してみます。

閉鎖

“C言語何でも質問掲示板” へ戻る