Python中秋祝福小程序

一、效果图预览

Python中秋祝福小程序_第1张图片

二、源码分享

效果图所示代码如下,可以根据自己的想法来对程序进行修改,得到更好的效果。

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)]
    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()

代码不易,点个赞支持一下吧!!!

你可能感兴趣的:(PyCharm,python,pygame,开发语言)