Magik Says Happy Valentines by Drawing a Heart to Console
- 时间:2020-10-12 15:39:01
- 分类:网络文摘
- 阅读:135 次
Hey, it is happy valentines today! And I think it would be nice to please my wife with something special. I am learning Magik – which is a OO programming language developed by GE Smallworld, and the following seems a good learning/coding exercise.

Drawing a Heart to Console in Magik Programming
Draw a Heart Shape to Console using Magik
Drawing heart is a fun exercise.
# Drawing a heart to the console
# Happy Valentine's Day 2019
_package sw
$
_block
_local c << 178.as_character() # heart symbol
_local s << ""
# Magik does not have a write without printing new lines
# Therefore, we concatenate output strings
_local concat << _proc(str, char)
>> str + char
_endproc
# 5 blank lines
_for i _over range(1, 5) _loop s << concat(s, %newline) _endloop
_for i _over range(1, 3)
_loop
_for j _over range(1, 32 - 2 * i) _loop s << concat(s, %space) _endloop
_for k _over range(1, 4 * i + 1) _loop s << concat(s, c) _endloop
_for l _over range(1, 13 - 4 * i) _loop s << concat(s, %space) _endloop
_for m _over range(1, 4 * i + 1) _loop s << concat(s, c) _endloop
s << concat(s, %newline)
_endloop
_for i _over range(1, 3)
_loop
_for j _over range(1, 24 + 1) _loop s << concat(s, %space) _endloop
_for k _over range(1, 29) _loop s << concat(s, c) _endloop
s << concat(s, %newline)
_endloop
_for i _over range(7, 1, -1)
_loop
_for j _over range(1, 40 - 2 * i) _loop s << concat(s, %space) _endloop
_for k _over range(1, 4 * i - 1) _loop s << concat(s, c) _endloop
s << concat(s, %newline)
_endloop
_for i _over range(1, 39) _loop s << concat(s, %space) _endloop
# the last tiny bit
s << concat(s, c)
# 5 blank lines
_for i _over range(1, 5) _loop s << concat(s, %newline) _endloop
write(s)
_endblock
Magik does not provide a write without adding %newline – therefore we concatenate the output string and print it all once to the console.
–EOF (The Ultimate Computing & Technology Blog) —
推荐阅读:What to Look For When Choosing a Web Host for Your Blog 5 Ways to Develop a Better Email List Mosul Blogger Writes About The Horror Of Living Under ISIS Hijab-Wearing Blogger Becomes Newest Covergirl Ambassador High School Blogger Makes A Cameo In Election Coverage French Blogger Embarks On ‘Zero Waste’ World Tour 30 Incredibly Useful Tools You Need to Grow Your Blog What You Need to Know Before Becoming an Internet Entrepreneur Teen Horror Blogger Speaks Out About Killing Her Parents SEO for 2017: Post Penguin 4.0 and How to Take a Publisher’s App
- 评论列表
-
- 添加评论