绘制满天星Python
时间: 2023-11-29 08:46:26 浏览: 66
以下是绘制满天星的Python代码,具体实现过程请参考注释:
```python
import random as ra
import tkinter as tk
# 创建画布
canvas = tk.Canvas(width=1200, height=800, bg='black')
canvas.pack()
# 定义星星类
class Star():
# 初始化
def __init__(self):
self.r = 1 # 星星的初始大小
self.x = ra.randint(-1000, 1000) # 星星在画布中的x坐标位置
self.y = ra.randint(-500, 500) # 星星在画布中的y坐标位置
self.c = ra.choice(colors) # 在星星的颜色列表中随机选择一个颜色
# 绘制星星
def draw(self):
canvas.create_oval(self.x - self.r, self.y - self.r, self.x + self.r, self.y + self.r, fill=self.c)
# 星星闪烁
def twinkle(self):
self.r += ra.randint(-1,1) # 星星大小随机变化
if self.r <= 0:
self.r = 1
if self.r >= 5:
self.r = 4
self.c = ra.choice(colors) # 星星颜色随机变化
# 定义颜色列表
colors = ['white', 'yellow', 'red', 'blue', 'green', 'purple', 'orange']
# 创建星星列表
stars = []
for i in range(200):
stars.append(Star())
# 绘制满天星
while True:
for star in stars:
star.draw()
star.twinkle()
canvas.update()
canvas.after(50)
canvas.delete('all')
```
阅读全文