คำแนะนำเกี่ยวกับการเล่นกอล์ฟแบบ ASCII สำหรับ 05AB1E (การแปลงพื้นฐาน [ง่าย])
แม้ว่า 05AB1E ไม่ได้มีไว้สำหรับ ASCII-Art โดยตรง แต่ฉันได้รับรางวัลถึง 2 ความท้าทาย สิ่งที่ดีที่สุดเกี่ยวกับ 05AB1E คือแม้ว่าการแปลงฐานอย่างง่ายมักมีลูกเล่นที่คุณสามารถใช้ในการขยายและลดจำนวนไบต์ลงได้ครึ่งหนึ่ง บ่อยครั้งที่ความท้าทายของ ASCII มีเทคนิคการทำซ้ำที่คุณสามารถใช้เพื่อวาดรูปแบบเพียงครึ่งเดียวจากนั้นพลิกและต่อกัน หากเป็นรูปแบบสี่วิธีคุณสามารถทำสิ่งต่าง ๆ เช่น zip และ bifurcate เพื่อวาดมุมของลวดลายเท่านั้น มีเทคนิคการจัดการโครงสร้างข้อมูลมากมายที่จะใช้ร่วมกับแนวคิดการบีบอัดฐานอย่างง่ายนี้
นี่คือหลักสูตรที่ผิดพลาดอย่างรวดเร็วในชั้นเชิงการแปลงฐาน:
ใน 05AB1E ฉันระบุอักขระทั้งหมดที่ใช้ใน ASCII-art เช่น:
--===___===--
จะส่งผลให้:
-
=
_
ฉันกำหนดหมายเลขให้พวกเขาเริ่มต้นด้วย 1 จากนั้น 0 และ 2:
- is 1.
= is 0.
_ is 2.
ฉันแทนที่อักขระในสตริงเดิมด้วยตัวเลข:
1122200022211
ฉันแปลงเป็นทศนิยมโดยใช้ฐานที่ต่ำที่สุด (3):
879412
( วิธีการทำสิ่งนี้โดยใช้ 05AB1E )
จากนั้นฉันแปลงเป็นฐาน 214:
Jh]
( วิธีการทำสิ่งนี้โดยใช้ 05AB1E )
ฉันแล้วห่อในรหัสต่อไปนี้:
•Jh]•3B…102…-_=‡
ลองออนไลน์!
หรือลองด้วยขั้นตอนกลางที่แสดง
อธิบายขั้นสุดท้าย:
•Jh]• # Push the compressed ASCII integer.
3B # Convert it to base 3.
…102 # Push the keys to the conversion.
…-_= # Push the values to the conversion.
‡ # Transliterate, replace 0, 1 and 2 with the symbols.
ตอนนี้ด้วยความท้าทายที่เฉพาะเจาะจงนี้สตริงสั้นมากมันไม่สมเหตุสมผลที่จะทำ ฉันอาจจะเพียงแค่ผลักดันครึ่งสตริงและ Palindromize 10 ไบต์"--===__"û
หรือกอล์ฟมันเหมือน Adnan •Jh]•3B5!…-=_‡
ทำในการแสดงความคิดเห็นโดยใช้ปัจจัยมนุษย์สมาร์ท เขายัง(หนึ่ง?)ผู้สร้าง(s?)ของ 05AB1E
ตัวอย่างที่ซับซ้อนมากขึ้น:
/codegolf//a/106621/59376
นอกจากนี้อาจลองภาษาที่ซับซ้อนของ Dennis 'kolmogorov: Bubblegum ; ไม่รู้จะใช้ยังไง