Picture Puzzle / Unity Project

PicturePuzzle

In Development

分割された画像のピースを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

今後実装したいこと

現在は処理の基礎を確認している段階です。 選択中のピースを見分ける表示、同じピースを選んだ場合の扱い、タッチ操作、画面上のクリア表示、リトライ機能を追加したいと考えています。