ซูเปอร์มาริโอกาแล็กซี่มีสองรอมบิคิวบอกทาฮีดรอน -shaped ดาวเคราะห์ * กระเบื้องกับแพลตฟอร์มที่หดตัวเป็นมาริโอวิ่งข้าม หากมาริโอตกลงไปในหลุมสามเหลี่ยมหรือช่องว่างที่เหลืออยู่จากกระเบื้องที่เขาสัมผัสก่อนหน้านี้เขาจะถูกหลุมดำที่แกนกลางถูกกลืนไปหมด (ดู:กาแล็คซี่ Hurry-Scurry , Galaxy Slide Sea )
ภาพ: MarioWiki.com
(คุณสามารถคิดว่าดาวเคราะห์เป็นลูกบาศก์ 2x2x2 ซึ่งใบหน้าถูกแยกออกและเชื่อมต่อกันด้วย 2x3 "สะพาน")
น่าเสียดายเนื่องจากตัวควบคุมของฉันเสียมากมาริโอไม่สามารถกระโดดได้และถูก จำกัด ไว้ที่สี่ทิศทางสำคัญ นอกจากนี้มาริโอก็เคลื่อนไหวช้ามากและไม่สามารถหวนกลับแม้แต่ขั้นตอนเดียวโดยที่ไม่มีแพลตฟอร์มอยู่ข้างหลังเขาก่อนหายไป
สมมติว่ากล้องอยู่เหนือศีรษะของมาริโอเสมอและเขาเริ่มที่มุมขวาล่างของใบหน้า 2x2:
■ ■
■ ■
■ ■
■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ M ■ ■ ■
■ ■
■ ■
■ ■
โปรแกรมของคุณจะแสดงรายการหรือเส้นทางต่างๆU
D
L
R
(ขึ้น, ลง, ซ้าย, ขวา) แทนการเดินของมาริโอรอบ ๆ ดาวเคราะห์จนถึงขั้นตอนต่างๆ โปรแกรมสามารถส่งออกหนึ่งในสองของผลลัพธ์ที่แตกต่าง: หนึ่งแสดงให้เห็นว่ามาริโอยังมีชีวิตอยู่และเดินและอื่น ๆ เป็นตัวแทนว่าที่ไหนสักแห่งพร้อมเดินของเขามาริโอได้ตกลงไปในดาวเทียมหดตัว
RR: ■ ■ RRD: ■ ■ RRL: ■ ■
■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ □ □ M ■ ■ ■ ■ ■ □ □ □ ■ ■ ■ ■ ■ □ M □ ■
■ ■ \ ■ ■ M ■ ■ \
■ ■ Let's-a go! ■ ■ \ ■ ■ W-aaaaaaaaaahh!
■ ■ ■ ■ W-aaaaaaaaaahh! ■ ■
แน่นอนว่าไม่เหมือนกับไดอะแกรมข้างต้นคุณจะต้องคำนึงถึง 3D นี่คือแผนภาพที่อาจช่วยให้คุณเห็นภาพเหตุการณ์ได้ดีขึ้น:
Top 2x2 face
<- clockwise anticlockwise ->
- ■ - ■ - ■ - ■ -
/ \ / \ / \ / \
■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ Left and right
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ M ■ ■ ■ ■ ■ ■ ■ ■ ■ edges wrap around.
■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■
\ / \ / \ / \ /
- ■ - ■ - ■ - ■ -
<- anticlockwise clockwise ->
Bottom 2x2 face
ดังนั้นตามแผนภาพนี้UUUUURRRR
อาจมีลักษณะเช่นนี้:
- ■ - ■ - □ - ■ -
/ \ / \ / \ / \
■ ■ ■ ■ □ □ ■ ■
■ ■ ■ ■ □ □ ■ ■
■ ■ ■ ■ □ □ ■ ■
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ □ ■ ■ ■ M ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ □ ■ ■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■
\ / \ / \ / \ /
- ■ - ■ - ■ - ■ -
และUUUUUUUUULURRRRRR
อาจมีลักษณะเช่นนี้:
- ■ - ■ - □ - □ -
/ \ / \ / \ / \
■ ■ ■ ■ □ ■ ■ □
■ ■ ■ ■ □ ■ ■ □
-> □ ■ ■ ■ □ ■ ■ □ ->
<- □ ■ ■ ■ ■ ■ ■ ■ ■ ■ □ ■ ■ ■ M □ □ □ □ □ <-
■ ■ ■ ■ ■ ■ ■ ■ ■ ■ □ ■ ■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■
■ ■ ■ ■ ■ ■ ■ ■
\ / \ / \ / \ /
- ■ - ■ - ■ - ■ -
โปรแกรมที่สั้นที่สุดเป็นไบต์ w-aaaaaaaaaahh!
กรณีทดสอบ
เอาท์พุท 1: ยังมีชีวิตอยู่
DDDDDLUUUUU
- มาริโอเดินข้ามสะพานและถอยหลัง
RRRRDDDDLLL
- มาริโอเดินเป็นรูปสามเหลี่ยม
LLLLLLUUUUUURRRRR
- มาริโอเดินในรูปสามเหลี่ยมที่ใหญ่กว่า
ULLDRDDDRU
- มาริโอทำให้ตัวเองตกอยู่ในอันตราย
RURDRURDRDLDRDLDLDLULDLLLLLLLLLLLLLLLLURRRRRRRRRRRRRR
- มาริโอใช้เส้นทางที่ไม่ธรรมดา ... และทำให้ตัวเองตกอยู่ในอันตราย
มาริโอข้ามกระเบื้องทุกครั้ง
DDDDLUUUULLLLDDDLUUULLLLDDDDLUUUULLLLDDDLUUULLLURRRUUURDDDRRRRUUURDDDRRRRUUURDDDRRRRUUUUURDDDDD
DLDRDLDLLLDRRRDDDDLLLLLLLLLDRRRRRRRRRDDDDLLLDRRRDDDRUUURRRRULLLLUUUURRRULLLUUUUURDRURDRUURULURU
เอาท์พุท 2: W-aaaaaaaaaahh!
LLR
- มาริโอพยายามที่จะย้อนขั้นตอนและล้มลง
UULDR
- มาริโอพยายามที่จะข้ามกระเบื้องสองครั้งและก้าวขึ้นไปในอากาศ
RRDDDDD
- มาริโอเดินออกจากสะพานที่ D แรก (ไม่ต้องทำตามขั้นตอนต่อไปนี้)
RRRRDDDDLLLL
- มาริโอเดินเป็นรูปสามเหลี่ยมและตกลงไปที่แผ่นเริ่มต้น
LLLLLLUUUUUURRRRRR
- มาริโอเดินในรูปสามเหลี่ยมที่ใหญ่กว่าและตกลงไปในแผ่นเริ่มต้น
UUUUUUUUUUUUUUUUUUUU
- มาริโอเดินไปรอบ ๆ โลกและตกผ่านแผ่นกระเบื้องเริ่มต้น
RURDRURDRDLDRDLDLDLULDLLUU
- มาริโอใช้เส้นทางที่แปลกใหม่และสับสน
มาริโอตระหนักถึงอันตรายที่เขามีอยู่ถูกทิ้งไว้โดยไม่มีทางเลือก
ULLDRDDDRUUU
ULLDRDDDRUUL
ULLDRDDDRUUR
ULLDRDDDRUUD
RURDRURDRDLDRDLDLDLULDLLLLLLLLLLLLLLLLURRRRRRRRRRRRRRR
RURDRURDRDLDRDLDLDLULDLLLLLLLLLLLLLLLLURRRRRRRRRRRRRRU
RURDRURDRDLDRDLDLDLULDLLLLLLLLLLLLLLLLURRRRRRRRRRRRRRL
RURDRURDRDLDRDLDLDLULDLLLLLLLLLLLLLLLLURRRRRRRRRRRRRRD
ในที่สุดคัดลอกกรณีทดสอบใด ๆ จาก "มาริโอข้ามกระเบื้องทุกครั้ง" และเปลี่ยนหรือเพิ่มหนึ่งขั้นตอนโดยการสุ่ม มาริโอควรจะตก (หากคุณเพิ่มขั้นตอนไปจนสิ้นสุดมาริโอก็จะคว้า Power Star!)
* ลูกบาศก์ที่มีตาเรตเป็นคำที่ถูกต้องมากขึ้นเนื่องจากบางใบหน้าไม่ได้เป็นสี่เหลี่ยมจัตุรัส แต่คุณต้องยอมรับว่า - "rhombicuboctahedron" ไหลดีกว่า
R
เข้าไป ฉันได้ทำสิ่งนี้ลงบนกระดาษเพื่อให้แน่ใจว่ารหัสของฉันถูกต้อง