一年中秋至 又見圓月時

?
導語
假設農歷八月十五,程式員錯過了今年的中秋圓月,
?
▼
程式員的苦只有他們寄幾知道
bug,bug,bug,bug,bug,bug……
吃飯時在改bug,走路時在改bug,約會時在改bug,結婚時在改bug
就連中秋佳節也還!在!改!bug!
?
?
▼
不過做為一枚上知《邊城》下知編程的程式員,沒有什么可以難倒他
“不就是中秋的圓月亮嗎?”三分鐘以后…程式員自己用Python畫了一個
Python版中秋圓月!甚至可以的話,我每天都可以賞月過中秋~
?
?

正文
環境安裝:使用turtle繪制、游戲模塊pygame模塊照舊,
(1)首先繪制圓月,
def drawMoon():
turtle.penup() #畫筆拿起
turtle.goto(-150, 0)
turtle.fillcolor((255, 215, 0)) #圓月的顏色
turtle.pendown() #畫筆放下
turtle.begin_fill()
turtle.circle(112)
turtle.end_fill() #turtle.begin_fill() 到turtle.end_fill() 顏色填充
(2)然后繪制云層,
稍微有點兒復雜,因為云是飄動的,所以比月亮難一點,
def drawCloud():
turtle.penup()
turtle.goto(-500, 200)
turtle.fillcolor((245, 245, 245))
turtle.pencolor((255, 255, 255))
turtle.pensize(5)
turtle.pendown()
turtle.forward(250)
def cloud(mode='right'):
for i in range(90):
turtle.pensize((i+1)*0.2+5)
turtle.right(1) if mode == 'right' else turtle.left(1)
turtle.forward(0.5)
for i in range(90):
turtle.pensize(90*0.2+5-0.2*(i+1))
turtle.right(1) if mode == 'right' else turtle.left(1)
turtle.forward(0.5)
cloud()
turtle.forward(100)
cloud('left')
turtle.forward(600)
(3)
繪制山川,
def drawMountain():
turtle.penup()
turtle.goto(-500, -250)
turtle.pensize(4)
turtle.fillcolor((36, 36, 36))
turtle.pencolor((31, 28, 24))
turtle.pendown()
turtle.begin_fill()
turtle.left(20)
turtle.forward(400)
turtle.right(45)
turtle.forward(200)
turtle.left(60)
turtle.forward(300)
turtle.right(70)
turtle.forward(300)
turtle.goto(500, -300)
turtle.goto(-500, -300)
turtle.end_fill()
(4)
設定界面,進界面就有音樂播放,
def initTurtle():
pygame.mixer.init()
pygame.mixer.music.load('bgm.mp3')
pygame.mixer.music.play(-1, 20.0)
turtle.hideturtle()
turtle.setup(1000, 600)
turtle.title('中秋賞月')
turtle.colormode(255)
turtle.bgcolor((193, 210, 240))
turtle.speed(10)
(5)
繪制詩句,
def writePoetry():
turtle.penup()
turtle.goto(400, -150)
turtle.pencolor((250, 240, 230))
# 詩句
potery = ["\n明\n月\n幾\n時\n有\n", "把\n酒\n問\n青\n天\n"]
# 詩句位置(可自行設計添加), 最好2/4句五言詩
coordinates = [(300, -150), (200, -150), (100, -150)]
for i, p in enumerate(potery):
turtle.write(p, align="center", font=("STXingkai", 50, "bold"))
if (i + 1) != len(potery):
time.sleep(2)
turtle.goto(coordinates[i])
?效果圖:

?
???
??總結
中秋賞月,木木子就先帶你們先賞為敬了哈~
制作不易,記得一鍵三連哦!! 如果需要本文完整的代碼+圖片素材,
Python新手安裝包、免費激活碼、等等更多Python資料,原始碼基地見:【959755565】即可免費領取哦!!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/298740.html
標籤:其他
上一篇:Unity3d中UGUI組件精簡復盤(二十)EventSystem組件與Standalone Input Moudle組件
下一篇:C語言——坦克大戰
