บทนำ
Atari STเป็นคอมพิวเตอร์ส่วนบุคคลที่ได้รับความนิยมค่อนข้างตั้งแต่กลางเดือน 80 ถึงต้นยุค 90 ของพลังงานจากโมโตโรล่า 68000 ไมโครโปรเซสเซอร์ บนเครื่องนี้พฤติกรรมเริ่มต้นของระบบปฏิบัติการสำหรับข้อยกเว้นของ CPU ที่ไม่ถูกตรวจจับคือการแสดงแถวของระเบิดบนหน้าจอดังแสดงในภาพต่อไปนี้:
ที่มา: https://commons.wikimedia.org/wiki/File:Row_of_bombs.png
หมายเหตุ: กราฟิกระเบิดอาจแตกต่างกันเล็กน้อยขึ้นอยู่กับเวอร์ชั่นของระบบปฏิบัติการ แต่ลองดูอันนี้เป็นข้อมูลอ้างอิง
จำนวนระเบิดขึ้นอยู่กับข้อยกเว้นเวกเตอร์วัตถุที่พบมากที่สุดคือ:
- ($ 008) ข้อผิดพลาดของบัส: 2 ระเบิด
- ($ 00c) ที่อยู่ผิดพลาด: 3 ครั้ง
- ($ 010) คำสั่งที่ผิดกฎหมาย: 4 ลูก
เป้าหมาย
เป้าหมายของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่พิมพ์หรือแสดงผล ASCII ของระเบิด Atari ST ดังกล่าว
อินพุต
จำนวนเต็มแทนจำนวนระเบิดที่จะแสดง รหัสของคุณจะต้องรองรับค่าที่พบบ่อยที่สุด: 2, 3 และ 4 การสนับสนุนการวางระเบิดน้อยลงและ / หรือมากกว่านั้นใช้ได้ แต่ก็ไม่จำเป็นหรือไม่ต้องมีโบนัส
เอาท์พุต
ระเบิดดั้งเดิมประกอบด้วยไทล์ 16x16 พิกเซลแสดงที่นี่ทั้งใน ASCII และไบนารี:
....##.......... 0000110000000000
.#.#..#......... 0101001000000000
.......#........ 0000000100000000
#..#....#....... 1001000010000000
..#...#####..... 0010001111100000
......#####..... 0000001111100000
....#########... 0000111111111000
...###########.. 0001111111111100
...###########.. 0001111111111100
..#############. 0011111111111110
..########.####. 0011111111011110
...#######.###.. 0001111111011100
...######.####.. 0001111110111100
....#########... 0000111111111000
.....#######.... 0000011111110000
.......###...... 0000000111000000
ในการท้าทายนี้ระเบิด ASCII แต่ละลูกจะต้องยืดออกเป็นสองเท่าของความกว้างดั้งเดิมเพื่อการเรนเดอร์ที่ดีขึ้น ดังนั้นจะประกอบด้วย 16 แถวของอักขระ 32 ตัวใช้##
สำหรับพิกเซล 'ON' และเว้นวรรคสองพิกเซลสำหรับ 'ปิด' ไพ่ระเบิดทั้งหมดจะต้องวางเคียงข้างกัน ห้ามเว้นวรรคนำหน้า ห้ามเว้นวรรคตามหลังยกเว้นส่วนที่เป็นส่วนหนึ่งของแผ่นวางระเบิด (เช่นคอลัมน์ที่ 31 และ 32) ซึ่งจะต้องมีอยู่ คุณอาจรวมการขึ้นบรรทัดใหม่ไม่เกินหนึ่งครั้งและไม่เกินหนึ่งการขึ้นบรรทัดใหม่
ตัวอย่าง
ด้านล่างนี้เป็นเอาท์พุทอ้างอิงสำหรับการวางระเบิดสองครั้งโดยมีการทำเครื่องหมายแบ่งบรรทัดบังคับ\n
และยอมรับการแบ่งบรรทัดเสริมที่ทำเครื่องหมายเป็น(\n)
:
(\n)
#### #### \n
## ## ## ## ## ## \n
## ## \n
## ## ## ## ## ## \n
## ########## ## ########## \n
########## ########## \n
################## ################## \n
###################### ###################### \n
###################### ###################### \n
########################## ########################## \n
################ ######## ################ ######## \n
############## ###### ############## ###### \n
############ ######## ############ ######## \n
################## ################## \n
############## ############## \n
###### ###### (\n)
(แน่นอนว่ารูปแบบตัวแบ่งบรรทัดอื่น ๆ เช่น\r
หรือ\r\n
อาจใช้เช่นกัน)
กฎระเบียบ
นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม