写在前面:
最近ai确实比较火。各种生成式AI,包括文字、图片、视频。之前听说ai生产代码能力比较强,一直想试试。所以及就有了本问。
使用的工具
deepinseek :用来生成python代码
即梦:用来生成图片素材
Remove.bg:用来对生成的图片素材去除背景
pixabay.com:用来下载音乐素材
游戏建立步骤
1.设立游戏建立背景
我使用了深度思考
整个深度思索的过程,让我了解到deepseek为啥选择pygame库,为啥选择收集物品得分的模式。主要是我前面的提示词:小学生。我觉得符合我预期。
很快他就生成了python代码

import pygame import random# 初始化游戏 pygame.init() WIDTH, HEIGHT = 800, 600 screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("哈尔滨冰雪大冒险") clock = pygame.time.Clock()# 加载哈尔滨元素素材 bg = pygame.image.load("snow_bg.jpg") # 冰雪大世界背景 player_img = pygame.image.load("skier.png") # 滑雪运动员 ice_img = pygame.image.load("ice_block.png") # 冰障碍物 flag_img = pygame.image.load("finish_flag.png") # 终点旗# 颜色定义 WHITE = (255, 255, 255) BLUE = (0, 100, 255)# 玩家类 class Skier:def __init__(self):self.image = pygame.transform.scale(player_img, (60, 60))self.rect = self.image.get_rect(center=(WIDTH//2, HEIGHT-100))self.speed = 8def move(self, direction):if direction == "left" and self.rect.left > 0:self.rect.x -= self.speedelif direction == "right" and self.rect.right < WIDTH:self.rect.x += self.speed# 障碍物类 class Obstacle:def __init__(self):self.type = random.choice(["ice", "flag"])self.image = ice_img if self.type == "ice" else flag_imgself.image = pygame.transform.scale(self.image, (40, 40))self.rect = self.image.get_rect(center=(random.randint(20, WIDTH-20), -20))self.speed = 5def move(self):self.rect.y += self.speed# 游戏主循环 def main():skier = Skier()obstacles = []score = 0font = pygame.font.Font(None, 36)game_active = Truewhile True:for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()returnif game_active:keys = pygame.key.get_pressed()if keys[pygame.K_LEFT]:skier.move("left")if keys[pygame.K_RIGHT]:skier.move("right")# 生成障碍物if random.random() < 0.05: # 5%概率生成obstacles.append(Obstacle())# 移动障碍物for obstacle in obstacles:obstacle.move()if skier.rect.colliderect(obstacle.rect):if obstacle.type == "ice":game_active = Falseelse:score += 50obstacles.remove(obstacle)if obstacle.rect.top > HEIGHT:obstacles.remove(obstacle)if obstacle.type == "ice":score += 10# 更新界面screen.blit(bg, (0, 0))screen.blit(skier.image, skier.rect)for obstacle in obstacles:screen.blit(obstacle.image, obstacle.rect)# 显示得分score_text = font.render(f"得分: {score}", True, WHITE)screen.blit(score_text, (10, 10))else:# 游戏结束界面screen.fill(BLUE)end_text = font.render("游戏结束!最终得分: " + str(score), True, WHITE)screen.blit(end_text, (WIDTH//2-150, HEIGHT//2))restart_text = font.render("按R重新开始", True, WHITE)screen.blit(restart_text, (WIDTH//2-100, HEIGHT//2+50))keys = pygame.key.get_pressed()if keys[pygame.K_r]:game_active = Truescore = 0obstacles = []skier = Skier()pygame.display.update()clock.tick(60)if __name__ == "__main__":main()
代码的完整度非常好,拷贝图片素材基本就可以运行了。代码中有注释,方便阅读代码。他还给出了后续的建议。游戏就是避障,然后接住游戏元素得分。碰到障碍物游戏结束,提示分数,提示按R键继续游戏。逻辑比较简单。
2.增加功能
在这个基础上,我对deepseek提了一些要求,或者觉得有问题的让他解决。总体上都解决了。而且效果我认为满意。
1.要求增加视频作为背景。
因为pygame是不支持视频元素的。我 看看deepseek怎么解决的哦,他比较了opencv和moviepy库,在小学生这个条件下,给出opencv更适合。这段深度思考部分,我觉得给出moviepy和opencv的比较逻辑有点欠缺。但是实际的思路还是比较清晰的使用第三方库从视频中取帧,然后绘制到pygame的surface上。
它还贴心的给出了如何安装opencv库,怎么引用素材

import pygame import cv2 # 新增OpenCV库 import numpy as np import random# 初始化游戏 pygame.init() WIDTH, HEIGHT = 800, 600 screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("哈尔滨冰雪大冒险") clock = pygame.time.Clock()# 加载视频背景(新增部分) video = cv2.VideoCapture("harbin_winter.mp4") # 准备哈尔滨冬季主题视频 video_width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH)) video_height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))# 加载其他素材(保持原有) player_img = pygame.image.load("skier.png") ice_img = pygame.image.load("ice_block.png") flag_img = pygame.image.load("finish_flag.png")# 视频帧转换函数(新增) def get_video_frame():ret, frame = video.read()if not ret: # 如果视频播放完毕video.set(cv2.CAP_PROP_POS_FRAMES, 0) # 重置到开头ret, frame = video.read()frame = cv2.resize(frame, (WIDTH, HEIGHT)) # 调整尺寸frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) # 颜色空间转换return pygame.surfarray.make_surface(frame.swapaxes(0, 1)) # 转为Pygame Surface# 玩家类(保持原有) class Skier:# ... 原有代码不变 ...# 障碍物类(保持原有) class Obstacle:# ... 原有代码不变 ...# 修改后的游戏主循环 def main():skier = Skier()obstacles = []score = 0font = pygame.font.Font(None, 36)game_active = Truewhile True:# 处理事件(保持原有)for event in pygame.event.get():if event.type == pygame.QUIT:video.release() # 新增:释放视频资源pygame.quit()return# 获取视频背景帧(新增部分)bg_surface = get_video_frame()if game_active:# ... 原有游戏逻辑保持不变 ...# 更新界面(修改背景部分)screen.blit(bg_surface, (0, 0)) # 替换原来的bgscreen.blit(skier.image, skier.rect)# ... 其余绘制逻辑保持不变 ...else:# 游戏结束界面(可以保持原有)# ... 原有代码 ...pygame.display.update()clock.tick(60)if __name__ == "__main__":main()
2.我让增加了一个欢迎页面。
它的思路,通过设置变量,把游戏过程分为欢迎页,游戏进行中,游戏结束3个状态。逻辑没毛病。还贴心的提供修改说明和建议。

import pygame import cv2 import numpy as np import random# 初始化游戏 pygame.init() WIDTH, HEIGHT = 800, 600 screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("哈尔滨冰雪大冒险") clock = pygame.time.Clock()# 加载视频背景 video = cv2.VideoCapture("harbin_winter.mp4") video_width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH)) video_height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))# 加载游戏素材 player_img = pygame.image.load("skier.png") ice_img = pygame.image.load("ice_block.png") flag_img = pygame.image.load("finish_flag.png")# 视频帧转换函数 def get_video_frame():ret, frame = video.read()if not ret:video.set(cv2.CAP_PROP_POS_FRAMES, 0)ret, frame = video.read()frame = cv2.resize(frame, (WIDTH, HEIGHT))frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)return pygame.surfarray.make_surface(frame.swapaxes(0, 1))# 玩家类 class Skier:def __init__(self):self.image = pygame.transform.scale(player_img, (60, 60))self.rect = self.image.get_rect(center=(WIDTH//2, HEIGHT-100))self.speed = 8def move(self, direction):if direction == "left" and self.rect.left > 0:self.rect.x -= self.speedelif direction == "right" and self.rect.right < WIDTH:self.rect.x += self.speed# 障碍物类 class Obstacle:def __init__(self):self.type = random.choice(["ice", "flag"])self.image = ice_img if self.type == "ice" else flag_imgself.image = pygame.transform.scale(self.image, (40, 40))self.rect = self.image.get_rect(center=(random.randint(20, WIDTH-20), -20))self.speed = 5def move(self):self.rect.y += self.speeddef main():skier = Skier()obstacles = []score = 0font = pygame.font.Font(None, 36)# 新增游戏状态变量game_active = Falsewelcome_page = True # 新增欢迎页面状态while True:# 获取视频背景帧bg_surface = get_video_frame()# 事件处理for event in pygame.event.get():if event.type == pygame.QUIT:video.release()pygame.quit()return# 欢迎页面逻辑if welcome_page:screen.blit(bg_surface, (0, 0))# 绘制标题文字title_font = pygame.font.Font(None, 72)title_text = title_font.render("哈尔滨冰雪大冒险", True, (255, 255, 255))title_rect = title_text.get_rect(center=(WIDTH//2, HEIGHT//3))screen.blit(title_text, title_rect)# 绘制提示文字tip_font = pygame.font.Font(None, 36)tip_text = tip_font.render("按空格键开始游戏", True, (255, 255, 255))tip_rect = tip_text.get_rect(center=(WIDTH//2, HEIGHT//2))screen.blit(tip_text, tip_rect)# 检测空格键keys = pygame.key.get_pressed()if keys[pygame.K_SPACE]:welcome_page = Falsegame_active = True# 游戏进行中elif game_active:# 玩家控制keys = pygame.key.get_pressed()if keys[pygame.K_LEFT]:skier.move("left")if keys[pygame.K_RIGHT]:skier.move("right")# 生成障碍物if random.random() < 0.05:obstacles.append(Obstacle())# 更新障碍物for obstacle in obstacles[:]:obstacle.move()if skier.rect.colliderect(obstacle.rect):if obstacle.type == "ice":game_active = Falseelse:score += 50obstacles.remove(obstacle)if obstacle.rect.top > HEIGHT:obstacles.remove(obstacle)if obstacle.type == "ice":score += 10# 绘制游戏界面screen.blit(bg_surface, (0, 0))screen.blit(skier.image, skier.rect)for obstacle in obstacles:screen.blit(obstacle.image, obstacle.rect)# 显示得分score_text = font.render(f"得分: {score}", True, (255, 255, 255))screen.blit(score_text, (10, 10))# 游戏结束界面else:screen.fill((0, 100, 255))end_text = font.render(f"游戏结束!最终得分: {score}", True, (255, 255, 255))screen.blit(end_text, (WIDTH//2-150, HEIGHT//2))restart_text = font.render("按R重新开始", True, (255, 255, 255))screen.blit(restart_text, (WIDTH//2-100, HEIGHT//2+50))# 重新开始逻辑keys = pygame.key.get_pressed()if keys[pygame.K_r]:game_active = Truescore = 0obstacles = []skier = Skier()pygame.display.update()clock.tick(60)if __name__ == "__main__":main()
的
3.我发现中文显示有问题。
提出了问题,deepseek也给出可行的解决方案,我使用了他给的方案2 ,因为自定义字体可以使得游戏画面更优。还贴心的给出了注意事项。
4.我提出了背景修改意见,欢迎页面和结束页面背景是视频,游戏页面背景是静态图片。
deepseek也爽快完成了效果。

import pygame import cv2 import numpy as np import random# 初始化游戏 pygame.init() WIDTH, HEIGHT = 800, 600 screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("哈尔滨冰雪大冒险") clock = pygame.time.Clock()# 加载视频背景 video = cv2.VideoCapture("harbin_winter.mp4") # 欢迎页面和结束页面的背景视频# 加载图片背景 game_bg = pygame.image.load("snow_bg.jpg") # 游戏界面的背景图片 game_bg = pygame.transform.scale(game_bg, (WIDTH, HEIGHT))# 加载游戏素材 player_img = pygame.image.load("skier.png") ice_img = pygame.image.load("ice_block.png") flag_img = pygame.image.load("finish_flag.png")# 加载背景音乐 pygame.mixer.init() welcome_music = pygame.mixer.Sound("welcome_music.mp3") # 欢迎页面音乐 game_music = pygame.mixer.Sound("game_music.mp3") # 游戏界面音乐 end_music = pygame.mixer.Sound("end_music.mp3") # 结束页面音乐# 设置音乐音量 welcome_music.set_volume(0.5) game_music.set_volume(0.5) end_music.set_volume(0.5)# 视频帧转换函数 def get_video_frame():ret, frame = video.read()if not ret: # 如果视频播放完毕video.set(cv2.CAP_PROP_POS_FRAMES, 0) # 重置到开头ret, frame = video.read()frame = cv2.resize(frame, (WIDTH, HEIGHT)) # 调整尺寸frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) # 颜色空间转换return pygame.surfarray.make_surface(frame.swapaxes(0, 1)) # 转为Pygame Surface# 玩家类 class Skier:def __init__(self):self.image = pygame.transform.scale(player_img, (60, 60))self.rect = self.image.get_rect(center=(WIDTH//2, HEIGHT-100))self.speed = 8def move(self, direction):if direction == "left" and self.rect.left > 0:self.rect.x -= self.speedelif direction == "right" and self.rect.right < WIDTH:self.rect.x += self.speed# 障碍物类 class Obstacle:def __init__(self):self.type = random.choice(["ice", "flag"])self.image = ice_img if self.type == "ice" else flag_imgself.image = pygame.transform.scale(self.image, (40, 40))self.rect = self.image.get_rect(center=(random.randint(20, WIDTH-20), -20))self.speed = 5def move(self):self.rect.y += self.speeddef main():skier = Skier()obstacles = []score = 0font = pygame.font.Font(None, 36)# 游戏状态变量game_active = Falsewelcome_page = True # 初始为欢迎页面# 当前播放的音乐current_music = Nonewhile True:# 事件处理for event in pygame.event.get():if event.type == pygame.QUIT:video.release()pygame.quit()return# 检测空格键按下事件if event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:if welcome_page or not game_active: # 在欢迎页面或结束页面按空格键welcome_page = Falsegame_active = Truescore = 0obstacles = []skier = Skier()print("游戏开始!")# 欢迎页面if welcome_page:if current_music != welcome_music:pygame.mixer.stop() # 停止当前音乐welcome_music.play(-1) # 循环播放欢迎音乐current_music = welcome_musicbg_surface = get_video_frame() # 使用视频背景screen.blit(bg_surface, (0, 0))# 绘制标题文字title_font = pygame.font.Font(None, 72)title_text = title_font.render("哈尔滨冰雪大冒险", True, (255, 255, 255))title_rect = title_text.get_rect(center=(WIDTH//2, HEIGHT//3))screen.blit(title_text, title_rect)# 绘制提示文字tip_font = pygame.font.Font(None, 36)tip_text = tip_font.render("按空格键开始游戏", True, (255, 255, 255))tip_rect = tip_text.get_rect(center=(WIDTH//2, HEIGHT//2))screen.blit(tip_text, tip_rect)# 游戏进行中elif game_active:if current_music != game_music:pygame.mixer.stop() # 停止当前音乐game_music.play(-1) # 循环播放游戏音乐current_music = game_music# 使用图片背景screen.blit(game_bg, (0, 0))# 玩家控制keys = pygame.key.get_pressed()if keys[pygame.K_LEFT]:skier.move("left")if keys[pygame.K_RIGHT]:skier.move("right")# 生成障碍物if random.random() < 0.05:obstacles.append(Obstacle())# 更新障碍物for obstacle in obstacles[:]:obstacle.move()if skier.rect.colliderect(obstacle.rect):if obstacle.type == "ice":game_active = Falseelse:score += 50obstacles.remove(obstacle)if obstacle.rect.top > HEIGHT:obstacles.remove(obstacle)if obstacle.type == "ice":score += 10# 绘制玩家和障碍物screen.blit(skier.image, skier.rect)for obstacle in obstacles:screen.blit(obstacle.image, obstacle.rect)# 显示得分score_text = font.render(f"得分: {score}", True, (255, 255, 255))screen.blit(score_text, (10, 10))# 游戏结束界面else:if current_music != end_music:pygame.mixer.stop() # 停止当前音乐end_music.play(-1) # 循环播放结束音乐current_music = end_musicbg_surface = get_video_frame() # 使用视频背景screen.blit(bg_surface, (0, 0))# 绘制结束文字end_text = font.render(f"游戏结束!最终得分: {score}", True, (255, 255, 255))screen.blit(end_text, (WIDTH//2-150, HEIGHT//2))restart_text = font.render("按空格键重新开始", True, (255, 255, 255))screen.blit(restart_text, (WIDTH//2-100, HEIGHT//2+50))pygame.display.update()clock.tick(60)if __name__ == "__main__":main()
5.提出增加更多游戏元素。
deepseek增加了加速道具,护盾道具,磁铁道具,减速道具。

import pygame import cv2 import numpy as np import random import math# 初始化游戏 pygame.init() WIDTH, HEIGHT = 800, 600 screen = pygame.display.set_mode((WIDTH, HEIGHT)) pygame.display.set_caption("哈尔滨冰雪大冒险") clock = pygame.time.Clock()# 加载视频背景 video = cv2.VideoCapture("harbin_winter.mp4")# 加载图片背景 game_bg = pygame.image.load("snow_bg.jpg") game_bg = pygame.transform.scale(game_bg, (WIDTH, HEIGHT))# 加载游戏素材 player_img = pygame.image.load("skier.png") ice_img = pygame.image.load("ice_block.png") flag_img = pygame.image.load("finish_flag.png") boost_img = pygame.image.load("boost.png") # 加速道具 shield_img = pygame.image.load("shield.png") # 护盾道具 magnet_img = pygame.image.load("magnet.png") # 磁铁道具 slow_img = pygame.image.load("slow.png") # 减速道具# 加载背景音乐 pygame.mixer.init() welcome_music = pygame.mixer.Sound("welcome_music.mp3") game_music = pygame.mixer.Sound("game_music.mp3") end_music = pygame.mixer.Sound("end_music.mp3")# 设置音乐音量 welcome_music.set_volume(0.5) game_music.set_volume(0.5) end_music.set_volume(0.5)# 视频帧转换函数 def get_video_frame():ret, frame = video.read()if not ret:video.set(cv2.CAP_PROP_POS_FRAMES, 0)ret, frame = video.read()frame = cv2.resize(frame, (WIDTH, HEIGHT))frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)return pygame.surfarray.make_surface(frame.swapaxes(0, 1))# 玩家类 class Skier:def __init__(self):self.image = pygame.transform.scale(player_img, (60, 60))self.rect = self.image.get_rect(center=(WIDTH//2, HEIGHT-100))self.speed = 8self.shield = False # 护盾状态self.magnet = False # 磁铁状态self.boost = False # 加速状态self.boost_timer = 0 # 加速剩余时间def move(self, direction):if direction == "left" and self.rect.left > 0:self.rect.x -= self.speedelif direction == "right" and self.rect.right < WIDTH:self.rect.x += self.speeddef update(self):if self.boost:self.boost_timer -= 1if self.boost_timer <= 0:self.boost = Falseself.speed = 8# 障碍物类 class Obstacle:def __init__(self):self.type = random.choice(["ice", "flag", "boost", "shield", "magnet", "slow"])self.image = self.get_image()self.image = pygame.transform.scale(self.image, (40, 40))self.rect = self.image.get_rect(center=(random.randint(20, WIDTH-20), -20))self.speed = 5def get_image(self):if self.type == "ice":return ice_imgelif self.type == "flag":return flag_imgelif self.type == "boost":return boost_imgelif self.type == "shield":return shield_imgelif self.type == "magnet":return magnet_imgelif self.type == "slow":return slow_imgdef move(self):self.rect.y += self.speeddef main():skier = Skier()obstacles = []score = 0font = pygame.font.Font(None, 36)game_active = Falsewelcome_page = Truecurrent_music = Noneslow_timer = 0 # 减速剩余时间while True:# 事件处理for event in pygame.event.get():if event.type == pygame.QUIT:video.release()pygame.quit()returnif event.type == pygame.KEYDOWN and event.key == pygame.K_SPACE:if welcome_page or not game_active:welcome_page = Falsegame_active = Truescore = 0obstacles = []skier = Skier()slow_timer = 0# 欢迎页面if welcome_page:if current_music != welcome_music:pygame.mixer.stop()welcome_music.play(-1)current_music = welcome_musicbg_surface = get_video_frame()screen.blit(bg_surface, (0, 0))title_font = pygame.font.Font(None, 72)title_text = title_font.render("哈尔滨冰雪大冒险", True, (255, 255, 255))title_rect = title_text.get_rect(center=(WIDTH//2, HEIGHT//3))screen.blit(title_text, title_rect)tip_font = pygame.font.Font(None, 36)tip_text = tip_font.render("按空格键开始游戏", True, (255, 255, 255))tip_rect = tip_text.get_rect(center=(WIDTH//2, HEIGHT//2))screen.blit(tip_text, tip_rect)# 游戏进行中elif game_active:if current_music != game_music:pygame.mixer.stop()game_music.play(-1)current_music = game_musicscreen.blit(game_bg, (0, 0))# 玩家控制keys = pygame.key.get_pressed()if keys[pygame.K_LEFT]:skier.move("left")if keys[pygame.K_RIGHT]:skier.move("right")# 生成障碍物和道具if random.random() < 0.05:obstacles.append(Obstacle())# 更新障碍物和道具for obstacle in obstacles[:]:obstacle.move()if skier.rect.colliderect(obstacle.rect):if obstacle.type == "ice":if not skier.shield:game_active = Falseelse:skier.shield = Falseelif obstacle.type == "flag":score += 50elif obstacle.type == "boost":skier.boost = Trueskier.speed = 12skier.boost_timer = 300 # 加速持续5秒elif obstacle.type == "shield":skier.shield = Trueelif obstacle.type == "magnet":skier.magnet = Trueelif obstacle.type == "slow":slow_timer = 300 # 减速持续5秒obstacles.remove(obstacle)if obstacle.rect.top > HEIGHT:obstacles.remove(obstacle)if obstacle.type == "ice":score += 10# 磁铁效果if skier.magnet:for obstacle in obstacles[:]:if obstacle.type == "flag":dx = skier.rect.centerx - obstacle.rect.centerxdy = skier.rect.centery - obstacle.rect.centerydistance = math.hypot(dx, dy)if distance < 200: # 吸引范围obstacle.rect.x += dx * 0.1obstacle.rect.y += dy * 0.1# 减速效果if slow_timer > 0:slow_timer -= 1for obstacle in obstacles:obstacle.speed = 2else:for obstacle in obstacles:obstacle.speed = 5# 更新玩家状态skier.update()# 绘制玩家和障碍物screen.blit(skier.image, skier.rect)for obstacle in obstacles:screen.blit(obstacle.image, obstacle.rect)# 显示得分和状态score_text = font.render(f"得分: {score}", True, (255, 255, 255))screen.blit(score_text, (10, 10))if skier.shield:shield_text = font.render("护盾: 激活", True, (0, 255, 0))screen.blit(shield_text, (10, 50))if skier.magnet:magnet_text = font.render("磁铁: 激活", True, (0, 255, 255))screen.blit(magnet_text, (10, 90))if skier.boost:boost_text = font.render("加速: 激活", True, (255, 0, 0))screen.blit(boost_text, (10, 130))if slow_timer > 0:slow_text = font.render("减速: 激活", True, (255, 255, 0))screen.blit(slow_text, (10, 170))# 游戏结束界面else:if current_music != end_music:pygame.mixer.stop()end_music.play(-1)current_music = end_musicbg_surface = get_video_frame()screen.blit(bg_surface, (0, 0))end_text = font.render(f"游戏结束!最终得分: {score}", True, (255, 255, 255))screen.blit(end_text, (WIDTH//2-150, HEIGHT//2))restart_text = font.render("按空格键重新开始", True, (255, 255, 255))screen.blit(restart_text, (WIDTH//2-100, HEIGHT//2+50))pygame.display.update()clock.tick(60)if __name__ == "__main__":main()
总结:
deepseek的代码输出能力完全没有问题,对于需求的分析也很精确。给出的修改提示和建议也非常有用。我的结论,deepseek完全可以作为生产力工具给程序员提供更快的代码输出,也可以帮助程序员学习新的知识点,通过项目一点点增加功能打磨代码。
最后给出我最终的代码(我没有加上更多元素)
https://github.com/edzjx/snows-deepseek