Python版 孤勇者 | 画图+演奏+音乐可视化

零基础python入门教程:python666.cn

大家好,欢迎来到 Crossin的编程教室 !

python里有个叫做 turtle 的库,用它提供的方法可以很简单的画线和涂色:

import turtle as t
t.begin_fill()
t.goto(100, 0)
t.goto(100, 100)
t.goto(0, 100)
t.end_fill()
t.done()

7316d3fb2b26e63fff7eb467dfa859ae.png

参考:【编程课堂】海龟作图

如果我们再“稍微”调整一下参数,就可以用这些代码画出图案:

import turtle as t
# t.speed(5)
t.pencolor('pink')
t.fillcolor('pink')
t.penup()
t.pendown()
t.begin_fill()
t.circle(100, -360)
t.end_fill()
t.pensize(15)
t.pencolor('white')
t.penup()
t.goto(-40, 160)
t.pendown()
t.goto(40, 160)
t.penup()
t.goto(-50, 70)
t.pendown()
t.setheading(-80)
t.circle(50, -200)
t.penup()
t.goto(0, 150)
t.pendown()
t.goto(0, 40)
t.hideturtle()
t.done()

29d964df8bd4f0b0e2a77d5652c643e5.png

之前我做的冰墩墩、谷爱凌逆行者几个案例都是用的这个库。

另外还有个叫做 pgzero 的游戏开发库,里面有一个可以播放音符的方法。

from pgzero import tone
tone.play("C3", 1)

之前我在 PONG 这个游戏中,就用它来实现小球撞击板子时候的音效。

如果我们再“稍微”调整一下参数,就可以用这些代码演奏出乐曲。

此外在 PONG 游戏中,我们还实现了绘制矩形、圆形,并且让它们动起来。

3589833e3db06d12f845bb30ed25bc76.gif

那么,如果我把以上的功能全部,合在一起,会产生什么效果呢?

请看:

绘制效果:

0bab6cfcb2469083058c338f436ebaf2.png

音乐可视化:

9ecb1528a4b2b5d5583c4fd9678887ae.gif

代码已开源。可下载、可修改、可商用,但需要保留署名,来源:Crossin的编程教室

获取代码请在公众号后台回复关键词: 孤勇者

绘图和演奏的代码本身并不“高深”,就是不断反复调用几个语句。但这些语句加起来有一万多行,你要硬肝当然也可以,也就是花个一两个月时间吧。(之前某些抄袭我代码的人居然还大言不惭说代码不难,细心点就行了,真是无知无畏……)

我自然是另有特殊的方法,如果大家感兴趣,后面我再专门写几篇来详细解读。

可视化部分比较有意思,之前有同学留言说想看做“音游”。这次虽然不是音游,但是基本要素都差不多了,后面我会整一个音乐游戏demo,想看的可以点个“在看”鼓励一下0985026fb08637f0a5ee97c7b9f620fa.png

感谢转发点赞的各位~


_往期文章推荐_

PONG-100行代码写一个弹球游戏


如需了解付费精品课程教学答疑服务

请在Crossin的编程教室内回复: 666

c82a5ce3cfa0ba65e9a508e9f737cf84.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Crossin的编程教室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值