Như tiêu đề đã nói, tôi đã suy nghĩ để cạnh tranh trong đó người ta phải phát hiện các cạnh của nghệ thuật ASCII.
Mã phải chấp nhận nghệ thuật B / W ASCII làm đầu vào. Một B / nghệ thuật ASCII W được định nghĩa là (theo tôi) một nghệ thuật ASCII với chỉ có một loại phi trắng-không gian nhân vật (trong trường hợp của chúng tôi: một dấu chấm câu *
). Và vì đầu ra tạo ra một nghệ thuật ASCII tiêu chuẩn (tất cả các ký tự ASCII được chấp nhận) sẽ ghi nhớ phần đầu tiên.
Mục đích của việc sử dụng nhiều hơn một ký tự trong đầu ra là để làm cho một số cạnh trở nên gọn gàng hơn. Chẳng hạn, người ta có thể để đầu vào này
***
****
******
******
******
******
****
***
có thể trở thành:
___
_/ )
_/ /
/ |
| /
| \
\ |
`\ |
\___)
Chuỗi đầu vào \n
tách ra làm đầu vào. Mỗi dòng có tối đa các 80
ký tự. Số lượng hàng không được chỉ định.
Đây là chương trình Python3 mẫu của tôi:
import fileinput as f
import re as r
import copy as c
a,s,p='*',' ','+'
def read(n):
s=[list(' '*n)]
for l in f.input():
if(len(l)>n):l=l[:n]
k=list(r.sub('[^ ^\%c]'%a,'',' '+l+' '))
s.append(k+[' ']*(n-len(k)))
s.append([' ']*n)
return s
def np(s):
s=c.deepcopy(s)
for l in s[1:-1]:
for w in l[1:-1]: print(w,end='')
print()
def grow(i):
o=c.deepcopy(i)
for x in range(1,len(o)-1):
for y in range(1,len(o[x])-1):
if(i[x][y]==a): o[x-1][y-1]=o[x-1][y+1]=o[x-1][y]=o[x+1][y]=o[x+1][y-1]=o[x+1][y+1]=o[x][y+1]=o[x][y-1]=a
return o
def diff(i,o):
c=[]
for x in range(0,len(i)):
l=[]
for y in range(0,len(i[x])):
if(i[x][y]==a and o[x][y]==s): l.append(p)
else: l.append(s)
c.append(l)
return c
I=read(80)
np(diff(grow(I),I))
Đầu vào:
Ở đây dưới đây tôi đặt cả đầu vào của các chương trình. Nó là NGHỆ THUẬT ASCII 80x70. Nó có nghĩa là nó có 70 dòng 80 ký tự, mỗi dòng cách nhau \n
.
Tệp đầu vào này chỉ chứa khoảng trắng và dấu hoa thị *
, nó có tối đa 80 cột như mọi nghệ thuật ASCII .
Nếu bạn tìm thấy một nghệ thuật đẹp hơn cho tôi biết!
*************
***** *****
****** ***
*** ****
********* **
*********** **
****** ******* **
***** ******* *** **
**** ******** ***** *
** ********* ***** ***** *
*** ********* ******* ****** **
** ********** ******* ****** **
** ********** ******* ******** *
* *********** ****** ******** *
** ************ ***** ******** *
* ************ *** ******** *
* ************* ****** *
* ************* *** *
** ************* *
* ************** *
** ************* **
* ************* **
** ************* ***
*** ************* ****
** ************ ****
** ************* ****
** ************* ***** ****
** ************* ** ** ** ****
** ************ * * ** ** ****
* ************ ** ** ** ** ****
* ************* ******* ** *** ****
* ************ ***** ******* ****
* ************ *** ***** ****
** * ************* **** *****
** *** ************** *****
* ***** ************* ******
** ******* ************** *******
********** *************** * *********
********** ***************** *** ***********
*********** ******************* **************
*********** ********************** ******************
************ ***************** ** ***********************
************* ****************** **** *******************
************** ****************** ********************
**************** ****************** *******************
*************** ******************* *******************
**************** ****************** ******************
****************** ****************** *******************
******************* ***************** *******************
********************* ****************** ********************
********************************************* *********************
********************************************** ***********************
************************ ***************** ************************
********************** ******************* **************************
********************* *********************************************
********************* **************************** ***************
******************** ************************** ***************
******************** ********************* ***************
******************* ******************** ****************
****************** ***************** ****************
***************** **************** ***************
***************** **************** ***************
***************** ***************** ***************
**************** ***************** ***************
************** ****************** ***************
**************** ****************
************** ***************
**************
************
Sản lượng có thể:
Một đầu ra có thể có thể là:
+++++ ++++
++++++ ++++++++++ +++
++ +++++ +++++ +++++
++++++++ +++++ ++++ ++
++++ ++ ++++ ++
++++++ ++ ++ ++
+++++ +++ + +++++ ++ ++
++++ +++++++ ++ ++ ++ ++ ++
++ +++++ ++ + + + +++++++ ++
+++ ++++ ++ + ++ ++ ++ ++ ++
++ ++ ++ ++ + + + ++ ++
++ +++ + + ++ + ++ +++ +
++ ++ ++ + ++ ++ + +++ +
++ +++ ++ + + +++ + + + ++
+ + + + + ++ + ++++ +
++ ++ ++ + ++ ++ ++ + + +
++ ++ + + +++++ ++ ++ + +
++ ++ + + +++ ++ + +
+ + ++ + +++++ + +
++ ++ + + ++ +
+ + + ++ + +
++ ++ ++ + + ++
++ + + ++ + ++
+ + + + + +
+ ++ ++ ++ + +
+ + + + +++++++ + +
+ + + + ++ ++ ++++ + +
+ + + + + +++ + ++ +++ + +
+ + ++ + + ++ ++ + ++ + ++ + +
+ ++ + ++ ++ +++ + + +++ ++ + +
+ + + + + ++ + +++ + + +
+ + + ++ ++ ++ ++ + + +
+ + +++ ++ ++ + +++ +++ + ++ +
+ ++ ++ + ++ +++++ + ++ ++ +
+ ++ ++ + + ++++++ ++ ++
++++ + ++ +++ ++ +
+ + ++ ++ +++ +++ +
+ + ++++ ++ ++ +++ +
++ ++ ++++ + + ++++ +
+ ++ +++++ +++++ +++++ +
++ ++ +++ ++++++ +
++ + +++++ +++++ +
++ + + +++ +++++ +
+++ + ++ ++++++ + +
+ ++ + ++ +
++ + + + +
+++ ++ + ++ ++
++ + + + +
+++ ++ + +++ +
++++++ + ++ ++
++ +++ +
+ ++ +
+++++ ++++++ +
+ ++ ++ + +
+ ++ + ++
+ + + ++ +
+ ++ + ++++ +
+ + + ++++++ ++ +
+ ++ + ++ + +
+ ++ + ++++ + +
+ ++ ++ + + ++
+ + + ++ + +
+ + + + + +
++ + + ++ + +
++ ++ + + + ++
++++++++++++++++ +++ + + +
++ ++ ++ +
++++++++++++++++ ++ +
++ ++
++++++++++++++
Đây cũng là đầu ra được tạo bởi kịch bản trên. Tất nhiên nó không phải là đầu ra tốt nhất và tôi chắc chắn rằng người ta có thể dễ dàng tạo ra một sản phẩm mượt mà hơn.
Đó là một cuộc thi phổ biến vì, tôi hy vọng phiếu bầu sẽ tỷ lệ thuận với sự thanh lịch và chất lượng đầu ra! (Ngoài ra tôi đoán acan có được kết quả tốt aplay
và gimp-cli
) Không có quy tắc nghiêm ngặt nào về việc đầu ra phải như thế nào..chỉ cần sử dụng trí tưởng tượng của bạn!