ให้แน่ใจว่าได้เห็นความท้าทายอื่น ๆ , การย้อนกลับแผนที่อักขระ ASCII !
ชุดอักขระ ASCII (รหัสมาตรฐานอเมริกันสำหรับการแลกเปลี่ยนข้อมูล) เป็นมาตรฐานการเข้ารหัสอักขระที่ใช้กันอย่างแพร่หลายที่สุด รหัส ASCII แสดงถึงข้อความในคอมพิวเตอร์อุปกรณ์โทรคมนาคมและอุปกรณ์อื่น ๆ
ท้าทาย
ความท้าทายของคุณคือการพิมพ์แผนที่ของชุดอักขระ ASCII เมื่อผู้ใช้ป้อนข้อมูล GIF:
หลังจากผู้ใช้ป้อนอักขระ ASCII ทุกตัวเอาต์พุตควรมีลักษณะดังนี้:
การทำแผนที่
ตัวละครแต่ละตัวมีตำแหน่งที่กำหนดไว้ในตารางตรรกะ 16x6 เริ่มต้นด้วยอักขระช่องว่างในตำแหน่งด้านซ้ายด้านบนและการตัดที่ 0 หลักจะปรากฏขึ้นด้านล่าง
เมื่อได้รับอินพุต ASCII ที่พิมพ์ได้ให้พิมพ์อักขระ ASCII ที่ตำแหน่งหน้าจอที่กำหนดโดยไม่ต้องลบอักขระใด ๆ บนหน้าจอในปัจจุบัน
กฎระเบียบ
- โปรแกรมของคุณเพียงต้องการที่จะแผนที่ออกอักขระ ASCII พิมพ์ไป
0x20
0x7E
- โปรแกรมของคุณจะต้องไม่ยุติและดำเนินการแมปอักขระต่อไปยังหน้าจอจนกว่าอักขระ ASCII ที่พิมพ์ได้ทั้งหมดจะถูกป้อนเข้า จากที่นี่โปรแกรมของคุณสามารถยกเลิกหรือวิ่งเข้าไปใน Neverland
- โปรแกรมของคุณสามารถแมปตัวละครในแบบที่คุณชอบเช่นสเปรดชีตตารางหน้าต่างคอนโซลหรือหน้าต่างกราฟิก
- ไม่ว่าคุณจะแสดงแผนที่อย่างไรจะต้องอัปเดตตามเวลาจริง (ทันทีที่ได้รับการป้อนข้อมูลจากผู้ใช้)
- หากโปรแกรมของคุณไม่อ่านอินพุตอย่างเงียบ ๆ มันจะต้องเลื่อนเคอร์เซอร์ไปให้พ้นทางดังนั้นข้อความจะไม่เข้าทางแผนที่
ช่วยด้วย
นี่คืออัลกอริธึม pseudocode ที่ฉันใช้สร้าง GIF:
loop forever
c = input
y_coord = c / 16
x_coord = c - y * 16
if c is printable
print c at (x_coord * 2 + 1, y_coord + 1)
end if
end loop
อาจมีวิธีอื่นเพื่อให้ได้ผลลัพธ์ที่ต้องการ คุณสามารถเลือกที่จะใช้อัลกอริทึมของฉันหรือของคุณเอง แต่ผลลัพธ์จะต้องเหมือนกันโดยไม่คำนึงถึง
นี่คือการอ้างอิงตาราง ASCII ที่มีประโยชน์
เกณฑ์การให้คะแนน
คำตอบที่มีจำนวนไบต์น้อยที่สุดในแต่ละภาษาจะเป็นผู้ชนะ มีความสุข!