Rubiks-Cube-Solver
Rubik's Cube Solver เขียนโค้ดด้วย Python
Solver เขียนโดย Lucas และ Tom Brannan
หากต้องการรัน Solver ให้รันไฟล์ cube.py GUI จะเริ่มทำงานโดยอัตโนมัติ หากคุณได้รับข้อผิดพลาด อาจเป็นไปได้ว่าคุณไม่ได้ติดตั้ง tkinter นั่นเป็นสิ่งจำเป็นในการรัน GUI
คุณสมบัติ
เพียงอ่านคำแนะนำเพื่อดูคุณลักษณะบางอย่างที่รวมอยู่ใน Solver คุณสมบัติต่าง ๆ รวมอยู่ด้วย ได้แก่ :
- ผู้ใช้หรือโปรแกรมสร้างสัญญาณรบกวน
- ความสามารถในการเคลื่อนไหวแบบกำหนดเอง
- ความสามารถในการกดปุ่มแก้ปัญหาหรือแต่ละขั้นตอนการแก้เพื่อดูการแก้ทีละขั้นตอน
- ความสามารถในการรันการจำลองด้วยจำนวนการแก้ไขที่ผู้ใช้กำหนด (ระวัง มากเกินไปอาจทำให้โปรแกรมหยุดทำงาน)
- ความสามารถในการคัดลอกช่วงชิงหรือโซลูชันไปยังคลิปบอร์ด รวมถึงดูจากภายนอก
- การคลิกที่ลูกบาศก์ 2 มิติจะทำให้คุณเห็นไทล์ด้านล่างอื่นๆ ที่ปกติไม่สามารถมองเห็นได้
คำสั่งต่างๆ
หากคุณไม่ต้องการใช้ GUI คุณสามารถพิมพ์คำสั่งฟังก์ชันในล่ามได้ นี่คือบางส่วนที่มีประโยชน์:
- print_cube() พิมพ์ลูกบาศก์ในรูปแบบข้อความ
- scramble() คุณสามารถระบุตัวเลข การแย่งชิงในรูปแบบสตริง หรือไม่ใส่อะไรเลยสำหรับการแย่งชิงเริ่มต้น 25 ครั้ง
- get_scramble() พิมพ์ช่วงชิงก่อนหน้า
- solve() จะแก้คิวบ์
- get_moves() พิมพ์โซลูชันที่สร้างขึ้นจากการใช้ solve()
- การจำลอง (ตัวเลข) จำนวนที่ระบุคือจำนวนการแก้ปัญหาที่คุณต้องการจำลอง จะให้วิธีแก้ปัญหาที่ดีที่สุดแก่คุณด้วยการแย่งชิง เช่นเดียวกับการแก้ปัญหาที่แย่ที่สุดและการแย่งชิง
ตัว Solver นั้นใช้วิธีการแก้ปัญหาแบบ CFOP (Fridrich) มันแก้ Cross, ทำขั้นตอน F2L, ทำ 2-look OLL และ 2-look PLL สำหรับสัญลักษณ์นั้น จะใช้สัญลักษณ์พื้นฐานที่ใช้ในโลกลูกบาศก์ อย่างไรก็ตาม การเคลื่อนที่ทวนเข็มนาฬิกาสามารถแสดงด้วยเครื่องหมายอัญประกาศเดี่ยว (วิธีมาตรฐาน) หรือใช้ตัวอักษร i (แทนค่า i สำหรับการผกผัน)