中秋陰天看不見月亮隻好用python寫賞月工具

一年中秋至 又見圓月時

導語

假設農歷八月十五,程序員錯過瞭今年的中秋圓月。

程序員的苦隻有他們寄幾知道

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 月亮內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: