当前位置: 首页 > news >正文

Python雪花代码

前言 

用python画个雪花玩玩,源码在文末公众号哈。

雪花类 

class Snow():    #雪花类
    def __init__(self):
        self.r = 6                       #雪花的半径
        self.x = ra.randint(-1000,1000)   #雪花的横坐标
        self.y = ra.randint(-500,500)     #雪花的纵坐标
        self.f = ra.uniform(-3.14,3.14)   #雪花左右移动呈正弦函数
        self.speed = ra.randint(5,10)     #雪花移动速度
        self.color = ra.choice(colors)    #雪花的颜色
        self.outline = 5                 #雪花的大小 

画雪花 

    def snow(self):                #画每个雪花
        x=self.r                   #雪花的半径
        t.pensize(self.outline)    #雪花的大小
        t.penup()                  #提笔
        t.goto(self.x,self.y)      #随机位置
        t.pendown()                #落笔
        t.color(self.color)        #雪花颜色
        for i in range(6):        #循环画六个雪花瓣
            t.forward(x*5)
            t.backward(x*2)
            t.left(60)
            t.forward(x*2)
            t.backward(x*2)
            t.right(120)
            t.forward(x*2)
            t.backward(x*2)
            t.left(60)
            t.backward(x*3)
            t.right(60)     

移动函数 

    def move(self):                    #雪花移动函数
        if self.y >= -500:            #当雪花还在画布中时
            self.y -= self.speed     #设置上下移动速度
            self.x -= self.speed * math.sin(self.f)    #设置左右移动速度
            self.f -= 0.1            #可以理解成标志,改变左右移动的方向
        else:                        #当雪花漂出了画布时,重新生成一个雪花
            self.r = 6        
            self.x = ra.randint(-1000,1000)
            self.y = 500
            self.f = ra.uniform(-3.14,3.14)
            self.speed = ra.randint(5,10)
            self.color = ra.choice(colors)
            self.outline = 5  

相关文章:

  • 蓝桥杯第五天刷题
  • Python打包成exe,文件太大问题解决办法(比保姆级还保姆级)
  • ChatGPT的N种用法(持续更新中。。。)
  • vue3 构建属于自己的组件库dxui
  • 【AcWing】蓝桥杯备赛-深度优先搜索-dfs(2)
  • 28岁小公司程序员,无车无房不敢结婚,要不要转行?
  • IP协议+以太网协议
  • linux进程管理
  • 每天学一点之Lambda表达式
  • Linux常用命令
  • 植物大战 仿函数——C++
  • 自动写代码?别闹了!
  • Linux中sudo,su与su -命令的区别
  • 因为锁的问题,我们被扣了1万
  • 当我尝试问了chatGPT几个问题之后,我感到了危机......
  • Spring 事务管理详解及使用
  • 第十四届蓝桥杯三月真题刷题训练——第 9 天
  • 【C语言】指针的深度理解(一)
  • python带你成功复刻热门手机游戏——飞翔的小鸟
  • Redis源码---整体架构
  • https://app.hackthebox.com/machines/Inject
  • Spring —— Spring简单的读取和存储对象 Ⅱ
  • 渗透测试之冰蝎实战
  • Mybatis、TKMybatis对比
  • Microsoft Office 2019(2022年10月批量许可版)图文教程
  • 《谷粒商城基础篇》分布式基础环境搭建
  • 哈希表题目:砖墙
  • Vue 3.0 选项 生命周期钩子
  • 【车载嵌入式开发】AutoSar架构入门介绍篇
  • 【计算机视觉 | 目标检测】DETR风格的目标检测框架解读