กำหนดอินพุตของชุดอักขระที่แสดงถึงการเคลื่อนไหวบนกริดหกเหลี่ยมเอาท์พุทพิกัดสุดท้ายของ "พอยน์เตอร์"
รูปหกเหลี่ยมของเราจะมีหมายเลขเป็นอย่างนั้น (ลองนึกภาพสี่เหลี่ยมกริดที่มีคอลัมน์เลขคี่ทุกคอลัมน์เลื่อนลงด้านล่างเล็กน้อย):
_____ _____ _____ _____
/ \ / \ / \ / \
/ -3,-2 \_____/ -1,-2 \_____/ 1,-2 \_____/ 3,-2 \
\ / \ / \ / \ /
\_____/ -2,-1 \_____/ 0,-1 \_____/ 2,-1 \_____/
/ \ / \ / \ / \
/ -3,-1 \_____/ -1,-1 \_____/ 1,-1 \_____/ 3,-1 \
\ / \ / \ / \ /
\_____/ -2,0 \_____/ 0,0 \_____/ 2,0 \_____/
/ \ / \ / \ / \
/ -3,0 \_____/ -1,0 \_____/ 1,0 \_____/ 3,0 \
\ / \ / \ / \ /
\_____/ -2,1 \_____/ 0,1 \_____/ 2,1 \_____/
/ \ / \ / \ / \
/ -3,1 \_____/ -1,1 \_____/ 1,1 \_____/ 3,1 \
\ / \ / \ / \ /
\_____/ \_____/ \_____/ \_____/
ตัวชี้เริ่มต้นที่ (0, 0)
คำแนะนำที่คุณต้องสนับสนุนมีดังนี้:
q: เลื่อนไปทางซ้ายw: ขยับขึ้นe: เลื่อนขึ้นไปทางขวาa: เลื่อนลงไปทางซ้ายs: ย้ายลงd: เลื่อนลงไปทางขวาr: หมุนกริดตามเข็มนาฬิกาR: หมุนกริดทวนเข็มนาฬิกา
คำสั่งการหมุนจะหมุนกริดทั้งหมดในขณะที่รักษาตัวชี้ไว้ที่พิกัดเดียวกัน (เพราะqweasdอะไรพวกเขาเข้ากันได้กับทิศทางอย่างดีบนคีย์บอร์ด QWERTY)
เพื่อช่วยให้เห็นภาพนี้นี่คือสิ่งที่คำสั่งการเคลื่อนไหวจะทำสมมติว่าตัวชี้เริ่มตรงกลาง:
_____
/ \
_____/ w \_____
/ \ / \
/ q \_____/ e \
\ / \ /
\_____/ \_____/
/ \ / \
/ a \_____/ d \
\ / \ /
\_____/ s \_____/
\ /
\_____/
หลังจากการหมุนตามเข็มนาฬิกา ( r) คำสั่งจะถูกแมปอีกครั้ง (ลองจินตนาการว่ามันเป็นการหมุนทั้งกริดฐานสิบหก แต่ยังคงรักษา "w" ไว้เช่น ฯลฯ ซึ่งเทียบเท่ากับสิ่งต่อไปนี้):
_____
/ \
_____/ e \_____
/ \ / \
/ w \_____/ d \
\ / \ /
\_____/ \_____/
/ \ / \
/ q \_____/ s \
\ / \ /
\_____/ a \_____/
\ /
\_____/
ในทำนองเดียวกันการหมุนทวนเข็มนาฬิกา ( R) หลังจากนั้นจะกลับไปที่ตารางปกติและหมุนทวนเข็มนาฬิกาอีกครั้งจะ "remap" เพื่อqwedsaaqweds
ต้องป้อนข้อมูลเป็นสตริงเดียวและเอาต์พุตสามารถเป็นสตริงเดี่ยวที่เข้าร่วมโดยอักขระที่ไม่ใช่ตัวเลข (เช่น1 2หรือ3,4) หรืออาร์เรย์ของจำนวนเต็ม
เนื่องจากนี่คือcode-golfรหัสที่สั้นที่สุดเป็นไบต์จะเป็นผู้ชนะ
กรณีทดสอบ:
In Out
---------------------------------
edeqaaaswwdqqs -2, 0
dddddddddd 10, 5
wswseaeadqdq 0, 0
<empty string> 0, 0
esaaqrweesrqrq -1, 0
wrwrwrwrw -1, 0
RRssrrrs -1, -1
aRRRRwddrqrrqqq -1, -4
rrrrrrrrrrrrRRRRRRrrrrrrq -1, -1
rrRrRrrRrrrrRRrRrRR 0, 0