Picture Puzzle / Unity Project
PicturePuzzle
分割された画像のピースを2枚ずつ選び、位置を交換して元の画像へ戻すパズルです。 現在は9枚のピースを使い、シャッフル、選択、入れ替え、基本的な完成判定までを実装しています。
Overview
プロジェクト概要
Unity 6とC#を使用して制作中の学習プロジェクトです。 Sceneへ登録した各ピースの正解位置を保存し、開始時にランダムな2枚の位置交換を繰り返して配置を崩します。
- Status
- In Development
- Engine
- Unity 6(6000.2.13f1)
- Language
- C#
- Current Input
- マウス(Input System)
Current Implementation
現在実装している内容
正解位置の保存
ゲーム開始時に9枚のピースの座標を登録順に保存し、完成判定の基準として使用します。
ランダムシャッフル
2枚のピースをランダムに選んで位置を交換する処理を、Sceneで設定した回数だけ繰り返します。
クリック判定
マウスの画面座標をワールド座標へ変換し、2D Raycastでクリックしたピースを取得します。
2段階の選択
最初にクリックしたピースを保持し、次にクリックしたピースを2枚目として位置交換を実行します。
位置の入れ替え
片方の位置を一時保存してから2つのTransform.positionを交換し、選択状態をリセットします。
基本的な完成判定
すべてのピースが保存した正解位置と一致しているかを調べ、揃った場合は現在コンソールへ結果を出力します。
Code Structure
データと選択状態
- pieces
- Sceneに配置した9枚のピースを登録順に管理
- startPositions
- 各ピースの正解位置をpiecesと同じ順番で保持
- selectPiece
- 1枚目として選択中のピースを、2枚目が選ばれるまで保持
- IsClear
- 現在位置と正解位置を先頭から比較し、1枚でも違えば未完成と判定
Next Steps
今後実装したいこと
現在は処理の基礎を確認している段階です。 選択中のピースを見分ける表示、同じピースを選んだ場合の扱い、タッチ操作、画面上のクリア表示、リトライ機能を追加したいと考えています。