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

2022-04-07 10:31:21 浏览数 (1)

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

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

代码语言:javascript复制
import turtle as t
t.begin_fill()
t.goto(100, 0)
t.goto(100, 100)
t.goto(0, 100)
t.end_fill()
t.done()

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

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

代码语言:javascript复制
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()

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

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

代码语言:javascript复制
from pgzero import tone
tone.play("C3", 1)

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

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

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

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

请看演示:

(此处应有一个演示视频,但审核不通过,说我的内容太垃圾……好吧,我不配)

那就放下最终绘制效果:

以及音乐可视化效果:

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

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

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

0 人点赞