中秋阴天看不见月亮只好用python写赏月工具

作者:顾木子吖 时间:2021-02-09 17:54:24 

一年中秋至 又见圆月时

中秋阴天看不见月亮只好用python写赏月工具

导语

假设农历八月十五,程序员错过了今年的中秋圆月。

中秋阴天看不见月亮只好用python写赏月工具

程序员的苦只有他们寄几知道

bug,bug,bug,bug,bug,bug……

吃饭时在改bug,走路时在改bug,约会时在改bug,结婚时在改bug

就连中秋佳节也还!在!改!bug!

中秋阴天看不见月亮只好用python写赏月工具

不过做为一枚上知《边城》下知编程的程序员,没有什么可以难倒他

“不就是中秋的圆月亮吗?”三分钟以后…程序员自己用Python画了一个

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写赏月工具

来源:https://blog.csdn.net/weixin_55822277/article/details/120179765

标签:python,赏月,中秋节
0
投稿

猜你喜欢

  • javascript实现圣旨卷轴展开效果(代码分享)

    2024-04-10 11:03:29
  • Python中使用HTMLParser解析html实例

    2023-01-17 11:47:16
  • 如何解决python多种版本冲突问题

    2023-12-28 06:41:17
  • Python神经网络TensorFlow基于CNN卷积识别手写数字

    2022-06-18 20:23:00
  • Django中的Signal代码详解

    2023-02-23 01:20:11
  • Python创建文件夹与文件的快捷方法

    2022-08-31 19:50:49
  • 使用python Django做网页

    2023-11-22 03:35:26
  • WPF简单的数据库查询实例

    2024-01-15 07:25:31
  • python中csv文件的若干读写方法小结

    2021-04-07 11:46:03
  • js 原型对象和原型链理解

    2024-04-23 09:20:23
  • python模拟菜刀反弹shell绕过限制【推荐】

    2023-07-13 12:56:18
  • javascript自定义函数参数传递为字符串格式

    2024-04-22 13:08:18
  • MySQL 复制表详解及实例代码

    2024-01-22 22:49:16
  • Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例

    2023-07-18 20:11:01
  • vue2 利用echarts 单独绘制省份的步骤

    2024-04-09 10:45:42
  • 利用Python的pandas数据处理包将宽表变成窄表

    2021-07-28 20:00:11
  • python类参数self使用示例

    2023-05-27 17:15:18
  • Python中Django与Echarts的结合用法图文详解

    2022-02-09 23:10:29
  • 浅析Python字符串索引、切片、格式化

    2023-09-26 07:57:20
  • 数据库查询的分页优化技巧

    2009-05-17 10:31:00
  • asp之家 网络编程 m.aspxhome.com