{"title":"5 Piece Puzzles","description":"\u003cp\u003eFive pieces gives a designer room to build a real sequence: a piece that has to go in first, another that only fits after a slide, a last one that needs everything else to be exactly right.\u003c\/p\u003e\u003ch2\u003eWhere to start\u003c\/h2\u003e\u003cp\u003e\u003ca href=\"\/ja\/products\/one-way-or-another-move-the-disc-corner-to-corner\"\u003eOne Way or Another\u003c\/a\u003e is rated Medium: five tray pieces and a disc you have to move from one corner to the other. The packing puzzles step up from there. \u003ca href=\"\/ja\/products\/galette\"\u003eGalette\u003c\/a\u003e packs five tetrominoes into a frame, and \u003ca href=\"\/ja\/products\/cubiz-puzzle\"\u003eCubiz\u003c\/a\u003e, \u003ca href=\"\/ja\/products\/minima-slider\"\u003eMINIMA Slider\u003c\/a\u003e and the \u003ca href=\"\/ja\/products\/xmas-stocking-puzzle-pack-5-n-pieces-in-box\"\u003eXmas Stocking Puzzle\u003c\/a\u003e each pack five pieces into a box. All are rated Hard.\u003c\/p\u003e\u003cp\u003e\u003ca href=\"\/ja\/products\/bonbon-puzzle\"\u003eBonBon\u003c\/a\u003e is the hardest packing puzzle here, rated Expert.\u003c\/p\u003e\u003cp\u003eThe five-piece TICs include \u003ca href=\"\/ja\/products\/fantastic-puzzle\"\u003eFantasTIC\u003c\/a\u003e and \u003ca href=\"\/ja\/products\/genetic-puzzle\"\u003eGeneTIC\u003c\/a\u003e, and \u003ca href=\"\/ja\/products\/lunatic-turning-interlocking-cube\"\u003eLunaTIC\u003c\/a\u003e is rated Expert.\u003c\/p\u003e\u003ch2\u003eFrequently Asked Questions\u003c\/h2\u003e\u003cdetails class=\"gp-faq\"\u003e\u003csummary\u003e\u003ch3\u003eAre five-piece puzzles harder than four-piece ones?\u003c\/h3\u003e\u003c\/summary\u003e\u003cdiv class=\"gp-faq__a\"\u003e\u003cp\u003eNot as a rule. Most puzzles in both collections are rated Hard. Difficulty depends on the design far more than on the count: 4L has four pieces and is rated Expert, while PackTIC 6 has five and is rated Medium.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\u003cdetails class=\"gp-faq\"\u003e\u003csummary\u003e\u003ch3\u003eWhat does 5+1 mean?\u003c\/h3\u003e\u003c\/summary\u003e\u003cdiv class=\"gp-faq__a\"\u003e\u003cp\u003eFive pieces plus a box, frame or tray. The extra part is not something you assemble, it is the space the pieces have to fit into, and it is usually what makes the puzzle hard.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e\u003cdetails class=\"gp-faq\"\u003e\u003csummary\u003e\u003ch3\u003eWhat is a TIC puzzle?\u003c\/h3\u003e\u003c\/summary\u003e\u003cdiv class=\"gp-faq__a\"\u003e\u003cp\u003eA Turning Interlocking Cube - or TIC - is a 3D mechanical puzzle where pieces must be rotated in a precise sequence to disassemble and reassemble a cube. What makes TIC puzzles special is that although every single one ends in the same shape, the sequence of moves to get there is completely different each time. Same cube. Totally different journey. Every TIC you pick up is a new challenge you haven't solved before.\u003c\/p\u003e\u003c\/div\u003e\u003c\/details\u003e","products":[{"product_id":"galette","title":"ガレット | テトロミノ5個をフレームに収めよう","description":"\u003cp\u003eガレットはシンプルな目標の3Dパズルです。5つのテトロミノピースすべてを箱の中に詰めます。しかし、シンプルな目標だからといって、簡単な解決策であるとは限りません。\u003c\/p\u003e\u003cp\u003eテトロミノピースは、4つのボクセル、つまり4つの立方体が結合してできています。\u003c\/p\u003e\u003cp\u003e開口部は2つあります。上部が広いものと、側面が小さいものです。\u003c\/p\u003e\u003cp\u003eしかし、この小さな制約がすべてを変えます。ピースが中に入るのを妨げるだけでなく、箱の中でのピースの経路も制限し、視界から隠してしまうのです。\u003c\/p\u003e\u003cp\u003eこのシンプルな追加が、ガレットをかなりの挑戦に変えます。解決できると思いますか？\u003c\/p\u003e\u003ch2\u003eパズルの仕様\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e難易度：\u003c\/strong\u003eハード\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eピース：\u003c\/strong\u003eテトロミノピース5個（各4ボクセル）\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e素材：\u003c\/strong\u003e3DプリントPLA\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e開口部：\u003c\/strong\u003e2つ（上部広、側面狭）\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e対象年齢：\u003c\/strong\u003e14歳以上\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eおすすめ用途：\u003c\/strong\u003eパズルギフト、デスク玩具、頭の体操\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch2\u003e誰におすすめ？\u003c\/h2\u003e\u003cp\u003eガレットは、数学愛好家、テトリスファン、パズルコレクターなど、クリーンなデザインに本物の難しい挑戦が隠されていることに価値を見出す人にとって完璧なギフトです。あらゆるパッキングパズルを見てきたと思っている人がいたら、これは彼らを驚かせるでしょう。デスクの上、棚の上、またはプレゼントのラッピングの下に置くのにぴったりです。\u003c\/p\u003e\u003ch2\u003eなぜそんなに難しいのか？\u003c\/h2\u003e\u003cp\u003e上部の開口部は十分に広く見えます。そして、最初の数個のピースにとっては確かにそうです。しかし、側面の開口部がルールを完全に変えます。特定のピースを狭い経路を通ることを強制するため、いつもの積み重ねの直感が機能しなくなります。上から完璧に収まるピースも、側面の制約がある場合は協力してくれません。3次元で考え、一度は却下した向きを再考し、すべての試みが「ほぼ」正しいように見えても忍耐強く続ける必要があります。「ほぼ」なんです。\u003c\/p\u003e\u003cp\u003e\u003cem\u003e山本長徳 デザイン\u003c\/em\u003e\u003cbr\u003eパズルのサイズは8.5 cm x 8.5 cm x 2.5 cmです\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e行き詰まる準備はできましたか？ガレットをカートに追加してください。\u003c\/strong\u003e\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":46500536615079,"sku":"GP-GALE","price":29.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/galette_marble.png?v=1782028494"},{"product_id":"bonbon-puzzle","title":"BonBon | 梱包パズル","description":"\u003cp\u003eボンボンはパズルの組み立てが難しいです。\u003c\/p\u003e\n\u003cp\u003eこのパズルは、すべてのピースが箱の中に収まり、飛び出さないようにするのが目標です。\u003c\/p\u003e\n\u003cp\u003e簡単そうに見えますが、見た目よりもはるかに難しいです。\u003c\/p\u003e\n\n\n\n\n\u003cp\u003eこのパズルの特徴とは？\u003c\/p\u003e\n\u003cp\u003e空間認識能力を高める\u003cbr\u003e3D問題解決\u003cbr\u003eオフラインで楽しめる\u003c\/p\u003e\n\n\u003cp\u003eフレデリック・ブーシェ作。\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":46754763309223,"sku":"GP-BONB","price":34.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/bonbon_marble.png?v=1782070991"},{"product_id":"elftic-puzzle","title":"ElfTICパズル | 回転式結合キューブ","description":"\u003ch2\u003eElfTIC - アンドリュー・クロウェルによる4x4x4回転式組木キューブ\u003c\/h2\u003e\u003cp\u003eElfTICは、TICパズルデザインの第一人者であるアンドリュー・クロウェルが設計した回転式組木キューブパズルです。目標はシンプルです。すべてのピースを組み合わせて4x4x4のキューブを完成させること。実際にそうすることは全く別の話ですが。\u003c\/p\u003e\u003ch2\u003eTICパズルとは？\u003c\/h2\u003e\u003cp\u003e回転式組木キューブ、略してTICとは、ピースが単純にスライドして出し入れするだけではない、組木パズルのようなものです。回転します。そのたった一つのひねりが、すべてを変えます。はまるはずだと思ったピースが、はまらない。うまくいくはずだと思った動きが、うまくいかない。TICパズルを機能させる幾何学構造こそが、それを解くことを非常に困難にしています。\u003c\/p\u003e\u003cp\u003e標準的な組木パズルは空間的思考を促しますが、TICパズルはそれをより深いレベルで要求します。単に各ピースの正しい位置を見つけるだけではありません。そこに到達するための正しい回転のシーケンスを見つけるのです。\u003c\/p\u003e\u003ch2\u003eElfTICが特別な理由\u003c\/h2\u003e\u003cp\u003eElfTICを組み立てるには\u003cstrong\u003e合計16手\u003c\/strong\u003eが必要です。最後のピースだけでも、正しく配置するのに\u003cstrong\u003e11手\u003c\/strong\u003eかかります。これは誤植ではありません。4x4x4のキューブのたった1つのピースに11手です。\u003c\/p\u003e\u003cp\u003e最後のピースこそがパズル全体です。最初のピースは忍耐と論理で進めることができますが、最後のピースが来ると、理解していたと思っていたすべてが試されます。解決への道は狭いです。一歩間違えれば、最初に戻ってしまいます。\u003c\/p\u003e\u003cp\u003eキューブのサイズは\u003cstrong\u003e60x60x60mm\u003c\/strong\u003eで、コンパクトで頑丈、そして手触りも満足のいくものです。組み立てられた状態で出荷されるため、分解する前に完成形を研究することができます。最初の分解もまた、解決の一部です。\u003c\/p\u003e\u003ch2\u003eElfTICは誰のため？\u003c\/h2\u003e\u003cp\u003eElfTICは、組木パズルが大好きで、真の奥深さを求めているパズル愛好家のために作られています。いくつかの標準的な組木パズルや組木キューブパズルを解いてみて、もっと多く、もっと複雑に、そして最終的にシーケンスがカチッと合ったときの特定の満足感を求めているなら、これが次のステップです。\u003c\/p\u003e\u003cp\u003eまた、TICパズルに特化した理想的な入門書でもあります。アンドリュー・クロウェルのデザインは正確で目的があります。ElfTICに偶然はありません。難易度は最初から組み込まれており、後から付け加えられたものではありません。\u003c\/p\u003e\u003ch2\u003eアンドリュー・クロウェル\u003c\/h2\u003e\u003cp\u003eアンドリュー・クロウェルは、回転式組木キューブで名声を築きました。彼のパズルは、エレガントなメカニズムと、自分が実行しているときでさえ驚くような動きのシーケンスで知られています。ElfTICは、彼の作品が収集する価値がある理由を強く示す例です。\u003c\/p\u003e\u003ch2\u003e所有する価値のあるパズル\u003c\/h2\u003e\u003cp\u003eElfTICは、どんな真剣なコレクションの中でも特別な位置を占めています。それは装飾的な埋め草でも、初心者向けのウォーミングアップでもありません。時間を費やすことで報われる、集中的でよくデザインされた挑戦です。TICパズルに興味があるなら、これはあなたの棚に置くべきです。\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":46858590322855,"sku":"GP-ELFT","price":29.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/elftic_marble.png?v=1782203749"},{"product_id":"fantastic-puzzle","title":"ファンタスティックパズル | 回転インターロッキングキューブ","description":"\u003ch2\u003e4x4x4の立方体にすべてのピースを収められますか？\u003c\/h2\u003e\u003cp\u003e簡単そうに聞こえます。しかし、そうではありません。\u003c\/p\u003e\u003cp\u003eFantasTICパズルは、ターニング・インターロッキング・キューブデザインの第一人者であるアンドリュー・クロウェルによって設計されました。彼の専門は、協力しそうに見えて協力しないパズルを構築することです。FantasTICはまさにその典型です。\u003c\/p\u003e\u003ch2\u003eあなたの目標\u003c\/h2\u003e\u003cp\u003eすべてのピースを組み合わせて、しっかりとした4x4x4の立方体を作ること。それだけです。目標はシンプルです。ピースはきれいで、立方体の形はおなじみで、すべてがただ...カチッと収まるように見えます。\u003c\/p\u003e\u003cp\u003eしかし、そうはいきません。\u003c\/p\u003e\u003ch2\u003e実際に解いてみるとどんな感じか\u003c\/h2\u003e\u003cp\u003eFantasTICが通常のインターロッキングキューブと異なる点は、ピースが回転することです。一方向に滑るだけではありません。明白ではない、いや、少しも明白ではない一連の動きを通して、回転させたり操作したりする必要があります。\u003c\/p\u003e\u003cp\u003eパズルは組み立てられた状態で出荷されるため、最初の仕事は分解することです。それだけでも何かを学ぶでしょう。どのように分解するか注意深く見てください。なぜなら、元に戻すのは全く別の挑戦だからです。\u003c\/p\u003e\u003cp\u003e解くための総手数は30手。その数は、最後のピースにたどり着くまで管理できそうに聞こえますが、最後のピースだけで7手かかります。最後のピースを所定の位置にはめるだけで7手です。近づいていると思うたびに、後戻りして考え直す必要があることに気づくでしょう。正しいと思われた動きが、3手後にあなたを妨げるでしょう。\u003c\/p\u003e\u003cp\u003eこれは力任せで解けるパズルではありません。先を読み、頭の中で手順を記憶し、たとえそれが正しい道だと確信できなくても、その道を進む覚悟が必要です。\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eこんな方におすすめ：\u003c\/strong\u003e 3Dインターロッキングパズルに慣れていて、単に忍耐力だけでなく、空間認識能力を本気で試したい経験豊富なパズル愛好家。\u003c\/p\u003e\u003ch2\u003e簡単なまとめ\u003c\/h2\u003e\u003cul\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003e難易度：\u003c\/strong\u003e 上級\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eピース：\u003c\/strong\u003e 複数の連結ピースが4x4x4の立方体を形成\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003e解決時間：\u003c\/strong\u003e 長時間のセッションを予想してください - 7手で最後のピースを収める30手解法は、長時間のプレイ警告に値します\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eサイズ：\u003c\/strong\u003e 60x60x60mm\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eデザイナー：\u003c\/strong\u003e アンドリュー・クロウェル\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\u003ch2\u003eよくある質問\u003c\/h2\u003e\u003ch3\u003eFantasTICパズルとは具体的に何ですか？\u003c\/h3\u003e\u003cp\u003eFantasTICはターニング・インターロッキング・キューブ（TIC）パズルです。ピースが直線的にスライドする標準的なインターロッキングパズルとは異なり、TICパズルは組み立てと分解に回転動作を必要とします。目標は、すべてのピースをコンパクトな4x4x4の立方体に収めることです。\u003c\/p\u003e\u003ch3\u003eどれくらい難しいですか？\u003c\/h3\u003e\u003cp\u003e本当に難しいです。30手解法と、最後のピースだけで必要な7手の手順は、これを上級レベルに位置づけます。いくつかインターロッキングパズルを解いてみて、簡単すぎると感じた方には、これは抵抗してくるでしょう。これが初めてのTICパズルであれば、本当の挑戦を期待してください。\u003c\/p\u003e\u003ch3\u003e良いプレゼントになりますか？\u003c\/h3\u003e\u003cp\u003eはい、適切な人になら。もしあなたのリストに、すでにメカニカルパズルやインターロッキングパズルを楽しんでいて、もっと本格的なものを探している人がいれば、FantasTICは強力な選択肢です。コンパクトで美しく作られており、解いた後もトロフィーとして棚に飾っておけるようなパズルです。カジュアルなパズル愛好家や初心者にとっては、楽しいというよりもイライラするかもしれません。\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":46858595401895,"sku":"GP-FANT","price":29.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/fantastic_marble.png?v=1782130487"},{"product_id":"genetic-puzzle","title":"GeneTICパズル | 連動する立方体を回す","description":"\u003cp\u003e\u003cstrong\u003e要約：\u003c\/strong\u003e GeneTICは、Andrew Crowellが設計した3DプリントのTurning Interlocking Cubeパズルです。目標：5つの連動するピースを分解し、再組み立てして4x4x4のキューブを完成させます。解決には26手かかり、TICシリーズの中でも特に手数の多いパズルです。難易度は高く、解決時間は1～4時間、ピースは5個、サイズは60x60x60mmです。対象：真に困難な空間的課題を求めており、素早い直感よりも、体系的で忍耐強い思考が報われるパズルを楽しめる経験豊富なパズル愛好家向けです。\u003c\/p\u003e\u003cp\u003eGeneTICは、Andrew Crowellが設計したTurning Interlocking Cubeパズルです。目標は単純です。すべてのピースを組み合わせて4x4x4のキューブを作ることです。しかし、実行は決して単純ではありません。組み立てられた状態でお届けします。まず分解してください。それがスタート地点です。\u003c\/p\u003e\u003ch2\u003eGeneTICの何が違うのか？\u003c\/h2\u003e\u003cp\u003eAndrew CrowellのTICシリーズの中で、GeneTICは一つの理由で際立っています。それは手数です。解決までに合計26手かかるため、ラインナップにある他のほとんどのパズルよりもあなたに多くのことを要求します。これは一晩で解決できるパズルではありません。持久力が試される課題です。一手一手が慎重に検討される必要があります。手順は長く、道筋は不明瞭で、最後のピースを正しく配置するだけでも7手が必要です。もし、より短いTICパズルを解いて物足りなさを感じたことがあるなら、GeneTICはその問いに対する答えとなるでしょう。\u003c\/p\u003e\u003ch2\u003e難易度と仕様\u003c\/h2\u003e\u003cul\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003e解決までの手数：\u003c\/strong\u003e合計26手（最後のピースに7手）\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003e難易度：\u003c\/strong\u003eハード\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eサイズ：\u003c\/strong\u003e60x60x60mm\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003e素材：\u003c\/strong\u003e3Dプリント\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eデザイナー：\u003c\/strong\u003eAndrew Crowell\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\u003ch2\u003eよくある質問\u003c\/h2\u003e\u003cp\u003e\u003cstrong\u003eGeneTICパズルとは何ですか？\u003c\/strong\u003e GeneTICはTurning Interlocking Cubeパズルです。5つの連動するピースを、正確な回転動作のシーケンスを使って4x4x4のキューブに組み立てる必要があります。Andrew Crowellによって設計され、解決には26手かかり、TICシリーズの中で最も複雑なパズルの一つです。\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eGeneTICパズルの難易度はどれくらいですか？\u003c\/strong\u003e 難易度はハードで、解決時間は1～4時間です。合計26手が必要なGeneTICは、エントリーレベルのTICパズルよりもかなり難しく、すでに中程度の難易度のインターロッキングキューブパズルを完成させた経験のあるパズル愛好家向けです。\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eTurning Interlocking Cubeパズルとは何ですか？\u003c\/strong\u003e Turning Interlocking Cube（TIC）は、ピースをスライドさせるだけでなく、回転させて連動させ、キューブを形成する必要があるメカニカルパズルです。回転動作がTICを標準的なインターロッキングパズルと区別する特徴です。\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":46858600284327,"sku":"GP-GENE","price":29.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/genetic_marble.png?v=1782130738"},{"product_id":"hypnotic-puzzle","title":"HypnoTIC Puzzle | 回転連動キューブ","description":"\u003ch2\u003eすべてのピースを4x4x4の立方体に収めることができますか？\u003c\/h2\u003e\u003cp\u003e一見すると簡単そうに聞こえます。ピースは4つ、立方体は1つ、目標も1つ。しかし、HypnoTICは簡単なパズルではありません。\u003c\/p\u003e\u003cp\u003eターニングインターロッキングキューブデザインの鋭い頭脳を持つアンドリュー・クロウェルによって設計されたHypnoTICは、その名に恥じません。ピースは、まるで催眠術にかかったかのように、ねじれたり回転したりします。正しいと思った動きをするたびに、他の何かがずれてしまいます。あと一歩で解決かと思うたびに、新しい問題が現れます。\u003c\/p\u003e\u003cp\u003e目標は単純明快です。すべてのピースをきれいな4x4x4の立方体に組み立てます。それだけです。前もって説明される仕掛けはありません。形に組み込まれたヒントもありません。あるのはあなたとピース、そして到達までに正確に17手かかる解決策だけです。そのうち4手は最後のピースのために確保されています。\u003c\/p\u003e\u003cp\u003eその最後のピースで、ほとんどの挑戦者は挫折します。\u003c\/p\u003e\u003cp\u003eどこに置くべきかは分かります。進むべき道も感じられます。しかし、すでに置いたものを邪魔することなく、正確な順序でそこへ到達させるのは、本当に難しいことです。TICパズルを特別なものにしている回転の仕組みは、HypnoTICを頑固にしている原因でもあります。ピースはただ滑り込むだけではありません。回転します。そして、それぞれの回転には結果が伴います。\u003c\/p\u003e\u003cp\u003eこれは力任せに解くパズルではありません。忍耐力、空間的思考、そして進捗を元に戻して別の角度からシーケンスをやり直す意欲が報われます。初めての挑戦者は、予想よりも多くの時間を費やすことがよくあります。それは欠点ではありません。それはデザインが意図したとおりに機能している証拠です。\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eこんな方におすすめ：\u003c\/strong\u003e 3D組み立てチャレンジを楽しみ、単に10分間時間を潰すだけでなく、空間認識能力を真に試されるものを求めるパズル愛好家。\u003c\/p\u003e\u003ch3\u003e簡単なまとめ\u003c\/h3\u003e\u003cul\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003e難易度：\u003c\/strong\u003e 挑戦的\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eピース数：\u003c\/strong\u003e 4\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003e解決時間：\u003c\/strong\u003e 予想よりも長くなります\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eサイズ：\u003c\/strong\u003e 60x60x60mm\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003e解決までの手数：\u003c\/strong\u003e 合計17手 – 最後のピースに4手\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eデザイナー：\u003c\/strong\u003e アンドリュー・クロウェル\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\u003ch3\u003eよくある質問\u003c\/h3\u003e\u003ch3\u003eHypnoTICとは？\u003c\/h3\u003e\u003cp\u003eHypnoTICは、アンドリュー・クロウェルによって設計されたターニングインターロッキングキューブパズルです。目標は、すべてのピースを4x4x4の立方体に組み立てることです。TICパズルである理由、そしてそれが難しい理由は、ピースがただ滑り込むだけでなく、回転することにあります。この回転の仕組みが、パズルの特徴と難易度を生み出しています。\u003c\/p\u003e\u003ch3\u003eどれくらい難しいですか？\u003c\/h3\u003e\u003cp\u003e見た目よりも難しいです。4つのピースと聞くと管理できそうですが、回転の仕組みが複雑さを加え、ほとんどの挑戦者を驚かせます。解決には正しい順序で17手が必要であり、最後のピースを正確に配置するには精密なセットアップが求められます。立方体がきれいに組み上がるまで、かなりの時間を費やすことを覚悟してください。\u003c\/p\u003e\u003ch3\u003eHypnoTICは良い贈り物になりますか？\u003c\/h3\u003e\u003cp\u003eはい、相手をよく知っていれば。すでにパズルを楽しんでいて、本格的な挑戦を求めている人には最適です。コンパクトで丁寧に作られており、解決後はディスプレイとして繰り返し楽しむ価値があります。もし、相手がすぐにイライラして諦めてしまうタイプなら、これは合わないかもしれません。しかし、適切な挑戦者にとっては、傑出した贈り物となるでしょう。\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":46858601726119,"sku":"GP-HYPN","price":29.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/hypnotic_marble.png?v=1782206426"},{"product_id":"mystic-puzzle","title":"MysTIC Puzzle | 回転連動キューブ","description":"\u003ch2\u003eMysTICとは？\u003c\/h2\u003e\u003cp\u003eMysTICは、回転してピースをはめ込むキューブパズル、つまりTurning Interlocking Cube（TIC）パズルの一種です。ピースがただスライドしたり積み重なったりするのではなく、回転して定位置にはまります。機械式パズルデザインで最も尊敬される人物の一人、アンドリュー・クロウェルによってデザインされたTICパズルは、「すべてのピースを4x4x4キューブに組み立てる」という、一見するとシンプルな目標を中心に構築されています。そのミソは、ピースが正確な回転動作の順序を経てかみ合うことです。順序を間違えると、行き詰まってしまいます。\u003c\/p\u003e\u003cp\u003eアンドリューのデザイン哲学は堅固です。すべての動きは意図的です。無駄なステップや偶然の当て推量はありません。MysTICは合計15手で、そのうち9手は最後のピースのためだけに必要なものです。これは、TICシリーズの中で最も親しみやすい入門点となります。考えさせるのに十分なほど挑戦的でありながら、もっとやりたくなるほど満足感があります。\u003c\/p\u003e\u003cp\u003eTICパズルを解いたことがない方は、ここから始めてください。手数は管理できるほど少ないですが、そのメカニズムには驚かされるでしょう。最後のピースがカチッとはまるあの瞬間？すべての回り道をする価値があります。\u003c\/p\u003e\u003ch2\u003e仕様と難易度\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e手数：\u003c\/strong\u003e合計15手（最後のピースに9手）\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eレベル：\u003c\/strong\u003e中級\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eサイズ：\u003c\/strong\u003e60x60x60mm\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e素材：\u003c\/strong\u003e3Dプリント\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e発送状態：\u003c\/strong\u003e分解済み\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch2\u003eもっと挑戦しませんか？\u003c\/h2\u003e\u003cp\u003eMysTICがカチッとはまったら、TICシリーズはさらに奥深くへと続きます。\u003ca href=\"\/ja\/products\/dectic-puzzle\"\u003eDecTIC\u003c\/a\u003eは4つのピースとより難しい手数順で複雑さを増します。\u003ca href=\"\/ja\/products\/genetic-puzzle\"\u003eGeneTIC\u003c\/a\u003eは5つのピースとより長い解法でさらに深く掘り下げます。どちらも同じ満足感のあるメカニズムに基づいて構築されており、より多くのことを解明する楽しみがあります。\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":46858603856039,"sku":"GP-MYST","price":29.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/mystic_marble.png?v=1782206653"},{"product_id":"skeptic-puzzle","title":"SkepTICパズル｜回転式連結キューブ","description":"\u003ch2\u003e4x4x4の立方体にすべてのピースを収めることができますか？\u003c\/h2\u003e\u003cp\u003e簡単なことのように聞こえますが、そうではありません。\u003c\/p\u003e\u003cp\u003eSkepTICは、Andrew Crowellが設計したTurning Interlocking Cubeパズルです。彼の専門はまさにこれです。つまり、うまくいくように見えても、予期せぬ動きを見つけるまで協力してくれないパズルです。\u003c\/p\u003e\u003cp\u003eあなたの目標は単純です。すべてのピースを4x4x4の立方体に収めることです。それだけです。ルールにトリックはありません。トリックはすべてピースの中にあります。\u003c\/p\u003e\u003ch2\u003e実際に解くときの感覚\u003c\/h2\u003e\u003cp\u003e正しいと思われる位置を見つけるでしょう。ピースは揃い、すべてが有望に見えます。しかし、1つのピースが別のピースをブロックし、振り出しに戻ります。それがSkepTICの体験です。これは、力ずくの抵抗であなたと戦うのではなく、論理で戦います。\u003c\/p\u003e\u003cp\u003e解決を完了するには合計21回の動きが必要です。そのうち12回の動きは最後のピースだけで行われます。これは誤植ではありません。最後のピースには12回の動きのシーケンスが必要です。つまり、他のすべてを完璧に配置しても、その経路を見つけていなければ完全に手詰まりになる可能性があります。\u003c\/p\u003e\u003cp\u003eほとんどの解答者は近づくでしょう。近づくことが、難しさの一部です。近づくことは、もうすぐそこまで来ているように感じられます。しかし、実際にはほとんどそうではありません。\u003c\/p\u003e\u003cp\u003e回転メカニズムが、TICパズルを標準のインターロッキングパズルと区別するものです。ピースは単にスライドしたり、はめ込まれたりするだけではありません。回転します。この回転がシーケンスを解除する方法であり、ほとんどの人が最初の数回の試行で見逃す点です。\u003c\/p\u003e\u003cp\u003eこれは力ずくで解くパズルではありません。位置ではなく、動きで考える必要があります。\u003c\/p\u003e\u003ch2\u003e最適：\u003c\/h2\u003e\u003cp\u003e本物の挑戦を求める経験豊富なパズル解答者向け。標準的なインターロッキングパズルを解き、実際に頭を使いたいのであれば、これが次のステップです。また、解答だけでなく、巧妙な機械設計を評価する人にも強くお勧めします。\u003c\/p\u003e\u003ch2\u003e簡単なまとめ\u003c\/h2\u003e\u003cul\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eタイプ：\u003c\/strong\u003eターニング・インターロッキング・キューブ（TIC）\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eデザイナー：\u003c\/strong\u003eアンドリュー・クロウェル\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003e難易度：\u003c\/strong\u003e上級\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003e解決までの総ムーブ数：\u003c\/strong\u003e21\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003e最後のピースのムーブ数：\u003c\/strong\u003e12\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003e解決時間：\u003c\/strong\u003e複数回のセッションを要する見込み\u003c\/li\u003e\n\n\u003cli\u003e\n\n\u003cstrong\u003eサイズ：\u003c\/strong\u003e60x60x60mm\u003c\/li\u003e\n\n\n\u003c\/ul\u003e\u003ch2\u003eよくある質問\u003c\/h2\u003e\u003ch3\u003eSkepTICパズルとは何ですか？\u003c\/h3\u003e\u003cp\u003eSkepTICは、アンドリュー・クロウェルがデザインしたターニング・インターロッキング・キューブパズルです。目標は、すべてのピースを4x4x4の立方体に収めることです。標準的なインターロッキングパズルとは異なり、ピースが回転します。これによりシーケンスが解除され、それが最初に思えるよりもはるかに難しい理由です。\u003c\/p\u003e\u003ch3\u003eどれくらい難しいですか？\u003c\/h3\u003e\u003cp\u003e難しいです。これは初心者向けのパズルではありません。解決には合計21手必要で、最後のピースだけで12手かかります。もしあなたがメカニカルパズル初心者なら、間違った意味でイライラするでしょう。経験があり、真の挑戦を求めているなら、期待に応えてくれるでしょう。\u003c\/p\u003e\u003ch3\u003eSkepTICは良い贈り物になりますか？\u003c\/h3\u003e\u003cp\u003eはい、適切な人になら。もしその人がすでにパズルが好きで、本当に試されるものを求めているなら、SkepTICは素晴らしい選択です。コンパクトでよくできており、解決するまで机の上に置いておきたくなるようなパズルです。この趣味に不慣れな人にとって最初のパズルとしてはお勧めできません。\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":46858606575783,"sku":"GP-SKEP","price":29.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/skeptic_marble.png?v=1782211596"},{"product_id":"xmas-stocking-puzzle-pack-5-n-pieces-in-box","title":"クリスマスストッキングパズル｜箱にN個のピースを5個入れる","description":"\u003cp\u003eXmas Stockingは、山本長徳氏によるミニマリストなパッキングパズルです。\u003c\/p\u003e\n\u003cp\u003e5つの同じNピースと箱を使って、穴が隠れるようにすべてのピースを箱の中に収める必要があります。\u003c\/p\u003e\n\u003cp\u003eこのパズルの優雅さは、同じピースと一見シンプルな箱から生まれます。山本長徳氏のパズルの中で最も難しいものではありませんが、解決するには集中力と思考力、そして想像力が必要です。\u003c\/p\u003e\n\u003cp\u003eサイズ：40mm X 55mm X 55mm\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":47305350021287,"sku":"GP-XMASSTOC","price":27.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/xmas_stocking_marble.png?v=1781971689"},{"product_id":"cubiz-puzzle","title":"Cubiz パズル | 5ピース入りボックス","description":"\u003cp\u003eCubizはシンプルに見えます。5つのピースと1つの箱。しかし、それらすべてを箱に収め、蓋がぴったり閉まるようにするには、予想以上に空間認識能力が試されます。\u003c\/p\u003e\u003cp\u003eあと一歩だと思わせるタイプのパズルです。しかし、実はそうではないことに気づかされます。\u003c\/p\u003e\u003ch2\u003e仕組み\u003c\/h2\u003e\u003cp\u003eCubizは詰め込みパズルです。あなたの目標は、5つのピースすべてを箱に収め、すべての隙間を埋め、上部の穴を完全に覆うことです。\u003c\/p\u003e\u003cp\u003e道具も説明書も不要です。ただあなたと、ピース、そして簡単に埋められるはずの箱があるだけです。\u003c\/p\u003e\u003cp\u003e課題は3Dの向きです。各ピースは、正確な位置と角度で配置する必要があります。初期段階で一つでも間違った判断をすると、最終的には何も収まりません。解決したと思った瞬間、一つピースが余り、置く場所がないことに気づくでしょう。\u003c\/p\u003e\u003cp\u003eそれがこのパズルです。最初からやり直しましょう。考え方を変えましょう。もう一度挑戦しましょう。\u003c\/p\u003e\u003ch2\u003eこんな方におすすめ\u003c\/h2\u003e\u003cp\u003e\u003cstrong\u003e空間認識力と詰め込みの挑戦を楽しむパズルファン。\u003c\/strong\u003e Cubizは、試行錯誤を超えた思考を報いてくれます。パーツを配置する前に全体を視覚化する必要があります。\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003e繰り返し挑戦したくなるデスクパズルを探しているギフト購入者。\u003c\/strong\u003e コンパクトで、手になじみやすく、一度始めたらやめられません。\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eFrederic Boucherのパズルコレクター。\u003c\/strong\u003e Cubizは、彼のデザインスタイルである、クリーンで一見シンプル、しかし容赦なく効果的であることの好例です。\u003c\/p\u003e\u003ch2\u003eなぜCubizなのか？\u003c\/h2\u003e\u003cp\u003eこのパズルは、お客様からの要望によって生まれました。Cubizは、gregpuzzlesコミュニティから生産を具体的に依頼されました。そのような需要は偶然に起こるものではありません。それは、パズルを知っている人々が、このパズルが作られることを望んでいたということです。\u003c\/p\u003e\u003cp\u003eそして今、それが実現しました。\u003c\/p\u003e\u003ch2\u003e仕様\u003c\/h2\u003e\u003cp\u003e\u003cstrong\u003eデザイナー:\u003c\/strong\u003e Frederic Boucher\u003cbr\u003e\u003cstrong\u003eピース:\u003c\/strong\u003e 5 + 箱\u003cbr\u003e\u003cstrong\u003eサイズ:\u003c\/strong\u003e 72 x 72 x 72mm\u003cbr\u003e\u003cstrong\u003e素材:\u003c\/strong\u003e 3Dプリント\u003cbr\u003e\u003cstrong\u003e難易度:\u003c\/strong\u003e 難しい\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":47889437556903,"sku":"GP-CUBI","price":30.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/cubiz_marble.png?v=1782069358"},{"product_id":"lunatic-turning-interlocking-cube","title":"LunaTIC | かみ合わせキューブ","description":"\u003cp\u003eLunaTICは、一見きちんとした小さなキューブに見えます。しかし、実際はそうではありません。分解するのは簡単ですが、元に戻すところから本当の混沌が始まります。\u003c\/p\u003e\n\u003cp\u003e目標：すべてのピースを分解し、完全な4x4x4キューブに再構築すること。\u003c\/p\u003e\n\u003cp\u003eTICパズルの達人であるアンドリュー・クロウェルによって設計されました。LunaTICは、ピースがただ滑るだけでなく、回転する彼の伝説的なインターロッキングキューブシリーズの一部です。\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eLunaTICの特別な点とは？\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e単にスライドさせるだけでなく、回転する動きが必要\u003c\/li\u003e\n\u003cli\u003e高度な3D空間思考力を養う\u003c\/li\u003e\n\u003cli\u003e最終的にカチッとはまった時の深い満足感\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eデザイン：アンドリュー・クロウェル\u003c\/p\u003e\n\u003cp\u003eサイズ：60x60x60mm\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":50049157988519,"sku":"GP-LUNA","price":29.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/lunatic_marble.png?v=1782123153"},{"product_id":"twistic-turning-interlocking-cube","title":"TwisTIC | ツイスティック・ターニングインターロッキングキューブ","description":"\u003cp\u003eTwisTICはしっかりとした立方体に見えます。しかし、そうではありません。パーツはねじれて、かみ合い、なかなか協調しませんが、突然うまくいく瞬間が訪れます。\u003c\/p\u003e\n\u003cp\u003e目的：すべてのピースを組み立てて3x3x3の立方体にする。分解された状態でお届けします。\u003c\/p\u003e\n\u003cp\u003e分解された状態でお届けします。\u003c\/p\u003e\n\u003cp\u003eターニング・インターロッキング・キューブの達人、アンドリュー・クロウェル氏が設計しました。ねじれる機構が、このキューブを特別なものにしています。\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eTwisTICの特別な点とは？\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eユニークなねじれるインターロッキング機構\u003c\/li\u003e\n\u003cli\u003e3D空間思考能力を養う\u003c\/li\u003e\n\u003cli\u003e解けたときの満足感と驚き\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eAndrew Crowell デザイン\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":50049193607335,"sku":"GP-TWIS","price":29.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/twistic_marble.png?v=1782125170"},{"product_id":"minima-slider","title":"MINIMA スライダー | 5個入りパック","description":"\u003cp\u003e橋本康弘氏による受賞パズル「Diagonal Twins」を解いたフレデリック・ブーシェ氏は、同じアイデアを用いたMINIMAを制作するきっかけを得ました。このメカニカルなコンセプトにより、フレデリック氏はMINIMAシリーズに、Greg Puzzlesで世界初公開となる、新しく異例な挑戦を生み出しました。\u003c\/p\u003e\n\u003cp\u003e目的：5つのピースを箱の中に詰めます。\u003c\/p\u003e\n\u003cp\u003e正解は1つだけです。\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eMINIMA Sliderの特別な点とは？\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\n\u003cli\u003e愛されているMINIMAシリーズの全く新しいコンセプト\u003c\/li\u003e\n\n\u003cli\u003e満足感のある触覚メカニズム\u003c\/li\u003e\n\n\u003cli\u003e見事なディスプレイピース\u003c\/li\u003e\n\n\n\u003c\/ul\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":50831823896743,"sku":"GP-MINISLID","price":34.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/minima_slider_marble.png?v=1781965342"},{"product_id":"packtic-6","title":"PackTIC 6｜回転組木キューブ","description":"\u003cp\u003eFive pieces, the fewest in the series. Still fifteen moves to place them.\u003c\/p\u003e\n\u003cp\u003eGoal: pack all 5 pieces into the frame to build a complete cube.\u003c\/p\u003e\n\u003cp\u003eRequires 15 moves. Ships assembled.\u003c\/p\u003e\n\u003cp\u003eEvery PackTIC is a Turning Interlocking Cube, so the pieces have to be rotated into place rather than simply pushed. What the series adds is the frame: Andrew describes each one as needing rotations, sliding moves, and thought as to where all the pieces go inside the frame piece.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWhat's special about PackTIC 6?\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eRotations and sliding moves, not just straight assembly\u003c\/li\u003e\n\u003cli\u003e5 pieces, 15 moves to solve\u003c\/li\u003e\n\u003cli\u003eBuilds serious 3D spatial reasoning\u003c\/li\u003e\n\u003cli\u003ePart of the 10-puzzle PackTIC series\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eTied for the fewest pieces in the series. Fewer pieces also means fewer clues about where each one goes.\u003c\/p\u003e\n\u003cp\u003eGoing for the whole series? The \u003ca href=\"\/ja\/products\/packtic-collection\"\u003ePackTIC Collection\u003c\/a\u003e has all 10 - buy 9, get 1 free.\u003c\/p\u003e\n\u003cp\u003eDesigned by \u003ca href=\"\/ja\/collections\/andrew-crowell\"\u003eAndrew Crowell\u003c\/a\u003e.\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":51482690846887,"sku":null,"price":29.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/packtic_6___pack_6_pieces_into_a_cube_marble.png?v=1791466069"},{"product_id":"packtic-7","title":"PackTIC 7｜回転組木キューブ","description":"\u003cp\u003eFive pieces, nineteen moves, graded Hard. Small does not mean simple here.\u003c\/p\u003e\n\u003cp\u003eGoal: pack all 5 pieces into the frame to build a complete cube.\u003c\/p\u003e\n\u003cp\u003eRequires 19 moves. Ships assembled.\u003c\/p\u003e\n\u003cp\u003eEvery PackTIC is a Turning Interlocking Cube, so the pieces have to be rotated into place rather than simply pushed. What the series adds is the frame: Andrew describes each one as needing rotations, sliding moves, and thought as to where all the pieces go inside the frame piece.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWhat's special about PackTIC 7?\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eRotations and sliding moves, not just straight assembly\u003c\/li\u003e\n\u003cli\u003e5 pieces, 19 moves to solve\u003c\/li\u003e\n\u003cli\u003eBuilds serious 3D spatial reasoning\u003c\/li\u003e\n\u003cli\u003ePart of the 10-puzzle PackTIC series\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eFive pieces and a Hard grade - the hardest of the two smallest puzzles in the series.\u003c\/p\u003e\n\u003cp\u003eGoing for the whole series? The \u003ca href=\"\/ja\/products\/packtic-collection\"\u003ePackTIC Collection\u003c\/a\u003e has all 10 - buy 9, get 1 free.\u003c\/p\u003e\n\u003cp\u003eDesigned by \u003ca href=\"\/ja\/collections\/andrew-crowell\"\u003eAndrew Crowell\u003c\/a\u003e.\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":51482698383527,"sku":null,"price":29.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/packtic_7___turning_interlocking_cube_pa_marble.png?v=1791466200"},{"product_id":"one-way-or-another-move-the-disc-corner-to-corner","title":"One Way or Another | Move the Disc Corner to Corner","description":"\u003cdiv class=\"gpow\"\u003e\n\u003cstyle\u003e\n.gpow{--fg:rgb(var(--color-foreground,18,18,18));\n --line:rgba(var(--color-foreground,18,18,18),.14);\n --muted:rgba(var(--color-foreground,18,18,18),.64);--accent:#02A9F7;\n font-family:var(--font-body-family,inherit);margin:2.4rem 0;max-width:46rem}\n.gpow *{box-sizing:border-box}\n.gpow h3{font-family:var(--font-heading-family,inherit);font-size:1.9rem;\n line-height:1.3;margin:0 0 .5rem;color:var(--fg)}\n.gpow p{font-size:1.45rem;line-height:1.65;margin:0 0 1.1rem;color:var(--muted);max-width:60ch}\n.gpow #owPhase{font-size:1.15rem;letter-spacing:.04em;color:var(--muted);margin-bottom:.4rem}\n.gpow #owBoard{width:100%;max-width:34rem}\n.gpow #owBoard svg{display:block;width:100%;height:auto;\n \/* The player sets touch-action:none inline because a dedicated page wants\n    full control. On a product page a finger landing here must still scroll,\n    so this overrides it: horizontal drags work, vertical ones scroll past,\n    and the whole puzzle is playable by tapping either way. *\/\n touch-action:pan-y !important}\n\/* iOS: no grey flash on every tap, no text selection while dragging a piece,\n   and no callout menu when a finger rests on the board *\/\n.gpow #owBoard,.gpow #owTray,.gpow .ctl button{-webkit-tap-highlight-color:transparent;\n -webkit-touch-callout:none;-webkit-user-select:none;user-select:none}\n.gpow .row{display:flex;gap:1.2rem;align-items:flex-start;flex-wrap:wrap;margin-top:.9rem}\n.gpow #owTray{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;padding:.7rem .8rem;\n border:1px solid var(--line);border-radius:7px;min-height:3.6rem;min-width:12rem}\n.gpow #owTray .empty{font-size:1.2rem;color:var(--muted)}\n.gpow .ctl{display:flex;gap:.5rem;flex-wrap:wrap}\n.gpow .ctl button{appearance:none;border:1px solid var(--line);background:transparent;\n color:var(--muted);font-family:inherit;font-size:1.2rem;padding:.55rem 1.1rem;\n border-radius:5px;cursor:pointer}\n.gpow .ctl button:hover{border-color:var(--accent);color:var(--fg)}\n.gpow .ctl button:disabled{opacity:.38;cursor:default}\n.gpow .ctl button:disabled:hover{border-color:var(--line);color:var(--muted)}\n.gpow #owSay{font-size:1.3rem;color:var(--muted);min-height:2rem;margin-top:.7rem}\n\u003c\/style\u003e\n\u003ch3\u003eTry it before you buy it\u003c\/h3\u003e\n\u003cp\u003ePack the four pieces in so the disc keeps its corner, then move the disc to the far\ncorner. Pieces push each other, so sliding one can shove the next along. Plenty of packings\nfit the tray. Far fewer leave the disc anywhere to go, and that is the whole puzzle.\u003c\/p\u003e\n\u003cp\u003eTap a piece to pick it up, then tap a square to nudge it that way. Dragging works too,\nand so do the arrow keys.\u003c\/p\u003e\n\u003cdiv id=\"owPhase\"\u003e\u003c\/div\u003e\n\u003cdiv id=\"owBoard\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"row\"\u003e\n  \u003cdiv id=\"owTray\"\u003e\u003c\/div\u003e\n  \u003cdiv class=\"ctl\"\u003e\n    \u003cbutton type=\"button\" id=\"owRotate\"\u003eRotate\u003c\/button\u003e\n    \u003cbutton type=\"button\" id=\"owFlip\"\u003eFlip\u003c\/button\u003e\n    \u003cbutton type=\"button\" id=\"owTake\"\u003eTake out\u003c\/button\u003e\n    \u003cbutton type=\"button\" id=\"owUnpack\"\u003eEmpty the tray\u003c\/button\u003e\n    \u003cbutton type=\"button\" id=\"owReset\"\u003eStart over\u003c\/button\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv id=\"owSay\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cscript\u003e\n(function(){\nvar D={\"w\":5,\"h\":4,\"order\":[\"tromino\",\"square\",\"tee\",\"ell\"],\"shapes\":{\"tromino\":[[0,0],[0,1],[1,0]],\"square\":[[0,0],[0,1],[1,0],[1,1]],\"tee\":[[0,0],[0,1],[0,2],[1,1]],\"ell\":[[0,0],[1,0],[2,0],[2,1]]},\"start\":[0,0],\"goal\":[3,4],\"packs\":[[[[0,2],[0,3],[1,2]],[[2,1],[2,2],[3,1],[3,2]],[[0,4],[1,3],[1,4],[2,4]],[[1,0],[1,1],[2,0],[3,0]]],[[[0,2],[0,3],[1,2]],[[2,1],[2,2],[3,1],[3,2]],[[1,4],[2,3],[2,4],[3,4]],[[1,0],[1,1],[2,0],[3,0]]],[[[0,2],[0,3],[1,2]],[[2,2],[2,3],[3,2],[3,3]],[[0,4],[1,3],[1,4],[2,4]],[[1,0],[1,1],[2,0],[3,0]]],[[[0,3],[0,4],[1,3]],[[2,1],[2,2],[3,1],[3,2]],[[1,4],[2,3],[2,4],[3,4]],[[1,0],[1,1],[2,0],[3,0]]],[[[2,2],[3,1],[3,2]],[[0,1],[0,2],[1,1],[1,2]],[[1,0],[2,0],[2,1],[3,0]],[[0,4],[1,4],[2,3],[2,4]]],[[[2,2],[3,1],[3,2]],[[0,1],[0,2],[1,1],[1,2]],[[1,0],[2,0],[2,1],[3,0]],[[1,4],[2,4],[3,3],[3,4]]],[[[2,2],[3,1],[3,2]],[[0,2],[0,3],[1,2],[1,3]],[[1,0],[2,0],[2,1],[3,0]],[[0,4],[1,4],[2,3],[2,4]]],[[[2,2],[3,1],[3,2]],[[0,2],[0,3],[1,2],[1,3]],[[1,0],[2,0],[2,1],[3,0]],[[1,4],[2,4],[3,3],[3,4]]]]};\n\/* ---------- One Way or Another: pack, then slide ---------- *\/\n(function(){\nvar W=D.w, H=D.h, ORDER=D.order, SHAPES=D.shapes;\nvar START=D.start, GOAL=D.goal, S=10;\nvar slideFrom=null;         \/* where the disc stood when the last piece went in *\/\nvar $=function(i){return document.getElementById(i);};\nvar NS=\"http:\/\/www.w3.org\/2000\/svg\";\nvar phase=\"pack\", placed={}, shapeOf={}, tray={}, disc=null, msg=\"\";\nvar drag=null, svgEl=null, picked=null;\nvar COL={tromino:\"#2E93C4\",square:\"#17678F\",tee:\"#4FAAD0\",ell:\"#0F4D69\"};\nvar LIGHT={tromino:\"#58B3DD\",square:\"#2E88B2\",tee:\"#78C6E4\",ell:\"#2A6E8E\"};\n\nfunction norm(cs){\n  var r0=Math.min.apply(null,cs.map(function(c){return c[0];}));\n  var c0=Math.min.apply(null,cs.map(function(c){return c[1];}));\n  return cs.map(function(c){return [c[0]-r0,c[1]-c0];});\n}\nfunction rotate(cs){ return norm(cs.map(function(c){ return [c[1],-c[0]]; })); }\nfunction flipped(cs){ return norm(cs.map(function(c){ return [c[0],-c[1]]; })); }\nfunction occupied(skip){\n  var o={};\n  for(var k in placed){\n    if(k===skip) continue;\n    placed[k].forEach(function(c){ o[c[0]+\",\"+c[1]]=k; });\n  }\n  if(disc \u0026\u0026 skip!==\"disc\") o[disc[0]+\",\"+disc[1]]=\"disc\";\n  return o;\n}\nfunction inside(cs){\n  return cs.every(function(c){ return c[0]\u003e=0\u0026\u0026c[0]\u003cH\u0026\u0026c[1]\u003e=0\u0026\u0026c[1]\u003cW; });\n}\nfunction fits(name,cells){\n  if(!inside(cells)) return false;\n  var occ=occupied(name);\n  for(var i=0;i\u003ccells.length;i++) if(occ[cells[i][0]+\",\"+cells[i][1]]) return false;\n  return true;\n}\nfunction reset(){\n  phase=\"pack\"; placed={}; shapeOf={}; disc=START.slice(); drag=null; picked=null;\n  slideFrom=null;\n  tray={}; ORDER.forEach(function(n){ tray[n]=SHAPES[n].map(function(c){return c.slice();}); });\n  msg=\"Click a piece then click the tray, or just drag it in. The disc moves too - drag it, or click it and click where it should go.\";\n  draw();\n}\nfunction packed(){ return ORDER.every(function(n){ return !!placed[n]; }); }\nfunction atGoal(p){ return p[0]===GOAL[0] \u0026\u0026 p[1]===GOAL[1]; }\nfunction setDisc(p){\n  disc=[p[0],p[1]];\n  \/* leaving the target square gives the disc a run to make, so a player who\n     packed with it already home only has to move it off and bring it back *\/\n  if(phase===\"slide\" \u0026\u0026 !atGoal(disc)) slideFrom=disc.slice();\n}\n\/* The disc roams while you pack, so parking it on the far square and then\n   packing around it is not a solved puzzle - it still has to make the trip. *\/\nfunction won(){ return phase===\"slide\" \u0026\u0026 atGoal(disc) \u0026\u0026 !atGoal(slideFrom||START); }\n\n\/* ---------- solid outlines ---------- *\/\nfunction outline(cells){\n  \/* Draw the piece as one shape. Rendering cell by cell left seams across the\n     middle of every piece, which made them hard to read as single objects. *\/\n  var has={}; cells.forEach(function(c){ has[c[0]+\",\"+c[1]]=1; });\n  var seg=[];\n  cells.forEach(function(c){\n    var r=c[0], k=c[1];\n    if(!has[(r-1)+\",\"+k]) seg.push([[k,r],[k+1,r]]);\n    if(!has[(r+1)+\",\"+k]) seg.push([[k,r+1],[k+1,r+1]]);\n    if(!has[r+\",\"+(k-1)]) seg.push([[k,r],[k,r+1]]);\n    if(!has[r+\",\"+(k+1)]) seg.push([[k+1,r],[k+1,r+1]]);\n  });\n  return seg;\n}\nfunction loops(cells){\n  \/* Chain the boundary segments into closed rings. A single path per piece is\n     what lets the corners round and the shadow sit under the whole shape,\n     instead of each cell being its own little square. *\/\n  var segs=outline(cells).map(function(e){ return [e[0].slice(),e[1].slice()]; });\n  var out=[];\n  while(segs.length){\n    var ring=[segs[0][0],segs[0][1]]; segs.splice(0,1);\n    var guard=0;\n    while(guard++\u003c400){\n      var head=ring[ring.length-1], found=-1;\n      for(var i=0;i\u003csegs.length;i++){\n        if(segs[i][0][0]===head[0]\u0026\u0026segs[i][0][1]===head[1]){ ring.push(segs[i][1]); found=i; break; }\n        if(segs[i][1][0]===head[0]\u0026\u0026segs[i][1][1]===head[1]){ ring.push(segs[i][0]); found=i; break; }\n      }\n      if(found\u003c0) break;\n      segs.splice(found,1);\n      var a=ring[0], b=ring[ring.length-1];\n      if(a[0]===b[0]\u0026\u0026a[1]===b[1]){ ring.pop(); break; }\n    }\n    if(ring.length\u003e2) out.push(ring);\n  }\n  return out;\n}\nfunction roundedPath(ring,r){\n  \/* walk the ring, cutting each corner with a quadratic *\/\n  var d=\"\", n=ring.length;\n  for(var i=0;i\u003cn;i++){\n    var p0=ring[(i-1+n)%n], p1=ring[i], p2=ring[(i+1)%n];\n    var v1=[p1[0]-p0[0],p1[1]-p0[1]], v2=[p2[0]-p1[0],p2[1]-p1[1]];\n    var l1=Math.hypot(v1[0],v1[1])||1, l2=Math.hypot(v2[0],v2[1])||1;\n    var rr=Math.min(r,l1\/2,l2\/2);\n    var a=[p1[0]-v1[0]\/l1*rr, p1[1]-v1[1]\/l1*rr];\n    var b=[p1[0]+v2[0]\/l2*rr, p1[1]+v2[1]\/l2*rr];\n    d += (i===0 ? \"M\"+a[0].toFixed(2)+\" \"+a[1].toFixed(2)\n                : \"L\"+a[0].toFixed(2)+\" \"+a[1].toFixed(2));\n    d += \"Q\"+p1[0].toFixed(2)+\" \"+p1[1].toFixed(2)+\" \"+b[0].toFixed(2)+\" \"+b[1].toFixed(2);\n  }\n  return d+\"Z\";\n}\nfunction svg(t,a){ var e=document.createElementNS(NS,t);\n  for(var k in a) e.setAttribute(k,a[k]); return e; }\nfunction pieceNode(name,cells,opts){\n  var g=svg(\"g\",{style:\"cursor:grab;touch-action:none\"});\n  g.setAttribute(\"data-p\",name);\n  var rings=loops(cells).map(function(ring){\n    return roundedPath(ring.map(function(p){ return [p[0]*S,p[1]*S]; }), S*0.17);\n  });\n  var d=rings.join(\" \");\n  if(!opts.ghost){\n    g.appendChild(svg(\"path\",{d:d,fill:\"rgba(18,32,40,.22)\",transform:\"translate(0.5,0.9)\",\n      filter:\"url(#owSoft)\"}));\n  }\n  g.appendChild(svg(\"path\",{d:d,fill:\"url(#ow_\"+name+\")\",\n    \"fill-opacity\":opts.ghost?\".45\":\"1\",\n    stroke:opts.bad?\"#C2544C\":(opts.sel?\"#0B7FA8\":\"rgba(10,26,34,.42)\"),\n    \"stroke-width\":opts.sel?\"1.1\":\".45\",\"stroke-linejoin\":\"round\"}));\n  if(!opts.ghost){\n    g.appendChild(svg(\"path\",{d:d,fill:\"none\",stroke:\"rgba(255,255,255,.34)\",\n      \"stroke-width\":\".5\",\"stroke-linejoin\":\"round\",transform:\"translate(0,0.45)\",\n      \"clip-path\":\"url(#owClip_\"+name+\")\"}));\n  }\n  return g;\n}\n\/* ---------- drawing ---------- *\/\nfunction syncButtons(){\n  var t=$(\"owTake\");\n  if(t) t.disabled = !(phase===\"slide\" \u0026\u0026 picked \u0026\u0026 placed[picked]);\n}\nfunction draw(){\n  var s=svg(\"svg\",{viewBox:(-PAD)+\" \"+(-PAD)+\" \"+(W*S+PAD*2)+\" \"+(H*S+PAD*2),\n    width:\"100%\",height:\"100%\",style:\"touch-action:none\"});\n  var defs=svg(\"defs\",{});\n  var grads=\"\";\n  for(var nm in COL){\n    grads+='\u003clinearGradient id=\"ow_'+nm+'\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\"\u003e'\n      +'\u003cstop offset=\"0\" stop-color=\"'+LIGHT[nm]+'\"\/\u003e'\n      +'\u003cstop offset=\"1\" stop-color=\"'+COL[nm]+'\"\/\u003e\u003c\/linearGradient\u003e';\n  }\n  defs.innerHTML=grads\n    +'\u003cfilter id=\"owSoft\" x=\"-20%\" y=\"-20%\" width=\"140%\" height=\"140%\"\u003e'\n    +'\u003cfeGaussianBlur stdDeviation=\"0.5\"\/\u003e\u003c\/filter\u003e'\n    +'\u003cfilter id=\"owGrain\" x=\"0\" y=\"0\" width=\"100%\" height=\"100%\"\u003e'\n    +'\u003cfeTurbulence type=\"fractalNoise\" baseFrequency=\"0.9\" numOctaves=\"3\" seed=\"4\"\/\u003e'\n    +'\u003cfeColorMatrix type=\"saturate\" values=\"0\"\/\u003e'\n    +'\u003cfeComponentTransfer\u003e\u003cfeFuncA type=\"discrete\" tableValues=\"0 0 0 0 .5\"\/\u003e'\n    +'\u003c\/feComponentTransfer\u003e\u003c\/filter\u003e'\n    +'\u003cradialGradient id=\"owDisc\" cx=\"0.35\" cy=\"0.3\" r=\"0.8\"\u003e'\n    +'\u003cstop offset=\"0\" stop-color=\"#3E63D8\"\/\u003e\u003cstop offset=\"1\" stop-color=\"#15308C\"\/\u003e'\n    +'\u003c\/radialGradient\u003e';\n  s.appendChild(defs);\n  \/* the tray: a speckled rim with a recessed floor, like the printed one *\/\n  s.appendChild(svg(\"rect\",{x:-PAD,y:-PAD,width:W*S+PAD*2,height:H*S+PAD*2,rx:\"3\",fill:\"#EDEAE3\"}));\n  s.appendChild(svg(\"rect\",{x:-PAD,y:-PAD,width:W*S+PAD*2,height:H*S+PAD*2,rx:\"3\",\n    fill:\"#8A8275\",\"fill-opacity\":\".5\",filter:\"url(#owGrain)\"}));\n  s.appendChild(svg(\"rect\",{x:-0.6,y:-0.6,width:W*S+1.2,height:H*S+1.2,rx:\"1.6\",\n    fill:\"#F6F4EF\",stroke:\"rgba(80,74,64,.30)\",\"stroke-width\":\".5\"}));\n  s.appendChild(svg(\"rect\",{x:-0.6,y:-0.6,width:W*S+1.2,height:H*S+1.2,rx:\"1.6\",\n    fill:\"#8A8275\",\"fill-opacity\":\".28\",filter:\"url(#owGrain)\"}));\n  s.appendChild(svg(\"rect\",{x:GOAL[1]*S+1.4,y:GOAL[0]*S+1.4,width:S-2.8,height:S-2.8,rx:\"1.4\",\n    fill:\"none\",stroke:\"#0B7FA8\",\"stroke-opacity\":\".75\",\"stroke-width\":\".65\",\n    \"stroke-dasharray\":\"1.8 1.4\"}));\n  ORDER.forEach(function(n){\n    if(!placed[n]) return;\n    if(drag\u0026\u0026drag.name===n\u0026\u0026drag.live) return;      \/* drawn as the ghost instead *\/\n    s.appendChild(pieceNode(n,placed[n],{sel:picked===n}));\n  });\n  if(disc \u0026\u0026 !(drag\u0026\u0026drag.name===\"disc\"\u0026\u0026drag.live)){\n    s.appendChild(svg(\"circle\",{cx:disc[1]*S+S\/2+0.5,cy:disc[0]*S+S\/2+0.9,r:S*0.36,\n      fill:\"rgba(18,32,40,.26)\",filter:\"url(#owSoft)\",\"pointer-events\":\"none\"}));\n    var d=svg(\"circle\",{cx:disc[1]*S+S\/2,cy:disc[0]*S+S\/2,r:S*0.36,\n      fill:\"url(#owDisc)\",stroke:picked===\"disc\"?\"#0B7FA8\":\"rgba(8,20,60,.5)\",\n      \"stroke-width\":picked===\"disc\"?\".9\":\".4\",style:\"cursor:pointer\"});\n    d.setAttribute(\"data-p\",\"disc\");\n    d.setAttribute(\"style\",\"touch-action:none\");\n    s.appendChild(d);\n    \/* the sheen is decoration: it must not swallow the click meant for the disc *\/\n    s.appendChild(svg(\"ellipse\",{cx:disc[1]*S+S\/2-S*0.1,cy:disc[0]*S+S\/2-S*0.13,\n      rx:S*0.15,ry:S*0.09,fill:\"rgba(255,255,255,.28)\",\"pointer-events\":\"none\"}));\n  }\n  if(drag\u0026\u0026drag.live){\n    if(drag.name===\"disc\"){\n      var dc=(drag.cells\u0026\u0026drag.cells[0])||disc;\n      s.appendChild(svg(\"circle\",{cx:dc[1]*S+S\/2,cy:dc[0]*S+S\/2,r:S*0.36,\n        fill:\"#1B3FAE\",\"fill-opacity\":\".78\",stroke:\"#0B7FA8\",\"stroke-width\":\".7\"}));\n    } else {\n      s.appendChild(pieceNode(drag.name,drag.cells,{ghost:true,bad:!drag.ok,sel:true}));\n    }\n  }\n  svgEl=s;\n  $(\"owBoard\").innerHTML=\"\"; $(\"owBoard\").appendChild(s);\n  wire(s);\n  syncButtons();\n  drawTray();\n  $(\"owSay\").textContent = won()? \"The disc is across. That is the whole puzzle.\" : msg;\n  $(\"owPhase\").textContent = phase===\"pack\" ? \"Step one: pack the tray\"\n                                            : \"Step two: move the disc\";\n}\nfunction drawTray(){\n  var box=$(\"owTray\"); box.innerHTML=\"\";\n  ORDER.forEach(function(n){\n    if(!tray[n]) return;\n    var cs=tray[n];\n    var hh=Math.max.apply(null,cs.map(function(c){return c[0];}))+1;\n    var ww=Math.max.apply(null,cs.map(function(c){return c[1];}))+1;\n    var s=svg(\"svg\",{viewBox:\"-.6 -.6 \"+(ww*S+1.2)+\" \"+(hh*S+1.2),\n      width:(ww*19)+\"px\",height:(hh*19)+\"px\",style:\"cursor:grab;touch-action:none\"});\n    s.appendChild(pieceNode(n,cs,{sel:picked===n}));\n    if(picked===n) s.style.outline=\"2px solid #0B7FA8\";\n    s.style.outlineOffset=\"2px\"; s.style.borderRadius=\"4px\";\n    s.addEventListener(\"pointerdown\",function(e){ startDrag(n,cs,e,true); });\n    box.appendChild(s);\n  });\n  if(!Object.keys(tray).length) box.innerHTML='\u003cspan class=\"empty\"\u003eAll packed\u003c\/span\u003e';\n}\n\/* ---------- dragging ---------- *\/\nvar PAD=3;                                   \/* the tray rim, in view units *\/\nfunction cellAt(ev){\n  \/* Derived from the viewBox rather than hardcoded. Adding the rim changed the\n     viewBox from -1 to -3 and this kept using the old numbers, so every\n     pointer position mapped to the wrong square. *\/\n  var b=svgEl.getBoundingClientRect();\n  var vw=W*S+PAD*2, vh=H*S+PAD*2;\n  var vx=-PAD+((ev.clientX-b.left)\/b.width)*vw;\n  var vy=-PAD+((ev.clientY-b.top)\/b.height)*vh;\n  return [Math.floor(vy\/S), Math.floor(vx\/S)];\n}\nfunction originOf(cells){\n  return [Math.min.apply(null,cells.map(function(c){return c[0];})),\n          Math.min.apply(null,cells.map(function(c){return c[1];}))];\n}\nfunction startDrag(name,cells,ev,fromRack){\n  ev.preventDefault();\n  var base=norm(cells.map(function(c){return c.slice();}));\n  var anchor=fromRack?[0,0]:null;\n  drag={name:name,base:base,fromRack:fromRack,live:false,cells:cells,ok:true,anchor:anchor};\n  if(!fromRack \u0026\u0026 name!==\"disc\" \u0026\u0026 placed[name]){\n    \/* which square of the piece the pointer came down on, so the piece follows\n       the hand instead of assuming it was grabbed by its first cell *\/\n    var gc=cellAt(ev), og=originOf(placed[name]);\n    drag.grab=[gc[0]-og[0], gc[1]-og[1]];\n  }\n  if(!fromRack\u0026\u0026name!==\"disc\"){\n    drag.start=cells.map(function(c){return c.slice();});\n  }\n  window.addEventListener(\"pointermove\",onMove);\n  window.addEventListener(\"pointerup\",onUp);\n  window.addEventListener(\"pointercancel\",onCancel);\n}\nfunction onCancel(){\n  window.removeEventListener(\"pointermove\",onMove);\n  window.removeEventListener(\"pointerup\",onUp);\n  window.removeEventListener(\"pointercancel\",onCancel);\n  if(!drag) return;\n  var d=drag; drag=null;\n  if(d.restore){                     \/* it was lifted off the board - put it back *\/\n    placed[d.name]=d.restore.cells; shapeOf[d.name]=d.restore.shape; delete tray[d.name];\n  }\n  picked=null; draw();\n}\nfunction onMove(ev){\n  if(!drag||!svgEl) return;\n  var rc=cellAt(ev);\n  drag.live=true;\n  if(drag.name===\"disc\"){\n    \/* the disc never jumps: it only follows as far as empty squares reach *\/\n    var occ=occupied(\"disc\");\n    if(rc[0]\u003e=0\u0026\u0026rc[0]\u003cH\u0026\u0026rc[1]\u003e=0\u0026\u0026rc[1]\u003cW\u0026\u0026!occ[rc[0]+\",\"+rc[1]]\n       \u0026\u0026reachable(disc,rc,occ)) drag.cells=[rc];\n    else if(!drag.cells) drag.cells=[disc.slice()];\n    drag.ok=true; draw(); return;\n  }\n  if(phase===\"pack\"||drag.fromRack){\n    var cells=drag.base.map(function(c){ return [c[0]+rc[0],c[1]+rc[1]]; });\n    drag.cells=cells; drag.ok=fits(drag.name,cells);\n  } else {\n    \/* sliding: step toward the pointer, pushing anything in the way *\/\n    var guard=0, grab=drag.grab||[0,0];\n    while(guard++\u003c12){\n      var cur=originOf(placed[drag.name]);\n      var want=[rc[0]-grab[0], rc[1]-grab[1]];\n      var dr=Math.sign(want[0]-cur[0]), dc=Math.sign(want[1]-cur[1]);\n      if(!dr\u0026\u0026!dc) break;\n      \/* try the bigger pull first, then the other axis, so a mostly sideways\n         drag is not abandoned just because the vertical step is blocked *\/\n      var tries=(Math.abs(want[0]-cur[0])\u003e=Math.abs(want[1]-cur[1]))\n        ? [[dr,0],[0,dc]] : [[0,dc],[dr,0]];\n      var mv=null, step=null;\n      for(var ti=0;ti\u003ctries.length;ti++){\n        var t=tries[ti];\n        if(!t[0]\u0026\u0026!t[1]) continue;\n        mv=chainMove(drag.name,t[0],t[1]);\n        if(mv){ step=t; break; }\n      }\n      if(!mv) break;\n      applyChain(mv,step[0],step[1]);\n      if(Object.keys(mv).length\u003e1) msg=\"Pushed \"+(Object.keys(mv).length-1)\n        +\" piece\"+(Object.keys(mv).length\u003e2?\"s\":\"\")+\" along.\";\n    }\n    drag.cells=placed[drag.name].map(function(c){return c.slice();});\n    drag.ok=true;\n  }\n  draw();\n}\nfunction onUp(){\n  window.removeEventListener(\"pointermove\",onMove);\n  window.removeEventListener(\"pointerup\",onUp);\n  window.removeEventListener(\"pointercancel\",onCancel);\n  if(!drag){ return; }\n  var d=drag; drag=null;\n  if(!d.live){\n    \/* a tap, not a drag *\/\n    if(d.name===\"disc\"){\n      picked=(picked===\"disc\")?null:\"disc\";\n      msg=(picked===\"disc\")?\"Disc picked up. Click an empty square to send it there.\":\"\";\n      draw(); return;\n    }\n    if(d.fromRack){ picked=d.name; }           \/* hold it until the tray is tapped *\/\n    else if(phase===\"slide\"){\n      if(picked===d.name){ picked=null; msg=\"\"; }\n      else {\n        picked=d.name;\n        msg=\"Tap a square to nudge it that way, or drag it. \"\n           +\"Take out puts it back in the tray.\";\n      }\n    }\n    draw(); return;\n  }\n  if(d.live){\n    picked=null;\n    if(d.name===\"disc\"){\n      var t=d.cells\u0026\u0026d.cells[0];\n      var occ3=occupied(\"disc\");\n      if(t\u0026\u0026!occ3[t[0]+\",\"+t[1]]\u0026\u0026reachable(disc,t,occ3)){ setDisc(t); msg=\"\"; }\n      draw(); return;\n    }\n    if(phase===\"pack\"||d.fromRack){\n      if(d.ok){ placed[d.name]=d.cells; shapeOf[d.name]=d.base; delete tray[d.name];\n        msg = packed()? \"\" : \"\";\n        if(packed()){ phase=\"slide\"; slideFrom=disc.slice();\n          msg = atGoal(disc)\n            ? \"Packed, but the disc is already sitting on its target. Start it \"\n              +\"somewhere else so it has a run to make.\"\n            : \"Packed. Drag the disc, or click it and click where it should go. \"\n              +\"Arrow keys work too. Click a piece to take it back out.\"; }\n      } else { msg=\"That will not fit there.\"; }\n    }\n  }\n  draw();\n}\nfunction discStep(dr,dc){\n  var n=[disc[0]+dr,disc[1]+dc];\n  if(n[0]\u003c0||n[0]\u003e=H||n[1]\u003c0||n[1]\u003e=W) return false;\n  var occ=occupied(\"disc\");\n  if(occ[n[0]+\",\"+n[1]]){ msg=\"The disc is blocked. Drag a piece out of its way.\"; return false; }\n  setDisc(n); msg=\"\"; return true;\n}\nfunction occupantAt(cell,movers){\n  var k=cell[0]+\",\"+cell[1];\n  for(var n in placed){\n    if(movers[n]) continue;\n    for(var i=0;i\u003cplaced[n].length;i++)\n      if(placed[n][i][0]===cell[0]\u0026\u0026placed[n][i][1]===cell[1]) return n;\n  }\n  if(!movers.disc \u0026\u0026 disc \u0026\u0026 disc[0]===cell[0] \u0026\u0026 disc[1]===cell[1]) return \"disc\";\n  return null;\n}\nfunction stepToward(name,rc){\n  var cs=placed[name];\n  var rs=cs.map(function(c){return c[0];}), cl=cs.map(function(c){return c[1];});\n  var top=Math.min.apply(null,rs), bot=Math.max.apply(null,rs);\n  var lef=Math.min.apply(null,cl), rig=Math.max.apply(null,cl);\n  var dr=rc[0]\u003ctop?-1:(rc[0]\u003ebot?1:0);\n  var dc=rc[1]\u003clef?-1:(rc[1]\u003erig?1:0);\n  if(!dr\u0026\u0026!dc) return false;\n  \/* the bigger offset first, then the other axis, so a tap that is mostly\n     sideways still moves the piece when the vertical step is blocked *\/\n  var dRow=Math.min(Math.abs(rc[0]-top),Math.abs(rc[0]-bot));\n  var dCol=Math.min(Math.abs(rc[1]-lef),Math.abs(rc[1]-rig));\n  var tries=(dRow\u003e=dCol)?[[dr,0],[0,dc]]:[[0,dc],[dr,0]];\n  for(var i=0;i\u003ctries.length;i++){\n    var t=tries[i];\n    if(!t[0]\u0026\u0026!t[1]) continue;\n    var mv=chainMove(name,t[0],t[1]);\n    if(mv){\n      applyChain(mv,t[0],t[1]);\n      msg = Object.keys(mv).length\u003e1\n        ? \"Pushed \"+(Object.keys(mv).length-1)+\" along.\"\n        : \"\";\n      return true;\n    }\n  }\n  msg=\"That piece has nowhere to go that way.\";\n  return false;\n}\nfunction chainMove(name,dr,dc){\n  \/* Slide one piece into another and the second one goes too, as long as it\n     has somewhere to go. The push carries on down the line, and the disc gets\n     shoved along with everything else, the way a loose disc in a tray would. *\/\n  var movers={}; movers[name]=1;\n  var queue=[name], guard=0;\n  while(queue.length \u0026\u0026 guard++\u003c30){\n    var n=queue.shift();\n    var cells=(n===\"disc\")?[disc]:placed[n];\n    for(var i=0;i\u003ccells.length;i++){\n      var t=[cells[i][0]+dr, cells[i][1]+dc];\n      if(t[0]\u003c0||t[0]\u003e=H||t[1]\u003c0||t[1]\u003e=W) return null;   \/* the tray wall stops it *\/\n      var occ=occupantAt(t,movers);\n      if(occ){ movers[occ]=1; queue.push(occ); }\n    }\n  }\n  if(queue.length) return null;\n  return movers;\n}\nfunction applyChain(movers,dr,dc){\n  for(var n in movers){\n    if(n===\"disc\"){ setDisc([disc[0]+dr, disc[1]+dc]); continue; }\n    placed[n]=placed[n].map(function(c){ return [c[0]+dr,c[1]+dc]; });\n  }\n}\nfunction reachable(from,to,occ){\n  \/* the disc travels through empty squares, it never jumps over a piece *\/\n  var seen={}, q=[from]; seen[from[0]+\",\"+from[1]]=1;\n  while(q.length){\n    var c=q.shift();\n    if(c[0]===to[0]\u0026\u0026c[1]===to[1]) return true;\n    var ds=[[1,0],[-1,0],[0,1],[0,-1]];\n    for(var i=0;i\u003cds.length;i++){\n      var n=[c[0]+ds[i][0],c[1]+ds[i][1]], k=n[0]+\",\"+n[1];\n      if(n[0]\u003c0||n[0]\u003e=H||n[1]\u003c0||n[1]\u003e=W||seen[k]||occ[k]) continue;\n      seen[k]=1; q.push(n);\n    }\n  }\n  return false;\n}\nfunction wire(s){\n  \/* Swiping the board walks the disc, so once everything is packed you can\n     play with flicks or the arrow keys and never have to grab the disc itself. *\/\n  s.addEventListener(\"click\",function(ev){\n    \/* Picking the disc up happens in onUp - see the tap branch there. The disc is\n       loose in the tray from the start, so it answers to clicks while you are\n       still packing, not only once the last piece is in. *\/\n    if(picked===\"disc\"){\n      var rc2=cellAt(ev);\n      var occ2=occupied(\"disc\");\n      if(rc2[0]\u003c0||rc2[0]\u003e=H||rc2[1]\u003c0||rc2[1]\u003e=W) return;\n      if(rc2[0]===disc[0]\u0026\u0026rc2[1]===disc[1]) return;   \/* the tap that picked it up *\/\n      if(occ2[rc2[0]+\",\"+rc2[1]]){ msg=\"Something is already there.\"; draw(); return; }\n      if(reachable(disc,rc2,occ2)){ setDisc(rc2); picked=null; msg=\"\"; }\n      else msg=\"No clear run of empty squares that way.\";\n      draw(); return;\n    }\n    if(phase===\"slide\"){\n      if(picked\u0026\u0026placed[picked]){\n        var rcp=cellAt(ev);\n        if(rcp[0]\u003c0||rcp[0]\u003e=H||rcp[1]\u003c0||rcp[1]\u003e=W) return;\n        stepToward(picked,rcp); draw();\n      }\n      return;\n    }\n    if(!picked||!tray[picked]) return;\n    var rc=cellAt(ev);\n    var base=norm(tray[picked].map(function(c){return c.slice();}));\n    var cells=base.map(function(c){ return [c[0]+rc[0],c[1]+rc[1]]; });\n    if(fits(picked,cells)){\n      placed[picked]=cells; shapeOf[picked]=base; delete tray[picked];\n      picked=null;\n      if(packed()){ phase=\"slide\"; slideFrom=disc.slice();\n        msg = atGoal(disc)\n          ? \"Packed, but the disc is already sitting on its target. Start it \"\n            +\"somewhere else so it has a run to make.\"\n          : \"Packed. Arrow keys or a swipe move the disc. Drag a piece to shift it.\"; }\n      else msg=\"\";\n    } else msg=\"That will not fit there.\";\n    draw();\n  });\n  var sw=null;\n  s.addEventListener(\"pointerdown\",function(ev){\n    \/* a swipe may start on the disc too - only a piece takes priority *\/\n    var hit=ev.target.closest\u0026\u0026ev.target.closest(\"[data-p]\");\n    if(hit\u0026\u0026hit.getAttribute(\"data-p\")!==\"disc\") return;\n    sw={x:ev.clientX,y:ev.clientY};\n  });\n  s.addEventListener(\"pointerup\",function(ev){\n    if(!sw) return;\n    var dx=ev.clientX-sw.x, dy=ev.clientY-sw.y; sw=null;\n    if(Math.abs(dx)\u003c12\u0026\u0026Math.abs(dy)\u003c12) return;\n    var step=Math.abs(dx)\u003eMath.abs(dy) ? [0,dx\u003e0?1:-1] : [dy\u003e0?1:-1,0];\n    var n=Math.max(1,Math.round(Math.max(Math.abs(dx),Math.abs(dy))\n          \/(s.getBoundingClientRect().width\/W)));\n    for(var k=0;k\u003cn;k++) if(!discStep(step[0],step[1])) break;\n    draw();\n  });\n  Array.prototype.forEach.call(s.querySelectorAll(\"[data-p]\"),function(e){\n    e.addEventListener(\"pointerdown\",function(ev){\n      var n=e.getAttribute(\"data-p\");\n      if(n===\"disc\"){\n        \/* a piece in hand wants to be placed, so let the click fall through\n           to the tray and report that the disc's square is taken *\/\n        if(picked\u0026\u0026picked!==\"disc\"\u0026\u0026tray[picked]) return;\n        startDrag(\"disc\",[disc.slice()],ev,false); return;\n      }\n      if(phase===\"pack\"){\n        var wasAt=placed[n], wasShape=shapeOf[n];\n        tray[n]=shapeOf[n]; delete placed[n]; delete shapeOf[n];\n        startDrag(n,tray[n],ev,true);\n        if(drag) drag.restore={cells:wasAt,shape:wasShape};\n      } else startDrag(n,placed[n],ev,false);\n    });\n  });\n}\ndocument.addEventListener(\"keydown\",function(e){\n  var d={ArrowUp:[-1,0],ArrowDown:[1,0],ArrowLeft:[0,-1],ArrowRight:[0,1]}[e.key];\n  if(!d) return;\n  e.preventDefault();\n  if(phase===\"slide\"\u0026\u0026picked\u0026\u0026placed[picked]){\n    var mv=chainMove(picked,d[0],d[1]);\n    if(mv){ applyChain(mv,d[0],d[1]); msg=\"\"; }\n    else msg=\"That piece has nowhere to go that way.\";\n  } else discStep(d[0],d[1]);\n  draw();\n});\n$(\"owRotate\").addEventListener(\"click\",function(){\n  var n=(picked\u0026\u0026tray[picked])?picked:Object.keys(tray)[0];\n  if(n){ tray[n]=rotate(tray[n]); draw(); }\n});\n$(\"owFlip\").addEventListener(\"click\",function(){\n  var n=(picked\u0026\u0026tray[picked])?picked:Object.keys(tray)[0];\n  if(n){ tray[n]=flipped(tray[n]); draw(); }\n});\nfunction backToPack(){\n  \/* The disc stays exactly where it is. Taking a piece out is a way to free it\n     up, so sending it home would undo the run you were in the middle of. *\/\n  phase=\"pack\";\n  slideFrom=null;\n}\nvar takeBtn=$(\"owTake\");\nif(takeBtn) takeBtn.addEventListener(\"click\",function(){\n  if(phase!==\"slide\"||!picked||!placed[picked]) return;\n  tray[picked]=shapeOf[picked];\n  delete placed[picked]; delete shapeOf[picked];\n  backToPack();\n  msg=\"Took that piece out. Place it again when you are ready.\";\n  draw();\n});\nvar emptyBtn=$(\"owUnpack\");\nif(emptyBtn) emptyBtn.addEventListener(\"click\",function(){\n  ORDER.forEach(function(n){\n    if(!placed[n]) return;\n    tray[n]=shapeOf[n];\n    delete placed[n]; delete shapeOf[n];\n  });\n  backToPack(); picked=null;\n  msg=\"Tray emptied. Pack it again however you like.\";\n  draw();\n});\n$(\"owReset\").addEventListener(\"click\",reset);\nreset();\n})();\n\n})();\n\u003c\/script\u003e\n\n\n\n\n\n\n\u003cp\u003ePut the disc in one corner. Pack the pieces in around it. Now slide them until the disc comes out in the opposite corner.\u003c\/p\u003e\n\u003cp\u003eGoal: fit every piece into the tray so one corner stays free for the disc, then move the disc to the diagonally opposite corner using sliding moves alone.\u003c\/p\u003e\n\u003cp\u003eAlexander Magyarics took a tray packing puzzle and gave it somewhere to go. Finding an arrangement that fits is the easy half. Finding the one that also leaves the disc a path across the tray is the part worth owning. It earned a Jury Honorable Mention at the 2026 Nob Yoshigahara Puzzle Design Competition in Assisi.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eWhat's special about One Way or Another?\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eUnique puzzle in one tray: pack it, then slide to create a path\u003c\/li\u003e\n\u003cli\u003eJury Honorable Mention, 2026 Nob Yoshigahara Puzzle Design Competition\u003c\/li\u003e\n\u003cli\u003eFlat and light enough to take with you\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eBest for: packing puzzle fans who have run out of tray puzzles that still surprise them, and gift buyers after a small desk puzzle with a real idea behind it.\u003c\/p\u003e\n\u003cp\u003eDesigned by \u003ca href=\"\/ja\/collections\/alexander-magyarics\"\u003eAlexander Magyarics\u003c\/a\u003e\u003c\/p\u003e","brand":"Greg Puzzles","offers":[{"title":"Default Title","offer_id":51517396910247,"sku":"GP-ONEWAY","price":16.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0668\/2827\/1783\/files\/one_way_or_another___move_the_disc_corne_marble.png?v=1792040466"}],"url":"https:\/\/gregpuzzles.com\/ja\/collections\/5-piece-puzzles.oembed","provider":"Greg Puzzles","version":"1.0","type":"link"}