プログラムの実行スクリーンショット:プログラムの実行に必要なバックグラウンドミュージックは、最後の部分でダウンロードするか、自分で置き換えてください。
import turtle
import time
import pygame
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()までの間を塗りつぶす
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)
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()
def initTurtle():
pygame.mixer.init()
pygame.mixer.music.load('ZXbg.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)
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])
def main():
initTurtle()
drawMoon() #月を描く
drawCloud() #雲を描く
drawMountain() #山を描く
writePoetry() #詩を書く
turtle.done()
if __name__ == '__main__':
main()