คำถามติดแท็ก ascii-art

ความท้าทายนี้เกี่ยวข้องกับการสร้างหรือแยกภาพโดยใช้ตัวอักษรเป็นสี โดยทั่วไปจะใช้เพียง 95 ตัวอักษรที่พิมพ์ได้ (จากทั้งหมด 128 ตัว) ที่กำหนดโดยมาตรฐาน ASCII จากปี 1963

5
สร้างชิป QFP ให้ฉัน!
สร้างชิป QFP ให้ฉัน! จากกล่องทราย! QFP เป็นรูปแบบของฟอร์มแฟคเตอร์สำหรับอุปกรณ์ไฟฟ้าที่หมุดออกมาด้านข้างของชิป นี่คือรูปภาพขององค์ประกอบ QFP ทั่วไป: คุณจะเห็นได้ว่าสูตรทั่วไปนั้นมี 4 ด้านของจำนวนพินเท่ากัน ความท้าทายของคุณคือการสร้างโปรแกรมที่ใช้จำนวนเต็มซึ่งแสดงถึงจำนวนพินที่ด้านหนึ่งและสร้างองค์ประกอบ ASCII QFP ด้วยหมายเลขที่มีหมายเลข การป้อนข้อมูล: เลขจำนวนเต็มเดียวซึ่งแทนจำนวนพินที่ด้านหนึ่ง เอาท์พุท: ชิป ASCII QFP ที่มี pinout ที่เหมาะสม ตัวอย่าง: การป้อนข้อมูล: 1 4 ┌┴┐ 1┤├3 └┬┘ 2 การป้อนข้อมูล: 2 87 ┌┴┴┐ 1┤├6 2┤├5 └┬┬┘ 34 การป้อนข้อมูล: 12 444444444333 876543210987 ┌┴┴┴┴┴┴┴┴┴┴┴┴┐ 1┤├36 2┤├35 3┤├34 4┤├33 …

14
วิธีการวาดจุดหลอมเหลว
ช่างแกะสลักได้รับมอบหมายให้สร้างประติมากรรมน้ำแข็งสำหรับพิพิธภัณฑ์ใหม่ในกรีนแลนด์ เขาได้รับข้อมูลจำเพาะจากหัวหน้าของเขาซึ่งประกอบด้วยตัวเลขสองตัว: [s, m] หรือขนาดและละลาย ขนาดต้องเป็นเลขคี่ เขาได้รับภาพถ่ายของหยาดน้ำแข็งจริงบางภาพ: vvvvv [5, 0] vvv v vvvvvvv [7, 0] vvvvv vvv v vvvvvvv [7, 2] vvvvv vvvvvvv [7, 3] vvv [3, 1] เขาต้องการโปรแกรมเพื่อช่วยในการวาด ภาษาใด ๆ ที่ได้รับอนุญาต โปรแกรมจำเป็นต้องใช้ใน S และ M วิธีการอินพุตใด ๆ ที่ยอมรับได้ จากนั้นคุณจะต้องพิมพ์การแสดงภาพ ASCII ของมัน S คือจำนวนvs บนเลเยอร์แรก M คือจำนวนเลเยอร์ที่ถูกตัดออกจากด้านล่าง นี่คือรหัสกอล์ฟเพื่อให้เป็นปกติการแข่งขันครั้งนี้จะไบต์ตาม ช่องว่างจะนับสำหรับการนับไบต์ ไบต์ที่น้อยที่สุดชนะ …

1
แสดงมุมมองจากบนลงล่างของหลังคาสะโพกใน ASCII
ก่อนคำศัพท์บางคำ ( แหล่งที่มา ): ปั้นหยาเป็น (quoting วิกิพีเดีย) "ประเภทของหลังคาที่ทุกทิศทุกทางลาดชันลงไปผนังมักจะมีความลาดชันค่อนข้างอ่อนโยน" ความลาดชันเป็นพื้นผิวระนาบที่เป็นส่วนหนึ่งของหลังคา สันเขาเป็นขอบที่ทั้งสองตรงข้ามกับหลังคาลาด สะโพกเป็นขอบนูนที่มีความลาดเอียงสองด้านของผนังตั้งฉาก หุบเขาเป็นขอบเว้าที่มีเนินเขาสองลูกอยู่ในแนวกำแพงตั้งฉาก สะโพกและหุบเขาจะถูกเรียกรวมกันเป็นขอบแนวทแยงมุม อินพุตที่เป็นไปได้: ** * *** ******** ** * ** ผลลัพธ์ที่สอดคล้องกัน: +-------+ +---+ +-----------+ |\ /| |\ /| |\ /| | \ / | | V | | \ ^---< | | \ / | | | | | …

14
ดังนั้นคนเลี้ยงแกะพูดว่า
ฉันเหนื่อย แต่ฉันนอนไม่หลับ ช่วยฉันนับแกะ รับอินพุต N (จำนวนเต็มบวก) ทำ N แกะข้ามรั้ว ascii เช่นตัวอย่างด้านล่าง ควรแสดงหนึ่งเฟรมในครั้งเดียว: o |-| ──|-|── 0 o|-| ──|-|── 0 o |-| ──|-|── 0 |-|o ──|-|── 0 |-| o ──|-|── 0 o |-| ──|-|── 1 o|-| ──|-|── 1 o |-| ──|-|── 1 ควรเก็บจำนวนไว้ที่ด้านล่างขวาของ 'พื้นดิน' อนุญาตการเว้นวรรคและนำหน้าและขึ้นบรรทัดใหม่ หากภาษาที่คุณเลือกมีปัญหาในการล้างหน้าจอสำหรับแต่ละเฟรมคุณสามารถเพิ่มบรรทัดใหม่ที่เพียงพอเพื่อล้างหน้าจอ - โปรดระบุจำนวนบรรทัดที่คุณเพิ่มสำหรับคำตอบของคุณ โปรแกรมควรยุติเมื่อแกะ N'th อยู่ใน …

8
เฉลี่ยภาพ
นี่คือภาพ: %%%%%%%%%%%%% % Hello, % % world! % %%%%%%%%%%%%% แต่มันก็สับสนเกินกว่าที่สมองของเราจะคำนวณได้ ดังนั้นเราจึงชอบมันโดยเฉลี่ย: แบ่งออกเป็นส่วน 2 x 2 หากภาพสิ้นสุดก่อนที่ส่วนจะสมบูรณ์ให้จินตนาการว่ามีช่องว่างอยู่ หาค่าเฉลี่ยของอักขระ ASCII ในแต่ละส่วน ปัดเศษค่าเฉลี่ยนี้แล้วแปลงเป็นอักขระ ASCII สุดท้ายให้แทนที่อักขระทั้งหมดในส่วนเป็นอักขระเฉลี่ย ทำซ้ำขั้นตอนนี้ทุกส่วน ดังนั้นค่าเฉลี่ยของภาพด้านบนจะเป็นดังนี้: $$>>II99###### $$>>II99###### $$##88KKGG#### $$##88KKGG#### งานของคุณ: เขียนโปรแกรมที่ใช้อิมเมจ ASCII เป็นอินพุตและเอาต์พุตโดยเฉลี่ย หมายเหตุจำนวนเต็มถูกปัดเศษตามฟังก์ชันfloor(x+0.5)หรือฟังก์ชันที่คล้ายกัน - กล่าวอีกนัยหนึ่งคือปัดครึ่งขึ้นไป

28
การสร้างสแควร์ไขว้
การสร้างสแควร์ไขว้ คุณจะต้องใส่จำนวนเต็มหนึ่งหรือมากกว่าและส่งออกสี่เหลี่ยมที่ทำจากตัวอักษรที่พิมพ์ได้ที่คุณเลือกด้วยการข้ามเส้นทแยงมุมผ่านศูนย์ แนวคิดทั่วไปสำหรับการส่งออกเป็นสี่เหลี่ยมกลวงที่มีเส้นทแยงมุมทะลุผ่านมัน: Input: 7 Output: ******* *# #* * # # * * # * * # # * *# #* ******* ในตัวอย่างข้างต้นเครื่องหมาย '*' แทนกล่องด้านนอกและ '#' หมายถึงเครื่องหมายกากบาทแนวทแยงมุม โปรดทราบว่าตัวอย่างด้านบนใช้อักขระสองตัวที่แตกต่างกันเพื่อให้ง่ายต่อการดูว่าผลลัพธ์เป็นอย่างไรโปรแกรมของคุณควรใช้อักขระหนึ่งตัวเท่านั้น อินพุต จำนวนเต็ม 1 หรือมากกว่านั้นรับประกันว่าจะเป็นเลขคี่ เอาท์พุต สี่เหลี่ยมจัตุรัสที่ประกอบขึ้นจากตัวละครที่คุณเลือกโดยมีกากบาทผ่านกลาง ไม้กางเขนจะต้องเป็นเส้นทแยงมุม สแควร์อาจถูกส่งออกผ่านฟังก์ชั่นหรือเขียนไปยังเอาท์พุท การขึ้นบรรทัดใหม่จะไม่เป็นไร สามารถส่งออกเป็นกราฟิกแผนภาพหรือภาพหากคุณต้องการเช่นกัน ตัวอย่าง Input: 1 Output: * Input: 3 Output: *** *** *** …

10
วาดเส้นเวลา
กำหนดอินพุตของรายการจำนวนเต็มที่แทนวันที่เอาท์พุทไทม์ไลน์ศิลปะ ASCII ดังนี้: <-----------------------------> A B C D E [1990, 1996, 1999, 2011, 2016]ระยะเวลาดังกล่าวข้างต้นคือการส่งออกสำหรับการป้อนข้อมูล บันทึกสิ่งต่าง ๆ เกี่ยวกับเส้นเวลา: บรรทัดแรกของเอาต์พุตคือเครื่องหมายน้อยกว่า ( <), เครื่องหมายขีดคั่นจำนวนเท่ากับdateOfLastEvent - dateOfFirstEvent + 3(เพราะต้องเพิ่มหนึ่งรายการเพื่อรวมวันที่สุดท้าย, และอีกสองครั้งสำหรับการเติม) และเครื่องหมายมากกว่า ( >) ในบรรทัดที่สองของการส่งออกแต่ละเหตุการณ์จะถูกวางที่ตำแหน่งdateOfEvent - dateOfFirstEvent + 2(สมมติว่าเป็นศูนย์การทำดัชนี) ดังนั้นเหตุการณ์ครั้งแรกถูกวางไว้ที่ตำแหน่ง2สองตัวอักษรไปทางขวาของและเหตุการณ์สุดท้ายคือในทำนองเดียวกันตัวละครทั้งสองด้านซ้ายของ<> แต่ละเหตุการณ์จะแสดงด้วยตัวอักษร กิจกรรม 1 คือAกิจกรรม 2 คือBฯลฯ จะไม่มีเหตุการณ์เกิน 26 เหตุการณ์ คุณอาจใช้อักษรตัวพิมพ์เล็กหากคุณต้องการ ไม่มีช่องว่างต่อท้าย ช่องว่างพิเศษที่อนุญาตเท่านั้นคือการขึ้นบรรทัดใหม่ที่ส่วนท้ายของโปรแกรม นอกจากนี้ ไม่จำเป็นต้องให้เหตุการณ์ตามลำดับ วันที่จะยังคงติดป้ายตามตำแหน่งในอาเรย์ …

3
การเขียนโปรแกรมปริศนาและ Taco Truck
Programming Puzzles & Code Golf ได้เปิดตัวรถบรรทุกทาโก้ ! เป็นคำที่ออกมาและตอนนี้ผู้ใช้จากทั่วทุกมุมเครือข่ายการแลกเปลี่ยนชุดจะมาลองอร่อย ASCII จริงของเราทาโก้ เราต้องการความช่วยเหลือจากคุณเพื่อให้แน่ใจว่าทุกคนจะได้รับคำสั่งซื้อของพวกเขาในเวลาที่เหมาะสม ภายในห้องเก็บอาหารมีจำนวนไม่มากนักดังนั้นคุณต้องใช้รหัสของคุณให้สั้นที่สุด ตอนนี้สำหรับการฝึกอบรมภาคปฏิบัติ งานของคุณ เขียนโปรแกรมเต็มรูปแบบที่อ่านคำสั่งจาก STDIN หรือฟังก์ชั่นที่ได้รับคำสั่งสตริงเดียวเป็นอินพุต Tacos ถูกพิมพ์ไปที่ STDOUT สั่งทำ รับออเดอร์ ลูกค้าจะให้คำสั่งซื้อของคุณผ่านทาง STDIN หรืออาร์กิวเมนต์ของฟังก์ชัน คำสั่งซื้อจะอยู่ในรูปแบบของรายการที่คั่นด้วยจุลภาคของรสชาติที่ต้องการ ลำดับที่ได้รับ toppings กำหนดลำดับที่พวกเขาปรากฏในทาโก้กับรายการแรกที่ด้านบนด้านล่างและสุดท้ายอยู่ด้านบน นี่คือสิ่งที่เรามีอยู่ในสต็อก: ถั่ว ข้าว ผัก ผักกาดหอม กวากาโมเล่ ครีม ซัลซ่า ลูกค้าสามารถสั่งซื้อเครื่องประดับ 1 ชิ้นได้ แต่ไม่เกิน 5 หน้า รสชาติไม่จำเป็นต้องแตกต่างกัน คุณอาจสมมติว่าลูกค้าคุ้นเคยกับเมนูก่อนสั่งซื้อดังนั้นคำสั่งซื้อทั้งหมดจะมีเฉพาะส่วนผสมที่เราเก็บไว้ นั่นคืออินพุตจะถูกต้องเสมอ เสิร์ฟทาโก้ ลูกค้าต้องการทาโก้ของพวกเขาถูกพิมพ์ไปยัง STDOUT พวกมันใช้ได้ดีกับช่องว่างชั้นนำหรือตามรอยในอาหารของพวกเขา …

15
ความท้าทายทางเรขาคณิต
ทุกคนรักรูปทรงเรขาคณิต เหตุใดเราจึงไม่ลองและเขียนรหัสมัน ความท้าทายนี้เกี่ยวข้องกับการใช้ตัวอักษรและตัวเลขและทำให้รูปร่างขึ้นอยู่กับมัน การป้อนข้อมูล อินพุตจะอยู่ในรูปแบบของ (shapeIdentifier)(size)(inverter)การป้อนข้อมูลจะอยู่ในรูปแบบของ แต่รูปร่างคือตัวระบุขนาดและอินเวอร์เตอร์คืออะไร ตัวระบุรูปร่างเป็นตัวระบุสำหรับประเภทของรูปร่างที่คุณจะทำกับ*s ต่อไปนี้เป็นตัวระบุรูปร่าง: s - จัตุรัส t - สามเหลี่ยม ขนาดจะอยู่ระหว่าง1-20และเป็นขนาดของรูป อินเวอร์เตอร์เป็นหรือไม่รูปร่างจะถูกลงคว่ำซึ่งจะเขียนแทนด้วยหรือ+ -หมายเหตุ: s3-== (เท่ากับ) s3+เพราะกำลังสองเป็นสมมาตร อย่างไรก็ตามt5-! = t5+(ไม่เท่ากับ) ช่องว่างต่อท้ายนั้นไม่เป็นไรในผลลัพธ์ แต่ช่องว่างชั้นนำไม่ ตัวอย่างผลลัพธ์ Input: s3+ Output: *** *** *** Input: t5+ Output: * *** ***** Input: t3- Output: *** * หมายเหตุพิเศษ อินพุตสามเหลี่ยมจะเป็นเลขคี่เสมอดังนั้นสามเหลี่ยมจะลงท้ายด้วย 1 *ที่ด้านบนเสมอ ขนาดของรูปสามเหลี่ยมคือขนาดของฐานถ้าอินเวอร์เตอร์เป็น และมีขนาดของด้านบนถ้าอินเวอร์เตอร์เป็น+-
23 code-golf  string  ascii-art  geometry  code-golf  ascii-art  subsequence  fewest-operations  test-battery  code-golf  array-manipulation  bitwise  code-golf  interactive  code-golf  music  code-golf  string  kolmogorov-complexity  code-golf  string  decision-problem  simulation  code-golf  string  classification  code-golf  sequence  base-conversion  palindrome  code-golf  kolmogorov-complexity  code-golf  date  astronomy  code-golf  sequence  base-conversion  code-golf  geometry  combinatorics  code-golf  string  code-golf  math  array-manipulation  code-challenge  math  code-golf  card-games  code-challenge  array-manipulation  sorting  code-golf  code-golf  math  abstract-algebra  polynomials  code-golf  palindrome  factoring 

5
แปลง Chevrons เป็น Soliduses
เขียนโปรแกรมที่ใช้ในสตริงที่มีช่องว่างเฉพาะบรรทัดใหม่และวงเล็บเหลี่ยม: <, >( เครื่องหมายบั้ง ) เอาท์พุทสตริงของช่องว่างการขึ้นบรรทัดใหม่และทับ: /, \( โซลิด ) ที่มีรูปร่างสอดคล้องกับอินพุตแต่หมุนหนึ่งในสี่รอบตามเข็มนาฬิกาโดยมีคอลัมน์ของช่องว่างที่แทรกระหว่างแต่ละแถวของอินพุตต้นฉบับ (เพื่อความสวยงาม) ตัวอย่างเช่นหากอินพุตคือ: <> ผลลัพธ์จะเป็นดังนี้: /\ \/ หากอินพุตคือ: ><<<> <>< ผลลัพธ์จะเป็นดังนี้: \/ /\ /\ \/ /\ /\ /\ \/ หากอินพุตคือ: >> << <> <> < >< ผลลัพธ์จะเป็นดังนี้: /\ \/ \/ \/ \/ /\ /\ /\ /\ \/ /\ สังเกตว่ามีช่องว่างคอลัมน์เดียวระหว่างแถวอินพุตต้นฉบับในสองตัวอย่างสุดท้ายอย่างไร คุณสามารถเขียนโปรแกรมเต็มรูปแบบที่รับอินพุตด้วยวิธีปกติ …

20
N Slab Slanted Slash Cake
เขียนโปรแกรมหรือฟังก์ชั่นที่รับจำนวนเต็มบวก N เมื่อ N คือ 1 เอาต์พุต /\ \/ เมื่อ N คือ 2 เอาต์พุต /\/\ \/ / / / \/ เมื่อ N คือ 3 เอาต์พุต /\/\/\ \/ / / / / / \/ / / / \/ เมื่อ N คือ 4 เอาต์พุต /\/\/\/\ \/ / / / / / / …

18
ลูกศรพิมพ์ง่าย
สำหรับการฝึกตีกอล์ฟฉันได้ทำภารกิจในอินโทร Intro ของชั้นแฟนของฉัน ฉันพบว่าสำหรับการมอบหมายนี้มีหลายกลยุทธ์ที่เข้ามาใกล้มากในการนับตัวละครและฉันแน่ใจว่าผู้คนที่นี่สามารถหาวิธีที่ดียิ่งขึ้น แม้ว่าฉันจะสนใจวิธีการทำสิ่งนี้มากที่สุดใน Python ฉันต้องการทราบว่าโปรแกรมนี้สามารถรับ golfed ได้มากที่สุดดังนั้นนี่คือ code golf และคำตอบที่สั้นที่สุดชนะ กฎระเบียบ: งานที่ได้รับมอบหมายระบุไว้ด้านล่าง ผู้ใช้ควรได้รับการขอให้ป้อนข้อมูลสองครั้งแม้ว่าข้อความแจ้งไม่จำเป็นต้องพูดอะไรและสามารถเรียงลำดับอื่นได้ ช่องโหว่มาตรฐานใช้ การบ้าน 3: ลูกศร เขียนโปรแกรมที่พร้อมท์ให้ผู้ใช้ใส่จำนวนคอลัมน์และพิมพ์ลวดลายตามที่เห็นด้านล่าง คุณสามารถสันนิษฐานได้ว่าผู้ใช้จะใส่ตัวเลขบวก โปรแกรมของคุณควรจัดการกับลูกศรซ้ายและขวา นี่คือตัวอย่างการทดสอบสองสามตัวอย่าง: How many columns? 3 Direction? (l)eft or (r)ight: r * * * * * How many columns? 5 Direction? (l)eft or (r)ight: l * * * * …

2
เชื่อมต่อตัวอักษร
คุณควรเขียนโปรแกรมหรือฟังก์ชั่นที่ได้รับบล็อกของตัวอักษรที่แสดงเป็นสตริงและเอาท์พุทหรือส่งกลับสตริงที่คล้ายกันซึ่งตัวอักษรที่อยู่ติดกันในตัวอักษรมีการเชื่อมต่อ ตัวอย่างภาพ (ในรูปแบบของinput => output): b d b d |\ /| | \ / | => | X | | / \ | e |/ \e c a c a รายละเอียด ข้อมูลที่ป้อนจะเป็นสตริงที่มีช่องว่างบรรทัดใหม่และNตัวอักษรตัวพิมพ์เล็กตัวแรกของอักขระ1 <= N <= 26 เส้นของอินพุตจะถูกเสริมด้วยช่องว่างที่สร้างบล็อกสี่เหลี่ยมเต็ม \ / | or -คู่ของตัวอักษรที่อยู่ติดกันในตัวอักษรทุกคนจะอยู่ในแถวเดียวกันคอลัมน์หรือเส้นทแยงมุมและควรจะเชื่อมต่อกับเส้นตรงโดยใช้ ASCII (บรรทัดอาจมีความยาว 0) ควรจัดการเหลื่อมทับสองบรรทัดต่อไปนี้: / and \ become …

13
หมุดตัวเชื่อมต่อ DVI
นี่น่าจะเป็นความท้าทายของนักกอล์ฟที่ส่วนท้ายของสเปกตรัม แต่ฉันคิดว่ามันอาจจะดีที่จะนำเอาการเพิ่มประสิทธิภาพขนาดเล็กออกมาที่นี่ มีตัวเชื่อมต่อ DVI สามประเภทพื้นฐาน : DVI-A (อะนาล็อก), DVI-D (ดิจิตอล) และ DVI-I (รวมอยู่) นอกจากนี้ยังมีเวอร์ชั่นลิงค์เดียวและคู่ลิงค์ของตัวเชื่อมต่อ DVI-D และ DVI-I แต่ละตัวเชื่อมต่อที่ต่างกันห้าตัวนั้นใช้พินที่แตกต่างกัน ได้รับหนึ่งA, D1, D2, I1, I2เป็นตัวระบุสำหรับประเภทของการเชื่อมต่อการพิมพ์แทน ASCII ที่สอดคล้องกันของหมุดเชื่อมต่อที่: A: # # # # # # # ===== # # # # # # # # # D1: # # # # # # …


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.