烤地瓜 deepseek 导演剪辑版
实现:
from typing import List
from time import sleep
class SweetPotato:
"""
🎥 导演剪辑版地瓜类
新增功能:
1. 完整的烹饪过程记录
2. 状态变化特效标记
3. 导演视角的烹饪日志
"""
def __init__(self, num: int) -> None:
self.num = num
self.cooked_state = "生的"
self.cooked_time = 0
self.condiments: List[dict] = [] # 现在记录添加时间和佐料
self.cooking_log: List[str] = [] # 导演专用日志
self._state_history = [] # 状态变化历史
def cook(self, time: int) -> None:
"""🔥 烧烤操作增加特效和过程记录"""
print(f"\n{'-' * 30}")
print(f"🍠 地瓜 {self.num} 开始接受 {time} 分钟炙烤...")
prev_state = self.cooked_state
self.cooked_time += time
# 记录状态变化
if 0 <= self.cooked_time < 3:
new_state = "生的"
elif 3 <= self.cooked_time < 6:
new_state = "半生不熟"
elif 6 <= self.cooked_time < 8:
new_state = "熟了"
else:
new_state = "烤糊了"
# 添加状态变化特效
if new_state != prev_state:
self._show_state_transition(prev_state, new_state)
self.cooked_state = new_state
self._state_history.append((self.cooked_time, new_state))
self.cooking_log.append(f"⏱️ {self.cooked_time}min:状态变化「{prev_state} → {new_state}」")
else:
self.cooking_log.append(f"⏱️ {self.cooked_time}min:持续强化「{self.cooked_state}」状态")
# 模拟烧烤过程
for t in range(1, time + 1):
print(f"🔥 火焰特效 | 当前温度:{200 + t * 50}°C", end='\r')
sleep(0.3)
print(" " * 30, end='\r') # 清除特效行
def add_condiment(self, condiment: str) -> None:
"""🧂 佐料添加增加电影感"""
self.condiments.append({
"time": self.cooked_time,
"name": condiment
})
self.cooking_log.append(f"🧂 {self.cooked_time}min:添加「{condiment}」特写镜头")
print(f"✨ 电影特效:{condiment}在慢镜头中缓缓洒落...")
def _show_state_transition(self, old: str, new: str) -> None:
"""🎬 状态变化特效"""
print(f"\n🎞️ 蒙太奇转场:")
print(f" 旧状态:{old} → 新状态:{new}")
print(" ░░░░░░░░░░░░░░░░░░░░░░░░")
print(" ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒")
print(" ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓")
print(" 🎇 状态变化特效完成!")
def director_log(self) -> str:
"""📽️ 生成导演剪辑版日志"""
log = [f"\n{'=' * 30}"]
log.append(f"🎥 《风味地瓜》No.{self.num} 拍摄日志")
log.append(f"📅 总拍摄时长:{self.cooked_time}分钟")
log.append("\n🎬 关键帧记录:")
log.extend(self.cooking_log)
log.append("\n🍯 佐料添加时间线:")
for c in self.condiments:
log.append(f" 🕒 {c['time']}min:{c['name']}")
log.append(f"\n🎞️ 最终状态:{self.cooked_state}")
log.append(f"{'=' * 30}")
return "\n".join(log)
def __str__(self) -> str:
"""🎦 导演版最终呈现"""
return (f"🍠 地瓜 {self.num} 最终报告:\n"
f" 🕒 总时长:{self.cooked_time}分钟\n"
f" 🔥 最终状态:{self.cooked_state}\n"
f" 🧂 调味组合:{', '.join([c['name'] for c in self.condiments]) or '无'}")
if __name__ == "__main__":
print("🎬 导演喊:Action!\n")
# 第一幕:主角地瓜的蜕变
print("\n=== 第一幕:新生地瓜的觉醒 ===")
sp1 = SweetPotato(1)
sp1.cook(2)
sp1.add_condiment("初酿酱油")
sp1.cook(3)
sp1.add_condiment("喜马拉雅岩盐")
sp1.cook(1)
sp1.add_condiment("魔鬼辣酱")
sp1.cook(2)
# 第二幕:配角地瓜的意外
print("\n=== 第二幕:命运的岔路口 ===")
sp2 = SweetPotato(2)
sp2.cook(1)
sp2.add_condiment("田园番茄酱")
sp2.cook(5)
sp2.add_condiment("轻食沙拉")
sp2.cook(4)
sp2.add_condiment("山葵之魂")
# 最终呈现
print("\n\n=== 最终成片 ===")
print(sp1)
print(sp1.director_log())
print("\n" + "🌟" * 30 + "\n")
print(sp2)
print(sp2.director_log())
print("\n🎬 导演喊:Cut!")
运行示例:
🎬 导演喊:Action!
🍠 地瓜 1 开始接受 2 分钟炙烤…
🔥 火焰特效 | 当前温度:250°C …
🎞️ 蒙太奇转场:
旧状态:生的 → 新状态:半生不熟
░░░░░░░░░░░░░░░░░░░░░░░░
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
🎇 状态变化特效完成!
✨ 电影特效:魔鬼辣酱在慢镜头中缓缓洒落…
=== 最终成片 ===
🍠 地瓜 1 最终报告:
🕒 总时长:8分钟
🔥 最终状态:烤糊了
🧂 调味组合:初酿酱油, 喜马拉雅岩盐, 魔鬼辣酱
==============================
🎥 《风味地瓜》No.1 拍摄日志
📅 总拍摄时长:8分钟 …
🎬 导演喊:Cut!