ในTerrariaเกมหนึ่งในกลไกของเกมเกี่ยวข้องกับการสร้างบ้านเพื่อให้ NPC สามารถเข้าได้มีกฎที่เข้มงวดสำหรับสิ่งที่นับว่าเป็นเฮ้าส์ที่ถูกต้องหรือไม่ นี่คือรายการของกฎ:
พื้นที่ทั้งหมดในบ้านจะต้องมีอย่างน้อย 60 ตารางกระเบื้อง แต่น้อยกว่า 750 นอกจากนี้ขนาดของบ้านรวมถึงกรอบด้านนอกจะต้องมีอย่างน้อยหนึ่งอย่างต่อไปนี้:
5x12 6x10 7x9 8x8 9x7 10x6 12x5 15x4
เพื่อความเรียบง่ายคุณสามารถสันนิษฐานได้อย่างปลอดภัยว่า: ก) บ้านอินพุตทั้งหมดจะเป็นรูปสี่เหลี่ยมผืนผ้าและข) ไม่มีกระเบื้องทึบ
#
อยู่ภายในบ้าน นี่คือเฟรม 12x6 ของเรา (วาดด้วย ASCII ที่สวยงาม):############ # # # # # # # # ############
บ้านจะต้องถูกปกคลุมในผนังพื้นหลัง สิ่งเหล่านี้ไม่ใช่กระเบื้องแข็ง แต่เป็นผนังด้านหลังบ้านในมิติที่สาม อนุญาตให้เจาะได้ แต่ไม่มีรูใดที่ใหญ่กว่า 4x4 ได้ หากมีแถวหรือคอลัมน์ที่มีอักขระเว้นวรรค 5 ตัวขึ้นไปในแถวนี้จะเป็นรูที่มีขนาดใหญ่กว่า 4x4 และเฮ้าส์นั้นไม่ถูกต้อง อนุญาตให้ใช้หลายรูได้ แต่ต้องแยกกำแพงอย่างน้อยหนึ่งอัน
############ #**********# #**********# #**********# #**********# ############ ############ #* * # #* * # #* * # #****** # ############ (Still acceptable since neither hole is larger than 4x4 and there is a separator) ############ # ******# #*** ***# # ******# #*** ***# ############ (Also still valid. No row or column of blank spaces is longer or taller than 4.)
จะต้องมีทางเข้า นี่อาจเป็นประตู
|
ด้านข้างหรือแพลตฟอร์ม-
บนพื้นหรือเพดาน หากทางเข้าเพียงแห่งเดียวอยู่ในมุมหนึ่ง NPC จะไม่สามารถเข้าได้ นอกจากนี้หากคุณมีแพลตฟอร์มเป็นพื้นคุณจะต้องมีบล็อกที่เป็นของแข็งอย่างน้อยหนึ่งบล็อกเพื่อให้ NPC สามารถยืนได้ บล็อกทึบนี้ไม่สามารถติดกับผนังด้านข้างทางด้านซ้ายหรือด้านขวาได้โดยตรง เหล่านี้เป็นบ้านที่ถูกต้องทั้งหมดที่มีทางเข้า:############ #**********# |**********# #**********# #**********| ############ (Multiple doors, or doors up high are okay) ############ #**********# #**********# #**********# #**********# #######----# #----####### #**********# #**********# #**********# #**********# ############
ต้องมีแหล่งกำเนิดแสง
$
โต๊ะT
และเก้าอี้อย่างน้อยหนึ่งแหล่งC
แม้ว่าจะอนุญาตให้ใช้เพิ่มเติมได้ แหล่งกำเนิดแสงสามารถอยู่ในอากาศหรือบนพื้นดินได้ แต่โต๊ะและเก้าอี้ทั้งคู่จะต้องอยู่บนพื้นเช่นในแถวที่ต่ำที่สุด############ #**********# #**********# #***$******| #****TC****| ############
นอกจากนี้คุณสามารถสมมติว่ามีผนังด้านหลังเฟอร์นิเจอร์ใด ๆ ดังนั้นไฟฉายเก้าอี้หรือโต๊ะสามารถนับเป็นตัวคั่นระหว่างสองหลุม
############ #* * # #* * # #* $ # #**TC******| ############
ความท้าทาย
คุณต้องเขียนฟังก์ชั่นที่สั้นที่สุดที่ใช้เฮาส์แอ็ดเป็นสตริง ASCII และส่งคืนค่าจริง / เท็จไม่ว่าจะเป็นตัวเรือนที่ถูกต้องหรือไม่ คุณสามารถใช้สิ่งนี้เป็นสตริงตัวคั่นบรรทัดใหม่รายการของสตริงหรือวิธีอื่นใดตราบใดที่มันสมเหตุสมผล เพื่อประโยชน์ของฉันโปรดใส่โปรแกรมสั้น ๆ เพื่อให้ฉันสามารถทดสอบว่ามันทำงานถูกต้องหรือไม่
สำหรับการอ้างอิงนี่เป็นอินพุตที่ไม่ถูกต้องทั้งหมด:
############
-**********#
-****$*****#
-**********#
-******TC**#
############ (You can't have platforms on the sidewalls)
###########-
#**********#
#**********#
#****$*****#
#**T***C***#
###########| (NPC can't enter because the only entrances are on the corner)
############
#**********#
#******$***#
#**********#
#T****C****#
##--------## (NPC has nowhere to stand)
############
#**********#
#**********#
#**********#
#**$**TC***#
##########|# (Door cannot be in the floor or ceiling)
############
#**********#
#**********#
#**********#
|** T C #
############ (Since table and chair do not count as a background wall, the hole in background is too wide)
####### ####
#**********#
#**********#
#****$*****#
#**T***C***|
############ (There's a hole in the frame.)
###########################################################################
# #
# #
# #
# #
# #
# #
# #
# #
# #
########################################################################### (House is 75x11, which is too big.)
ลีดเดอร์บอร์ด
#
รู 2. ตามที่มาร์ตินถามว่า " ไม่มีหลุมใดที่สามารถใหญ่กว่า 4x4 " ได้หมายความว่าอะไร? (โปรดทราบว่ามันยังไม่ถึงจนกว่าจะมีการอ่านครั้งที่สามของฉันที่ฉันมั่นใจว่าหลุมคืออะไรคุณควรเขียนสเป็คสำหรับผู้ที่ไม่ได้เล่นเกม)
*
แต่นั่นจะไม่รวมตัวอย่างของประตูที่ถูกต้อง 4. " บนพื้นดิน " หมายถึง "ในแถวสุดท้าย" หรือ "เหนือ#
" 5. " สิ่งนี้ใช้ไม่ได้กับโต๊ะและเก้าอี้ " นั่นหมายความว่าหลุม 4x4 ที่มีT
หรือC
ต่ำกว่านั้นใหญ่เกินไปหรือไม่ 6. " NPC เข้าไม่ได้เพราะมีทางเข้าเพียงทางเดียว " ฉันไม่คิดว่าสเป็คพูดอะไรเกี่ยวกับมุม พวกเขาอาจเป็น-
หรือ|
ถ้ามีประตูอื่น ๆ ?
*
ต้องเข้าถึงได้จากทางเข้าหรือไม่? หรืออยู่โดดเดี่ยว*
กลางรูที่อนุญาตให้รูที่ตัดทั้งห้องเป็นสองห้องโดยมีด้านเดียวเท่านั้นที่อนุญาตให้มีทางเข้าและทางเข้าที่อนุญาตให้เข้าไปในรูได้โดยตรง?