python烟花表白源代码

python
import random import time # 设置屏幕大小 SCREEN_WIDTH = 80 SCREEN_HEIGHT = 20 # 定义烟花字符 FIREWORK_CHAR = '*' EMPTY_CHAR = ' ' # 定义烟花颜色 COLORS = ['red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white'] # 定义烟花类型 FIREWORK_TYPES = ['simple', 'double', 'triple'] # 定义烟花的最大高度和速度 MAX_HEIGHT = 10 MIN_SPEED = 0.1 MAX_SPEED = 0.3 # 函数:在指定位置打印字符 def print_at(x, y, char, color='3[37m'): print("3[%d;%dH%s%s3[0m" % (y, x, color, char), end='', flush=True) # 函数:烟花效果 def firework(x, y, color): # 选择烟花类型 firework_type = random.choice(FIREWORK_TYPES) if firework_type == 'simple': sparks = [(0, 1)] elif firework_type == 'double': sparks = [(-1, 1), (1, 1)] else: sparks = [(-1, 1), (0, 1), (1, 1)] # 发射烟花 for _ in range(MAX_HEIGHT): for dx, dy in sparks: print_at(x, y, FIREWORK_CHAR, '3[{}m'.format(color)) x += dx y -= dy time.sleep(random.uniform(MIN_SPEED, MAX_SPEED)) print_at(x, y, EMPTY_CHAR) y += 1 # 主程序 if __name__ == "__main__": try: # 清屏 print("3[2J") # 设置光标隐藏 print("3[?25l") # 循环显示烟花 while True: # 随机选择烟花位置和颜色 x = random.randint(1, SCREEN_WIDTH) y = random.randint(MAX_HEIGHT + 2, SCREEN_HEIGHT - 2) color = random.choice(COLORS) # 显示烟花效果 firework(x, y, color) time.sleep(1) # 每个烟花之间间隔一秒 except KeyboardInterrupt: # 恢复光标显示 print("3[?25h") # 清除屏幕 print("3[2J3[H")

这段代码会在终端上显示烟花效果,每次按下键盘的 Ctrl + C 组合键可以退出程序。这个程序是一个简单的烟花效果,你可以根据自己的需求进行修改和定制。

python
import random import time # 设置屏幕大小 SCREEN_WIDTH = 80 SCREEN_HEIGHT = 20 # 定义烟花字符 FIREWORK_CHAR = '*' EMPTY_CHAR = ' ' # 定义烟花颜色 COLORS = ['3[31m', '3[32m', '3[33m', '3[34m', '3[35m', '3[36m', '3[37m'] # 定义烟花类型 FIREWORK_TYPES = ['simple', 'double', 'triple'] # 定义烟花的最大高度和速度 MAX_HEIGHT = 10 MIN_SPEED = 0.1 MAX_SPEED = 0.3 # 函数:在指定位置打印字符 def print_at(x, y, char, color='3[37m'): print("3[%d;%dH%s%s3[0m" % (y, x, color, char), end='', flush=True) # 函数:烟花效果 def firework(x, y, color): # 选择烟花类型 firework_type = random.choice(FIREWORK_TYPES) if firework_type == 'simple': sparks = [(0, 1)] elif firework_type == 'double': sparks = [(-1, 1), (1, 1)] else: sparks = [(-1, 1), (0, 1), (1, 1)] # 发射烟花 for _ in range(MAX_HEIGHT): for dx, dy in sparks: print_at(x, y, FIREWORK_CHAR, random.choice(COLORS)) x += dx y -= dy time.sleep(random.uniform(MIN_SPEED, MAX_SPEED)) print_at(x, y, EMPTY_CHAR) y += 1 # 主程序 if __name__ == "__main__": try: # 清屏 print("3[2J") # 设置光标隐藏 print("3[?25l") # 循环显示烟花 while True: # 随机选择烟花位置和颜色 x = random.randint(1, SCREEN_WIDTH) y = random.randint(MAX_HEIGHT + 2, SCREEN_HEIGHT - 2) color = random.choice(COLORS) # 显示烟花效果 firework(x, y, color) time.sleep(1) # 每个烟花之间间隔一秒 # 显示表白文本 print("3[2J3[H") # 清除屏幕 print_at(SCREEN_WIDTH // 2 - 10, SCREEN_HEIGHT // 2, "I LOVE YOU!", "3[91m") time.sleep(3) # 表白文本显示3秒 # 清除表白文本 print("3[2J3[H") # 清除屏幕 except KeyboardInterrupt: # 恢复光标显示 print("3[?25h") # 清除屏幕 print("3[2J3[H")

在这个程序中,当烟花效果结束后,会在屏幕中间显示 "I LOVE YOU!" 的表白文本,并持续显示3秒钟,然后清除屏幕。你可以根据自己的需求修改表白文本的内容和显示时间。