Skip to main content

Minimalist star pattern generator using optimized one-liners.

Project description

๐ŸŒŸ makeastar (๋ณ„) v2.0 ๐ŸŒŸ

"๋ณ„ ์ฐ๊ธฐ์˜ ์ข…์ฐฉ์—ญ: ์ง„์ •ํ•œ ๊ทธ๋ž˜ํ”ฝ ์—”์ง„์œผ๋กœ์˜ ์ง„ํ™”"

PyPI Version License


๐Ÿš€ ๊ฐœ์š”

makeastar๋Š” ํŒŒ์ด์ฌ์—์„œ ASCII ๋ณ„ ํŒจํ„ด์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์ฒจ๋‹จ ๊ทธ๋ž˜ํ”ฝ ์—”์ง„์ž…๋‹ˆ๋‹ค. ๋‹จ์ˆœํ•œ ํ…์ŠคํŠธ ์ถœ๋ ฅ์„ ๋„˜์–ด, ๋น„ํŠธ๋งˆ์Šคํฌ(Bitmask) ์ตœ์ ํ™”์™€ ๊ธฐํ•˜ํ•™์  ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ๋ฌดํ•œํ•œ ์กฐํ•ฉ๊ณผ ๋ณ€ํ˜•์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ์›, ํ•˜ํŠธ, ์ปค์Šคํ…€ ์ˆ˜์‹๊นŒ์ง€ ๋‹จ ํ•œ ์ค„๋กœ ๊ตฌํ˜„ํ•˜์„ธ์š”.


๐Ÿ›  ์ฃผ์š” ๋ฌธ๋ฒ• ๋ฐ ๊ธฐ๋Šฅ

1. ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ๋„ํ˜• (All Shapes)

ํ•จ์ˆ˜๋ช… ์„ค๋ช… ํ•œ๊ตญ์–ด ๋ณ„์นญ
triangle(w, h) ์™ผ์ชฝ ์ •๋ ฌ ์‚ผ๊ฐํ˜• ์‚ผ๊ฐํ˜•, ใ……ใ„ฑ
right_triangle(w, h) ์˜ค๋ฅธ์ชฝ ์ •๋ ฌ ์‚ผ๊ฐํ˜• ์šฐ์ธก์‚ผ๊ฐํ˜•, ใ…‡ใ……ใ„ฑ
pyramid(n) ์ค‘์•™ ์ •๋ ฌ ํ”ผ๋ผ๋ฏธ๋“œ ํ”ผ๋ผ๋ฏธ๋“œ, ใ…ใ„น
rhombus(n) ๋งˆ๋ฆ„๋ชจ ๋ชจ์–‘ ๋งˆ๋ฆ„๋ชจ, ใ…ใ„นใ…
diamond(n) ๋ณด์„ ๋‹ค์ด์•„๋ชฌ๋“œ ๋‹ค์ด์•„๋ชฌ๋“œ, ใ„ทใ…‡
circle(r) New! ๊ธฐํ•˜ํ•™์  ์› ์›, ใ…‡
heart(n) New! ํ•˜ํŠธ ๋ชจ์–‘ ํ•˜ํŠธ, ใ…Žใ…Œ
custom(func, w, h) God! ์ˆ˜์‹ ๊ธฐ๋ฐ˜ ์ปค์Šคํ…€ -

[!TIP] custom ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด lambda x, y: x == y ์ฒ˜๋Ÿผ ์ˆ˜์‹์„ ์ง์ ‘ ์ž…๋ ฅํ•˜์—ฌ ์ƒ์ƒํ•˜๋Š” ๋ชจ๋“  ๋ชจ์–‘์„ ๊ทธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. ๋ฌดํ•œ ์กฐํ•ฉ ์‹œ์Šคํ…œ (God-Layer Operators)

v2.0๋ถ€ํ„ฐ ์ง€์›ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ๋น„ํŠธ ์—ฐ์‚ฐ์ž๋“ค์ž…๋‹ˆ๋‹ค.

  • ์ˆ˜์ง ๊ฒฐํ•ฉ (+): ์œ„์•„๋ž˜๋กœ ์ด์–ด ๋ถ™์ž…๋‹ˆ๋‹ค.
  • ์ˆ˜ํ‰ ๊ฒฐํ•ฉ (|): ์ขŒ์šฐ๋กœ ๋‚˜๋ž€ํžˆ ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. (๋†’์ด ์ž๋™ ํŒจ๋”ฉ)
  • ์˜ค๋ฒ„๋ ˆ์ด ๊ฒฐํ•ฉ (&): ๋‘ ๋ชจ์–‘์„ ํ•œ ์ž๋ฆฌ์— ๊ฒน์นฉ๋‹ˆ๋‹ค.
  • ๋ฐฐํƒ€์  ๊ฒฐํ•ฉ (^): ๊ฒน์น˜๋Š” ๋ถ€๋ถ„๋งŒ ์ง€์šฐ๊ฑฐ๋‚˜ ๋ฐ˜์ „์‹œํ‚ต๋‹ˆ๋‹ค (XOR).
  • ๋งˆ์Šคํ‚น (-): ์ฒซ ๋ฒˆ์งธ ๋ชจ์–‘์—์„œ ๋‘ ๋ฒˆ์งธ ๋ชจ์–‘์„ ๊นŽ์•„๋ƒ…๋‹ˆ๋‹ค.
  • ๋ฐ˜์ „ (~): ๋ณ„๊ณผ ๊ณต๋ฐฑ์„ ๋’ค๋ฐ”๊ฟ‰๋‹ˆ๋‹ค (Negative).
# ํ”ผ๋ผ๋ฏธ๋“œ ์•ˆ์— ๊ตฌ๋ฉ ๋šซ๋ฆฐ ๋งˆ๋ฆ„๋ชจ๋ฅผ ๊ฒน์น˜๊ณ  ๋Œ๋ฆฌ๊ธฐ
p = (star.pyramid(10) ^ star.rhombus(5)).rotate(90)
p.draw()

3. ๋ณ€ํ˜• ๋ฐ ๋ณ€ํ™˜ (Transformation)

์ƒ์„ฑ๋œ ํŒจํ„ด์„ ์ž์œ ์ž์žฌ๋กœ ์š”๋ฆฌํ•˜์„ธ์š”.

  • .rotate(angle): 90, 180, 270๋„ ํšŒ์ „
  • .flip_h(): ์ขŒ์šฐ ๋ฐ˜์ „
  • .flip_v(): ์ƒํ•˜ ๋ฐ˜์ „
  • .replace(char): ๋ณ„(*) ๋Œ€์‹  ์›ํ•˜๋Š” ๋ฌธ์ž๋กœ ๊ต์ฒด

โšก ๊ธฐ์ˆ ์  ์ •์ˆ˜ (The Engine)

  • Bitmask Core: ๋ชจ๋“  ๋ผ์ธ์„ ์ •์ˆ˜ ๋น„ํŠธ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ์—ฐ์‚ฐ ์†๋„๋ฅผ CPU ํ•œ๊ณ„์น˜๊นŒ์ง€ ๋Œ์–ด์˜ฌ๋ ธ์Šต๋‹ˆ๋‹ค.
  • LRU Cache & Slots: ๋ฉ”๋ชจ๋ฆฌ์™€ ์—ฐ์‚ฐ ์ž์›์„ ๊ทน๋‹จ์ ์œผ๋กœ ์•„๊ปด ๋Œ€๊ทœ๋ชจ ํŒจํ„ด๋„ ์ฆ‰๊ฐ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • K-Localization: ์›(), ํ•˜ํŠธ(), ๋ณ„() ๋“ฑ ์นœ์ˆ™ํ•œ ํ•œ๊ตญ์–ด์™€ ์ดˆ์„ฑ ์ž…๋ ฅ์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ฆ ์„ค์น˜๋ฒ• (Installation)

pip install makeastar

Designed by Rheehose (Rhee Creative)

๋Œ€ํ•œ๋ฏผ๊ตญ์˜ ์ž์œ ์™€ ์ฐฝ์˜๋ ฅ์„ ์‘์›ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ‡ฐ๐Ÿ‡ท๐Ÿ‘Š

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

makeastar-2.0.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

makeastar-2.0-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file makeastar-2.0.tar.gz.

File metadata

  • Download URL: makeastar-2.0.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for makeastar-2.0.tar.gz
Algorithm Hash digest
SHA256 871cd0e2071a0ed0edcd2ad4d21688c6c47cfd502f47f635177cb6d9db17a034
MD5 4c1c330678062206d31f44f6cacc7ca6
BLAKE2b-256 0191d3710e0c914cb4e1a9c3b79b11e6a439e54f33ab2ab4a4556836bd24af00

See more details on using hashes here.

File details

Details for the file makeastar-2.0-py3-none-any.whl.

File metadata

  • Download URL: makeastar-2.0-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for makeastar-2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c7906d2304f022d00c681f86b489eac0c61beeed2004c4151d7edb6e58e8e9a6
MD5 04ae766cac8ec207b340765dec47bfb2
BLAKE2b-256 932ff492f6c1166a41d61374db9a50d70091293bf165923f4ad38d001ed7b1ba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page