A008 《变形记》编程 源码

奋斗吧
奋斗吧
擅长邻域:未填写

标签: A008 《变形记》编程 源码 博客 51CTO博客

2023-07-06 18:24:16 224浏览

A008 《变形记》编程 源码,第八次写文章啦~感谢大家的支持!这次主要内容为在PYTHON编程中添加或修改画笔外形


一、课程介绍

本节课将通过修改画笔的外形,创作一些有趣的作品。

A008 《变形记》编程 源码_一语


二、知识重难点解析

A008 《变形记》编程 源码_添加画笔外形_02画笔外形

shape()

画笔调用 shape() 方法,可以设置画笔“外形”,默认是 classic ,其他形状如下:

A008 《变形记》编程 源码_添加画笔外形_03

如:

import turtle
p = turtle.Pen()

p.shape('circle')    # 画笔设置成“圆”外形

turtle.done()

A008 《变形记》编程 源码_《变形记》编程 源码_04

A008 《变形记》编程 源码_一语_05添加外形

addshape()

要将画笔设置成自己想要的外形,需要提供一张gif格式的图片,用 turtle 调用 addshape() 方法,将这张gif图片添加到 turtle 外形表中,画笔才能调用 shape() 方法将其外形设置成这张图片的模样。

import turtle turtle.addshape('fish.gif')    # 将“fish”添加到外形表
p = turtle.Pen() p.shape('fis.gif')    # 将画笔外形设成“fish”*
turtle.done()

A008 《变形记》编程 源码_一语_06显示&隐藏画笔


showturtle() 或 st():

显示画笔,使画笔变成可见状态。

showturtle() 方法可简写为 st()。

hideturtle() 或 ht():

隐藏画笔,使画笔不可见。

hideturtle() 方法可简写为 ht()。


三、单词卡

shape [ʃeɪp]   外形

show [ʃoʊ]   显示

fish [fɪʃ]   鱼

heart [hɑːrt]   心


四、小试牛刀

4.1 源码操作

编写代码实现小女孩奔月的效果。

A008 《变形记》编程 源码_一语_07

### 代码 ###

import turtle
p = turtle.Pen()
p.penup()

p.forward(250)
p.left(90)
p.forward(210)
p.dot(200, 'gold')

p.left(135)
p.forward(600)

turtle.addshape('facebook4.png')
p.shape('facebook4.png')

for i in range(600):
    p.forward(-1)

turtle.done()

4.2 源码操作

实现一个火柴人发射火球的效果。

A008 《变形记》编程 源码_一语_08

import turtle
p = turtle.Pen()

p.penup()
p.forward(-300)
p.pendown()
p.dot(100)
p.right(90)
p.forward(200)
p.right(45)
p.forward(100)
p.forward(-100)
p.left(90)
p.forward(100)
p.forward(-100)
p.right(45)
p.forward(-100)
p.left(90)
p.forward(100)
p.left(90)
p.forward(25)
p.forward(-50)

p.forward(25)
p.right(90)
p.penup()
p.forward(30)
turtle.addshape('fireball.gif')
p.shape('fireball.gif')
for i in range(500):
    p.forward(1)

turtle.done()

4.3 源码操作

实现一个火柴人不断发射火球和冰球的效果。

A008 《变形记》编程 源码_添加画笔外形_09

A008 《变形记》编程 源码_添加画笔外形_10

提示:

  • 绘制时注意火球和冰球的发射间隔;
  • 火球:fireball.gif;
  • 冰球:iceball.gif。
### 代码~ ###

import turtle
p = turtle.Pen()

p.penup()
p.forward(-300)
p.pendown()
p.dot(100)
p.right(90)
p.forward(200)
p.right(45)
p.forward(100)
p.forward(-100)
p.left(90)
p.forward(100)
p.forward(-100)
p.right(45)
p.forward(-100)
p.left(90)
p.forward(100)
p.left(90)
p.forward(25)
p.forward(-50)

p.forward(25)
p.right(90)
p.penup()
p.forward(30)

for i in range(50):
    turtle.addshape('fireball.gif')
    p.shape('fireball.gif')
    p.forward(500)
    p.ht()
    p.forward(-500)
    turtle.addshape('iceball.gif')
    p.shape('iceball.gif')
    p.st()
    p.forward(500)
    p.ht()
    p.forward(-500)
    p.st()

turtle.done()


五、扩展练习

A008 《变形记》编程 源码_一语_11

### 代码 ###

import turtle
p=turtle.Pen()
turtle.bgpic("阿短和编程猫.gif")
turtle.addshape("heart.gif")

p.shape("heart.gif")
p.penup()

for i in range(10):
    p.forward(200)
    p.ht()
    p.forward(-200)
    p.st()

turtle.done()


六、自由发挥

画一只到处走的小乌龟吧~

A008 《变形记》编程 源码_一语_12

import turtle
p=turtle.Pen()

p.shape('turtle')
p.penup()
p.forward(300)
p.right(180)
p.forward(200)
p.right(90)
p.forward(50)

turtle.done()


好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695