ฉันลืมวันผ้าเช็ดตัว
สคริปต์ PHP สำหรับทั้งสองตัวอย่าง (ข้อผิดพลาดการจัดรูปแบบสตริง)
สคริปต์ PHP ที่ถูกต้องอินพุตเป็นแบบอธิบายตนเอง
สคริปต์ PHP พร้อมความเห็นเพิ่มเติม / ไม่ใส่ข้อคิดเห็น$argv
เพื่อดูผลลัพธ์ที่แตกต่าง
อย่างที่คุณอาจทราบว่าวันที่ 25 พฤษภาคมเป็นที่รู้จักกันดีในชื่อ ผ้าเช็ดตัววันเพราะมีประโยชน์หลายอย่างที่สามารถใช้ผ้าเช็ดตัวได้
สารสกัดที่เรียบง่ายของหนังสือ"The Hitchhiker Guide to the Galaxy" (โดยส่วนตัวฉันใช้หนังสือเล่มนี้เป็น"คู่มือประจำวัน" ) ระบุ:
"ผ้าเช็ดตัวเป็นเรื่องเกี่ยวกับสิ่งที่มีประโยชน์มากที่สุดอย่างที่โบกรถระหว่างดวงดาวสามารถมีได้ส่วนหนึ่งมันมีคุณค่าในทางปฏิบัติที่ดี"
หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับผ้าเช็ดตัวให้ตรวจสอบคำตอบ SE.scifi นี้
ความท้าทาย
หวังว่าคุณจะทำเช่นนี้ด้วยผ้าขนหนูที่ใช้เป็นผ้าห่มสำหรับขาของคุณ
เขียนโปรแกรมหรือฟังก์ชั่นเต็มรูปแบบในภาษาการเขียนโปรแกรมที่ถูกต้องที่ใช้เวลาสองอินพุต
size Integer : #The size
message string : #A sentence
วิธีการวาดผ้าขนหนูที่มีค่าเหล่านี้หรือไม่
ใช้ครั้งแรกsize
:
วาดผ้าเช็ดตัวขึ้นอยู่กับขนาดที่ป้อน, ascii-artสำหรับผ้าเช็ดตัวของเรา
width = 12*size
#the line that has the "bar" its always present with different sizes
Width is defined as:
from the first | to the second | has to be equal to size*12 including both ||
<- width->
[===| |====]
| 12 chars || 1 height starts here, just after the "bar"
| SIZE = 1 || 2
| || 3 height = 5*size
| || 4
| || 5 height ends here just before the first line |=======|
|==========|| # the lines with the #
|==========|| # are always fixed
""""""""""""| # it means, every towel
| | # always has this 5 rows
"""""""""""" # no matter the size
ประการที่สองให้มัน message
คุณต้องส่งข้อความให้ผ้าเช็ดตัวที่ไม่มีข้อความที่สวยงามเย็บด้วยด้ายสีทองคืออะไร?
ตัวอย่างที่ 1
input: size=1, message="a simple message can stay with size"
width = 12*size
#the line that has the "bar" it's always present with different sizes
#no words allowed at the bar level
[===| |====]
| a simple || 1 height starts here, just after the "bar"
| message || 2
| can stay || 3 height = 5*size
| with size|| 4
| || 5 height ends here just before the first line |=======|
|==========|| # the lines with the #
|==========|| # are always fixed
""""""""""""| # it means, every towel
| | # always has this 5 rows
"""""""""""" # no matter the size
ตัวอย่างที่ 2
input size=2
message="Don't Panic and bring a towel to SE Programming Puzzles and CodeGolf"
The size is 2
That means 24 width and 10 heigth
<- 24 chars width ->
[===| |====]
| Don't Panic and bring|| 1
| a towel to SE || 2
| Programming Puzzles || 3
| and CodeGolf || 4
| || 5
| || 6
| || 7
| || 8
| || 9
| || 10
|======================|| # The lines with the "#"
|======================|| # always present and
""""""""""""""""""""""""| # adapted to
| | # the towel width
"""""""""""""""""""""""" #
เกณฑ์การตอบรับที่ยอมรับ
- นี่คือcodegolfดังนั้นจึงใช้กฎปกติ
กฎระเบียบ
คุณรับประกันได้ว่าสตริงอินพุตทั้งหมดจะพอดีกับขนาดดังนั้นจึงไม่มีอินพุตเหมือน
size=1; message="This string is just tooooooooooooooooooooo long to fit the width and height of your towel"
กันรูปแบบสตริงขึ้นอยู่กับคุณถ้าคุณต้องการจัดกึ่งกลางของสตริงย่อย
การแบ่งคำไม่ได้รับอนุญาต
การแก้ไข
ฉันเสียใจอย่างแท้จริงเกี่ยวกับการถูกกระทบกระเทือนใด ๆ เพราะ ansii towels ฉันวาดไม่ตรงกับพารามิเตอร์เพิ่มสคริปต์ PHP สำหรับทั้งสองตัวอย่างเพื่อให้คุณตรวจสอบผลลัพธ์ที่คาดหวัง
ขอขอบคุณทุกคนที่ลงคะแนนและพิจารณาความท้าทายครั้งแรกของฉัน: D
current line + next word
จะเกินขีด จำกัด ที่อนุญาตสำหรับผ้าเช็ดตัวของคุณ @Jakob เมื่อสคริปต์ php ที่ฉันโพสต์ตัดสินใจ