ความท้าทายคือการใช้โปรแกรมติดตามเรย์แบบ 2 มิติซึ่งเป็นข้อความ
แหล่งกำเนิดแสงสีขาวเป็น@สัญลักษณ์ R, GและBตัวกรองแสง /และ\เป็นกระจกที่มีการสะท้อนแสง 80% ?เป็นเซ็นเซอร์วัดแสง >, <, ^และVรวมแสงในทิศทางที่เหมาะสม (เช่นถ้าสีแดงและสีเขียวมาเป็น>แสงจะถูกปล่อยออกไปทางขวาและมันจะเป็นสีเหลือง) ตัวละครที่ไม่ใช่ช่องว่างอื่น ๆ ดูดซับแสงทั้งหมด แสงถูกปล่อยออกมาจาก@สัญลักษณ์ในสี่ทิศทาง
เมื่อโปรแกรมทำงานก็ควรสร้างผลลัพธ์เช่นเดียวกับอินพุต แต่มีรังสีติดตาม เพราะนี่คือ 2 มิติและฉันรับประกันในการป้อนข้อมูลที่รังสีจะไม่เคยข้ามจะไม่มีปัญหากับสิ่งนั้น แต่ละเรย์ควรแสดงด้วยตัวอักษร r = แดง, g = เขียว, b = น้ำเงิน, c = cyan, m = ม่วงแดง, y = เหลือง, w = ขาว จะไม่มีสีประกอบไปด้วยเลย ปลอกเป็นสิ่งสำคัญที่แตกต่างจากอินพุต หลังจากเอาต์พุตนั้นค่าของแสงที่จับด้วยเครื่องหมายคำถาม (เรียงตามลำดับจากซ้ายไปขวาบนลงล่าง) ควรแสดงผลลัพธ์เป็นเปอร์เซ็นต์และสี ตัวอย่างเช่นอินพุตนี้:
/ @
-
\R> ?
@B/
ควรให้ผลลัพธ์:
/wwwwwwwwwwwwwwwwww@w
w -
w\R>mmmmmmmmmmmmmmmmm?
w b
@B/
#1: 72% Magenta
อีกจุดสำคัญที่ควรทราบ - เมื่อรวมสองสีเข้าด้วยกันโดยใช้ "ปริซึม" (ลูกศร) ความแข็งแรงของแสงที่รวมกันจะกลายเป็นความแข็งแรงเฉลี่ยของทั้งสอง ผลลัพธ์จะต้องตรงตามที่ระบุไว้ (เช่น #x: [x] [x] x% Color )
หากภาษาของคุณไม่สามารถอ่านจาก STDIN และเขียนไปยัง STDOUT ให้สร้างฟังก์ชั่น (ไม่ระบุชื่อหรือแลมบ์ดาเมื่อมี) ที่รับอินพุตเป็นอาร์กิวเมนต์และส่งกลับผลลัพธ์
คำสั่งสำหรับคอมไพเลอร์โครงสร้างที่จำเป็นหรือแนะนำสำหรับโปรแกรมทั้งหมดหรือส่วนใหญ่ที่สร้างขึ้นในภาษา ฯลฯ สามารถละเว้นได้ ตัวอย่างเช่น#includeและusingคำสั่ง (แต่ไม่ใช่#define) อาจถูกลบในภาษา C-style #/usr/bin/perl -optionsใน Perl และ
Module Module1
Sub Main()
End Sub
End Module
ใน VB.NET เช่น หากคุณนำเข้าเนมสเปซหรือเพิ่มคำสั่งรวมถึงโปรดทราบพวกเขาในคำตอบของคุณ
มันยากพอไหมตอนนี้? :)
>แสงคือการจับภาพซึ่งจะผ่านตรงมา และถ้าwจากด้านบนผ่านสิ่งRนั้นbมาจากด้านล่าง ในที่สุด (ฉันคิดว่า) คุณผิดเกี่ยวกับรังสีที่ไม่ผ่าน เพื่อให้ตัวอย่างหนึ่งบรรทัดผลลัพธ์ที่ถูกต้องจะเป็น@R> B@อย่างไร
@มุมซ้ายล่างเปล่งแสงทั้งสี่ทิศทางใช่ไหม? wดังนั้นโดยเฉพาะอย่างยิ่งมันปล่อยออกมาว่า และฉันไม่ได้เว้นระยะห่างอย่างน้อยก็อย่างน้อยก็แสดงผลใน Chromium เมื่อผ่านไปจริง ๆ การแก้ไขของฉันอาจชัดเจนขึ้น