บทนำ
อันนี้ตรงไปตรงมาทีเดียว เราจะวาดงูใน ascii เกมนี้ได้รับแรงบันดาลใจมาจากเกมงูตัวเก่าที่คุณต้องเก็บผลไม้และเติบโตอย่างต่อเนื่อง
คำนิยาม
กำหนดจำนวนเต็มบวก N ที่แทนความยาวของงูวาดงูเพื่อให้มีร่างกายของ n บวกหัวและหาง
อะไหล่:
- หัว:
<, >, ^, v
- หาง:
@
- แนวตั้ง:
|
- horizonal:
-
มุมทั้งหมดควรมีความพึงพอใจกับ\
หรือ/
ตามลำดับ เว้นเสียแต่ว่าศีรษะจะปิดที่มุมซึ่งในกรณีนี้หัว<, >, ^, v
จะให้ความสำคัญในทิศทางที่งูขดตัว นั่นคือสำหรับความยาว 1 ตัวอย่างมันจะหมุนทวนเข็มนาฬิกาและดังนั้นหัวหันไปทางนั้น >
สำหรับการแก้ปัญหาตามเข็มนาฬิกามันจะไปทางขวา
งูจะต้องเริ่มตรงกลางด้วยหาง แต่มันอาจออกไปข้างนอกในทิศทางใดก็ได้ที่คุณเลือกตามเข็มนาฬิกาหรือทวนเข็มนาฬิกา มันจะต้องพันรอบตัวเองอย่างแน่นหนาเมื่อมันขยายออกไปเป็นวงกลม
ตัวอย่าง
/--\
|/\|
||@|
|\-/
\--->
ตำแหน่งที่@
เป็นหางและตำแหน่งเริ่มต้น ดังที่เห็นด้านบนหางเริ่มตรงกลางขึ้นไปทางซ้ายในการหมุนทวนเข็มนาฬิกาออกไปด้านนอก
นี่คือความยาว19
บวกหางและหัว
เป็นอีกตัวอย่างนี่คือความยาว1
:
<\
@
การชนะ
นี่คือ code-golf ดังนั้นคำตอบที่ถูกส่งมาด้วยจำนวนไบต์ที่น้อยที่สุดจะเป็นผู้ชนะพร้อมกับเวลาที่จะใช้เป็นตัวแบ่งไทเบรก
มีความสุข!
@
เป็นกึ่งกลาง (เป็นไปได้เพิ่มช่องว่างเพื่อให้มัน) ประกาศ "ไปทางขวา" เพื่อเป็นทิศทางและทำให้เพียงหัวชี้ลงและประกาศตามเข็มนาฬิกา คำศัพท์ของคุณอาจดูเหมือนชัดเจนสำหรับคุณ แต่จริงๆแล้วพวกเขาไม่ชัดเจน ฉันรู้ว่าคุณอาจหมายถึงงูขดที่แน่นเท่าที่จะเป็นไปได้ แต่คุณควรทำให้ชัดเจน
@---->
มันไม่ได้เป็นอย่างที่ชัดเจนว่าผมไม่ได้เป็นเพียงแค่ได้รับอนุญาตให้วาดงูตรงเช่น คุณอาจต้องการเงื่อนไขที่เข้มงวดมากขึ้นเกี่ยวกับรูปร่างของงู ต้องบอกให้ชัดเจนว่าช่องว่างนั้นอนุญาตหรือไม่