คำถามติดแท็ก sliding-puzzle

ปริศนาเลื่อนเป็นปริศนารวมที่เกี่ยวข้องกับการเคลื่อนย้ายชิ้นส่วนแบน ๆ ไปรอบ ๆ เพื่อให้ได้รูปแบบเป้าหมาย ตัวอย่างเช่น 15 เกมหรือ 2048

9
สร้างโคลนเกมที่ง่าย 2048
2048 เป็นเกมที่สนุกและน่าติดตามซึ่งเป้าหมายคือการสร้างกระเบื้องที่มี 2048 นี่คือคำอธิบายสั้น ๆ ของเกม: กดปุ่มลูกศรจะเลื่อนบล็อกทั้งหมดในเวทีในทิศทางนั้น ตัวอย่างเช่นถ้าxหมายถึงบล็อกและคุณกดลูกศรขึ้นในกรณีนี้: ...x .x.. ..x. xx.. จากนั้นคณะกรรมการก็จะกลายเป็น xxxx .x.. .... .... 2นอกจากนี้บล็อกที่มีเลขเริ่มต้นที่ หากมีการย้ายบล็อกที่มีหมายเลขเดียวกันสองบล็อกเข้าด้วยกันพวกเขาจะรวมเข้าไปในหมายเลขถัดไป ตัวอย่างเช่นการกด "up" ในบอร์ดนี้: .2.. ..22 .2.. .... จะสร้างสิ่งนี้: .422 .... .... .... จากนั้นหลังจากกดปุ่ม "ถูกต้อง" มันจะกลายเป็น..44ดังนั้นการกดขวาอีกครั้งจะสร้างบล็อก "8" และอื่น ๆ แต่ละเทิร์นบล็อก "2" ใหม่จะถูกสร้างขึ้นบนจัตุรัสเปิดแบบสุ่ม (จริงๆแล้วมันไม่ได้เป็น "2" เสมอไปแต่เพื่อความเรียบง่ายลองเก็บมันไว้) ถ้าไม่มีการเคลื่อนไหวที่เป็นไปได้ (เช่นกระดานเต็มและคุณไม่สามารถผสานอะไรได้) เกมจะหายไปและถ้า บล็อก 2048 ถูกสร้างขึ้นคุณชนะ! ความท้าทายของคุณคือสร้างเกมนี้ขึ้นใหม่! …

22
เป็นบอร์ด 2048 ที่ดีหรือไม่?
นี่เป็นคำถามแรกของฉันที่นี่ดังนั้นคำแนะนำใด ๆ ในความคิดเห็นจะได้รับการชื่นชม! ขอบคุณ;) บทนำ กลยุทธ์หนึ่งที่พบบ่อยมากสำหรับเกม 2048จะไม่เคยรูดลง ตำแหน่งนี้เป็นตัวเลขขนาดใหญ่ทั้งหมดที่ด้านบนและที่ต่ำกว่าในด้านล่าง ดังนั้นหากคุณใช้กลยุทธ์นี้อย่างถูกต้องบอร์ดของคุณจะตรงกับรูปแบบต่อไปนี้: รูปแบบการตรวจสอบ / งานของคุณ การส่งของคุณควรเป็นโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่ส่งกลับค่าความจริงหากบอร์ดสามารถอธิบายได้ดังนี้: ลงไปในแต่ละคอลัมน์ของบอร์ดหมายเลขแรกควรสูงที่สุดของคอลัมน์จำนวนที่สองควรน้อยกว่า มากกว่าหรือเท่ากับจำนวนแรก ฯลฯกระดาน 2048 ที่ดีจะถูกกำหนดให้เป็นกระดานที่มีตัวเลขสูงสุดอยู่ด้านบน นี่คือโค้ดกอล์ฟดังนั้นรหัสที่สั้นที่สุดต่อภาษา (เป็นไบต์) จะชนะ I / O อินพุตสามารถถูกใช้ในวิธีที่เหมาะสมตัวอย่างเช่นอาร์เรย์ 4 อาร์เรย์แต่ละตัวมี 4 หมายเลขหรืออาร์เรย์ 16 ตัวเลข โดยรวมมันจะเป็นตัวเลข 16 เสมอแทน 4x4 บอร์ด เอาท์พุทควรเป็นค่าความจริงของอินพุตคือ "ดี 2048 บอร์ด" และค่าเท็จเป็นอย่างอื่น ตัวอย่าง Truthy: |-------------------| | 16 | | 64 | …

3
แก้ปริศนา 15 ตัว (ตัวต่อเลื่อนกระเบื้อง)
15 Puzzle เป็นเกมไขปริศนาที่โด่งดังเกี่ยวกับการเลื่อน 15 แผ่นรอบบนตาราง 4x4 เริ่มต้นจากการกำหนดค่าแบบสุ่มเป้าหมายคือการจัดเรียงกระเบื้องในลำดับที่ถูกต้อง นี่คือตัวอย่างของ Puzzle 15 ที่ผ่านการแก้ไขแล้ว: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 การเคลื่อนที่ของปริศนาแต่ละครั้งจะมีรูปแบบขึ้น / ลง / ซ้าย / ขวา การย้าย "ลง" ประกอบด้วยการเลื่อนไทล์ที่อยู่เหนือจุดที่ว่างลง การเคลื่อนที่ "ขวา" ประกอบด้วยการเลื่อนไทล์ไปทางขวาเข้าสู่จุดที่ว่างเปล่า นี่คือวิธีที่กระดานมองตามการเคลื่อนไหวของลงและขวา 01 02 03 04 05 06 07 08 09 10 …

7
ตีความ> <> (ปลา)
ในขณะที่&gt; &lt;&gt; ไม่ใช่ภาษายอดนิยมมันสามารถดีสำหรับการเล่นกอล์ฟและถูกนำมาใช้ในเว็บไซต์นี้ มันได้แรงบันดาลใจจากBefungeและมีความคล้ายคลึงกันในคำแนะนำ คำสั่งที่จำเป็น: &gt; &lt; ^ v เปลี่ยนทิศทางของตัวชี้คำสั่ง (ขวา, ซ้าย, ขึ้น, ลง) / \ | _ # กระจก; ตัวชี้จะเปลี่ยนทิศทางขึ้นอยู่กับทิศทางที่มีอยู่แล้ว x ทิศทางแบบสุ่ม + - * , % การบวกการลบการคูณการหารและโมดูโลตามลำดับ ดึง A และ B ออกจากสแต็กและส่งตัวดำเนินการ B ตัวหาร A ด้วย 0 ทำให้เกิดข้อผิดพลาด 0-9 a-f ส่งค่าที่สอดคล้องกันไปยังสแต็ก a = 10, ... , f = …

5
2048 ท้าทายบอท
เราทำการโคลนนิ่ง 2048 วิเคราะห์ 2048 แล้ว แต่ทำไมเรายังไม่เล่นเลย เขียนโค้ดจาวาสคริปต์ 555 ไบต์เพื่อเล่น 2048 โดยอัตโนมัติคะแนนที่ดีที่สุดหลังจากหนึ่งชั่วโมงจะถูกนับ (ดูคะแนนด้านล่าง) ติดตั้ง: ไปที่2048และเรียกใช้: a = new GameManager(4, KeyboardInputManager, HTMLActuator, LocalStorageManager); a เป็นวัตถุในการควบคุมเกม กฎ: หลังจากตั้งค่าคุณสามารถเรียกใช้จาวาสคริปต์ได้ที่ 555 ไบต์จากคอนโซลควบคุมเกม ซอร์สโค้ดของเกมสามารถพบได้ที่นี่ (รวมถึงความคิดเห็น) ผู้ใช้อาจทำสิ่งต่าง ๆ ที่เป็นไปได้เท่านั้น: a.move(n) เพื่อเรียกการกระทำที่สำคัญใน 4 ทิศทางใด ๆ 0: ขึ้น, 1: ขวา, 2: ลง, 3: ซ้าย a.restart() เพื่อเริ่มเกมใหม่ อนุญาตให้เริ่มต้นใหม่ได้ระหว่างกลางเกม a.grid.cellsข้อมูลเกี่ยวกับสถานะของเกมที่สามารถพบได้ใน ข้อมูลนี้เป็นแบบอ่านอย่างเดียว …

4
คำนวณตัวเลขจริง
คำนิยาม เป็นจำนวนเต็มบวกnเป็นจำนวนปฏิบัติ (OEIS ลำดับA005153 ) IFF nทุกจำนวนเต็มบวกที่มีขนาดเล็กสามารถแสดงเป็นผลรวมของตัวหารที่แตกต่างของ ตัวอย่างเช่น18เป็นจำนวนจริง: ตัวหารคือ 1, 2, 3, 6, 9, และ 18 และจำนวนเต็มบวกอื่น ๆ ที่น้อยกว่า 18 สามารถเกิดขึ้นได้ดังนี้: 4 = 1 + 3 5 = 2 + 3 7 = 1 + 6 8 = 2 + 6 10 = 1 + 9 11 = 2 + …
18 code-golf  sequence  number-theory  code-golf  code-challenge  sorting  c  code-golf  restricted-source  code-golf  natural-language  code-golf  tree-traversal  file-system  popularity-contest  pi  polyglot  code-golf  game  sliding-puzzle  code-golf  game  minesweeper  code-challenge  ascii-art  code-challenge  popularity-contest  graphical-output  code-challenge  popularity-contest  hello-world  underhanded  obfuscation  code-golf  code-golf  function  code-golf  code-golf  code-golf  popularity-contest  rosetta-stone  code-golf  primes  code-golf  restricted-source  popularity-contest  number  sequence  code-golf  restricted-source  popularity-contest  graphical-output  code-golf  popularity-contest  code-golf  primes  code-golf  game  code-golf  math  popularity-contest  popularity-contest  code-generation  popularity-contest  code-bowling  code-golf  popularity-contest  underhanded  code-golf  metagolf 

1
เล่นเกมที่สมบูรณ์แบบในปี 2048
งานของคุณคือการจำลองเกมที่สมบูรณ์แบบทางคณิตศาสตร์ของ 2048 ความคิดคือการหาขีด จำกัด บนทางทฤษฎีของวิธีการที่เกม 2048 สามารถไปได้ไกลเท่าไหร่และหาวิธีไปที่นั่น หากต้องการทราบว่าลักษณะนี้เป็นอย่างไรให้เล่นกับโคลน 2x2 นี้แล้วลองทำคะแนน 68 คะแนน ถ้าคุณทำคุณจะจบลงด้วยกระเบื้อง 2, 4, 8 และ 16 เป็นไปไม่ได้ที่จะผ่านจุดนั้นไป งานของคุณทำได้ง่ายขึ้นเพราะคุณสามารถเลือกที่จะวางไข่ไทล์และค่าของมันคืออะไรเช่นเดียวกับโคลนนี้ คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่รับบอร์ด 2048 เป็นอินพุตและส่งเอาต์พุตบอร์ดด้วยแผ่นต่อที่เกิดและบอร์ดหลังจากยุบแผ่น ตัวอย่างเช่น: Input: ------- 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 8 Output: ------- 0 0 0 0 0 0 …

4
ตั้งโปรแกรม AI 2048 โดยใช้ Framework ที่มีอยู่
แก้ไข: เมื่อเร็ว ๆ นี้คำถามของฉันได้รับการเสนอให้เป็นซ้ำของ2048 Bot ท้าทาย ฉันต้องการเน้นว่าคำถามนี้แตกต่างจากคำถามนั้นและจะต้องการคำตอบที่จะคิดต่างจากคำถามนั้น 2048 Bot Challenge ขอให้ผู้ใช้สร้างบอทและมันจะทำงานเป็นเวลาหนึ่งชั่วโมงโดยมีคะแนนสูงสุดเป็นคะแนนของผู้ใช้ นอกจากนี้มีขีด จำกัด ที่ 555 ไบต์ ความท้าทายของฉันใช้งานรหัสน้อยกว่ามากเพียง 3 ครั้งเท่านั้น คะแนนของคุณถูกคำนวณโดยใช้คะแนนเฉลี่ยของสามครั้งและหารด้วยความยาวอักขระของรหัสไม้ตีกอล์ฟของคุณ คำถามของฉันสนับสนุนให้รายการนั้น "ฉลาดกว่า" และอย่าพยายามและได้คะแนนสูงสุดด้วยกำลังดุร้าย - แก้ไข: วิธีการรับถูกเปลี่ยนเป็น getTile เพื่อหลีกเลี่ยงความขัดแย้งกับคำหลัก JS นอกจากนี้ส่วนคะแนนสูงถูกเพิ่มเข้ามา เมื่อเร็ว ๆ นี้ฉันสร้างเว็บไซต์ที่อนุญาตให้เกมยอดนิยม 2048 สามารถควบคุมได้โดยใช้ JavaScript ไซต์ของฉันเชื่อมโยงที่นี่: http://thatcoolidea.com/2048 วิธี: Ace Editor อยู่เหนือบอร์ด คุณวางรหัสไว้ในนั้นซึ่งจะทำงานหนึ่งครั้งทุก ๆ 250 มิลลิวินาทีหรือ 4 ครั้งต่อวินาที สิ่งนี้เรียกว่าวัฏจักร ใช้วิธีการต่อไปนี้เพื่อควบคุมบอร์ด …

1
แก้ปัญหาเวอร์ชันที่กำหนดไว้ 2048 โดยใช้จำนวนไบต์น้อยที่สุด
เขียนโปรแกรมที่สร้างลำดับการเคลื่อนที่ที่ชนะไปยังตัวแปรที่กำหนดขึ้นของเกม 2048 ลำดับนั้นควรอยู่ในรูปของสตริงตัวเลข 0-3 โดยมี 0: up, 1: right, 2: down, 3: ซ้าย. ตัวอย่างเช่นสตริง "1132" หมายถึงขวาซ้ายขวาลง โปรแกรมที่ชนะคือซอร์สโค้ดที่สั้นที่สุดที่จะถึงปี 2048! กฎเพื่อกำหนด 2048: เกมเล่นบนตาราง 4x4 ในขั้นต้นที่มี 1 กระเบื้องที่มุมซ้ายบน การย้ายแต่ละครั้งประกอบด้วยคำสั่ง "ซ้าย", "ขวา", "ขึ้น" หรือ "ลง" คำสั่งทางซ้ายเลื่อนไทล์ทั้งหมดบนกริดไปทางซ้ายจากนั้นรวมและหาผลรวมเหมือนไทล์ที่เริ่มจากด้านซ้าย เช่นเดียวกันคำสั่งด้านขวาจะเลื่อนไทล์ไปทางขวาจากนั้นรวมเริ่มจากด้านขวา แต่ละไทล์สามารถเข้าร่วมได้เพียงหนึ่งชุดเท่านั้นต่อการเคลื่อนไหว หลังจากย้ายแล้วไทล์ 2 อันใหม่จะถูกสร้างขึ้นในคอลัมน์แรกจากด้านซ้ายพร้อมพื้นที่ว่างในพื้นที่ว่างแรกจากด้านบนในคอลัมน์นั้น ตัวอย่างเช่นลำดับ "ขวาซ้ายซ้าย" นำไปสู่รัฐ 2___ ____ ____ ____ 2__2 ____ ____ ____ 2__4 ____ …

4
เห็นภาพการหารยาวด้วยศิลปะ ASCII
เขียนโปรแกรมที่แสดงภาพส่วนที่ยาวด้วย ASCII art อินพุตประกอบด้วยจำนวนเต็มสองจำนวนตัวเศษและส่วนโดยใช้รูปแบบอินพุตที่คุณเลือก ตัวอย่าง: 1234 ÷ 56: 22 ---- 56|1234 112 --- 114 112 --- 2 1002012 ÷ 12: 83501 ------- 12|1002012 96 --- 42 36 -- 60 60 -- 12 12 -- 0 ÷ 35 0 - 35|0 กฎ: การใช้งานของผู้ประกอบการส่วนการเขียนโปรแกรมภาษาที่จะได้รับอนุญาต อนุญาตให้ใช้จำนวนเต็มขนาดใหญ่ได้ เพื่อความมั่นคง: หากความฉลาดเป็นศูนย์ให้พิมพ์ศูนย์เดียวที่ท้ายกระดานดำน้ำ หากส่วนที่เหลือเป็นศูนย์อย่าพิมพ์ อย่าพิมพ์เลขศูนย์นำหน้าบนตัวเลขใด ๆ ขึ้นบรรทัดใหม่มากเกินไปที่ส่วนท้ายและช่องว่างต่อท้ายไปทางขวาจะได้รับอนุญาต การแก้ปัญหาด้วยตัวละครน้อยที่สุดชนะ …

2
ฉันจะได้รับ Klotski มากขึ้นในชีวิตของฉันได้อย่างไร
ฉันชอบปริศนาตัวต่อแบบเลื่อน แต่เมื่อไม่นานมานี้ฉันไม่มีเวลา ดังนั้นฉันต้องการโปรแกรมที่จะให้ฉันแก้ปริศนาเลื่อนกระเบื้องโดยเฉพาะอย่างยิ่งปริศนา Klotski ข้อมูลที่คุณป้อนจะอยู่ในรูปแบบต่อไปนี้: ####### #001gg# ##.222# .###### โดยที่#หมายถึงผนัง.หมายถึงพื้นที่เปิดโล่งgหมายถึงเป้าหมายและตัวเลขที่อยู่ติดกันแสดงถึงบล็อกที่แตกต่างกัน คุณสามารถสันนิษฐานได้ว่า: จะมีไม่เกิน 10 บล็อก จะไม่มีสองช่วงตึกที่มีหมายเลขเดียวกัน บล็อคทั้งหมดจะถูกล้อมรอบด้วยกำแพง ตารางเป็นรูปสี่เหลี่ยมผืนผ้า 0บล็อกที่มีขนาดใหญ่พอที่จะครอบคลุมทั้งหมดของสี่เหลี่ยมเป้าหมาย มีทางออกที่ถูกต้อง คุณต้องกลับลำดับการเคลื่อนไหวที่จะทำให้0บล็อกเพื่อให้ครอบคลุมสี่เหลี่ยมเป้าหมายทั้งหมด บล็อกไม่สามารถผ่านผนังหรือบล็อกอื่น ๆ สำหรับปริศนาข้างต้นลำดับที่เหมาะสมจะเป็น 2L,1R,1R,1D,0R,0R,0R ในขณะที่หมายถึงการเคลื่อนย้าย2บล็อก 1 ตารางไปทางซ้าย1บล็อก 2 สี่เหลี่ยมทางขวา (ด้านบนของเป้าหมาย) จากนั้นลง 1 ตารางเมตรจากนั้น0บล็อก 3 สี่เหลี่ยมทางขวา จริงๆแล้วมีหลายลำดับที่จะทำงานให้กับปัญหาข้างต้นและการผลิตใด ๆ ของพวกเขาเป็นที่ยอมรับ คำตอบของคุณควรจะดีที่สุดซึ่งหมายความว่าควรสร้างลำดับที่แก้ปริศนาได้ในไม่กี่ขั้นตอนเท่าที่จะทำได้ ลำดับควรจะพิมพ์ออกมาข้างต้น แต่สามารถคั่นด้วยเครื่องหมายจุลภาค, ขึ้นบรรทัดใหม่หรือช่องว่าง ฉันไม่สนหรอกว่ามีคอมม่าต่อท้ายหรือช่องว่าง คุณควรสร้างผลลัพธ์ในเวลาที่เหมาะสม (สูงสุด 120 วินาทีกับปริศนาด้านล่าง) ปริศนา 1: ..####.. …

1
ทำให้ภาพเป็นตัวต่อแบบเลื่อน
สรุป เป้าหมายของความท้าทายนี้คือการสร้างตัวต่อปริศนา 15 ตัว / เลื่อนซึ่งเรียกว่าtaquinในภาษาฝรั่งเศส รายละเอียด: รับอินพุตประกอบด้วย: รูปภาพ จำนวนเต็มn, จำนวนเต็มอื่น ๆr, โปรแกรมหรือฟังก์ชั่นของคุณหรือสิ่งอื่น ๆ ที่เหมาะกับคุณจะต้องส่งออกภาพเดียวกัน ( เช่นขนาดและรูปแบบเดียวกัน) เป็นอินพุท แต่เปลี่ยนไปตามกระบวนการต่อไปนี้: แบ่งภาพออกเป็นn²สี่เหลี่ยม ลบสี่เหลี่ยมอันใดอันหนึ่งแบบสุ่ม ย้ายจำนวนสุ่มของรูปสี่เหลี่ยมผืนผ้าที่ต่อเนื่องกันจากบรรทัด / คอลัมน์ที่ได้รับผลกระทบจากจุด (2. ) เพื่อให้หลุมที่สร้างเต็มไปและอีกหนึ่งจะถูกสร้างขึ้นในบรรทัด / คอลัมน์นี้ ตัวเลขนี้อาจเป็นได้0ว่าช่องว่างอยู่ในมุมหรือขอบ ทำซ้ำ (3. ) rครั้ง ชี้แจง: หากคุณย้ายสี่เหลี่ยมจากบรรทัดในขั้นตอนที่ (3) คุณต้องย้ายสี่เหลี่ยมจากคอลัมน์ในการทำซ้ำครั้งถัดไป หากคุณย้ายสี่เหลี่ยมจากซ้ายไปขวาในขั้นตอนบรรทัดจะต้องย้ายจากขวาไปซ้ายในขั้นตอนบรรทัดถัดไปเช่นเดียวกันกับคอลัมน์จากบนลงล่างและล่างขึ้นบน คุณอาจสันนิษฐานว่าnจะถูกเลือกเพื่อให้มันหารความยาวของด้านข้างของภาพ จุดสุดท้าย: ภาพเคลื่อนไหวที่.gifแสดงกระบวนการทั้งหมดได้รับการต้อนรับอย่างมาก ฉันเสนอให้ใช้รูปภาพต่อไปนี้ (ซึ่งก็คือ1024x768) ด้วยn=16และr=100ในฐานะที่เป็นแบบจำลองคุณสามารถใช้รูปภาพอื่น ๆ (ตราบเท่าที่มันเกี่ยวข้องและสอดคล้องกับกฎของ SE แน่นอน) โปรดทราบว่ามีการใช้นโยบายช่องโหว่มาตรฐาน …

5
แก้ปริศนาการหมุน
ในโทรศัพท์ Nokia รุ่นเก่าบางรุ่นมีการเปลี่ยนแปลงของปริศนาสิบห้าชุดเรียกว่าการหมุน ในรูปแบบนี้แทนที่จะเลื่อนหนึ่งไทล์ทีละครั้งคุณจะหมุนสี่ไทม์สในแต่ละทิศทางในทิศทางเดียว ในเกมนี้คุณจะเริ่มด้วยบอร์ดเช่นนี้: 4 9 2 3 5 7 8 1 6 และโดยการหมุนบล็อกซ้ายล่างสองครั้งตามเข็มนาฬิกาและบล็อกบนซ้ายตามเข็มนาฬิกาคุณจะได้: 4 9 2 8 3 7 1 5 6 4 9 2 1 8 7 3 5 6 1 4 2 8 9 7 3 5 6 และ1กระเบื้องจะอยู่ที่มุมซ้ายบนซึ่งควรจะเป็น ในที่สุดหลังจากการเคลื่อนไหวอีกสองสามครั้งคุณจะพบกับ: 1 2 3 4 5 6 …

1
ไขปริศนา 8 อัน
8 Puzzle เป็นตัวแปรที่เล็กกว่าของ 15Puzzle (หรือปริศนาตัวต่อ ) คุณมี3x3กริดซึ่งเต็มไปด้วยตัวเลขตั้งแต่ 0-8 (0 หมายถึงไทล์เปล่า) ที่จัดเรียงตามลำดับแบบสุ่ม งานของคุณคือการป้อนตาราง 3x3 และแสดงทางออกที่สั้นที่สุด (ย้ายขั้นต่ำ) เพื่อไปที่สถานะเป้าหมาย แสดงแต่ละกระดานรวมถึงสถานะแรกในเอาท์พุท อาจมีวิธีแก้ไขปัญหาที่ดีที่สุดหลายอย่างคุณเพียงแค่พิมพ์ อินพุต: (ตัวอย่างเล็ก ๆ ) 1 2 0 4 5 3 7 8 6 เอาท์พุท: 2 &lt;- denotes minimum number of moves required 1 2 0 4 5 3 7 8 6 1 …

1
รหัสปริศนารหัส Slidey!
เป็นที่รู้จักมากที่สุดปริศนาเลื่อนเป็นปริศนาสิบห้า มันมีตาราง 4 โดย 4, 15 กระเบื้องและพื้นที่ว่างหนึ่งตาราง กระเบื้องสามารถย้ายไปยังพื้นที่ว่างได้เท่านั้นและจะต้องสอดคล้องกับตารางเสมอ ลองกำหนดตัวต่อแบบเลื่อนโดยทั่วไปเป็นWสองมิติกว้างด้วยตารางสูงH ( W , Hทั้งจำนวนเต็มบวก) ที่มีจำนวนของกระเบื้องที่ไม่มีเครื่องหมายเหมือนกันจำนวนหนึ่ง(ระหว่าง 0 ถึงW × Hของพวกเขา) ที่จัดเรียงในตาราง ไม่ว่าจะด้วยวิธีใดก็ตาม (โดยไม่ทับซ้อนกัน) ด้วยพื้นที่ตารางว่างเปล่าเติมส่วนที่เหลือของพื้นที่ ตัวอย่างเช่นถ้าWและHเป็น 3 และไทล์เป็นTและพื้นที่ว่างเป็นEหนึ่งในการจัดเรียงปริศนาเข้าข้างได้มากที่สุดคือ TTT TET EET สำหรับปริศนาเหล่านี้มี 4 ย้ายเป็นไปได้ทุกอย่างซุกขึ้น , ซุกทุกอย่างลงทุกอย่างซุกซ้ายหรือซุกทุกอย่างที่เหมาะสม 'การผลัก' ไปในทิศทางใดทิศทางหนึ่งทำให้ไพ่ทั้งหมดเดินทางไปในทิศทางนั้นไกลที่สุดเท่าที่จะเป็นไปได้จนกว่าพวกเขาจะชนกระเบื้องหรือขอบตาราง บางครั้งการผลักจะไม่เปลี่ยนเค้าโครงของกริด หากกริดตัวอย่างถูกผลักไปทางขวาผลลัพธ์จะเป็น TTT ETT EET ผลักไปทางซ้ายผลคือ TTT TTE TEE ลดผลลัพธ์ลงไปคือ EET TET TTT (สังเกตว่าทั้งคู่เคลื่อนไหวไปทางซ้ายสุดT) การเลื่อนขึ้นไม่ได้เปลี่ยนเค้าโครงตารางในกรณีนี้ …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.