怎么做简历的网站,深圳网站设计有名 乐云践新,河南建设工程协会网站,广州安全教育平台登录体验用ai做了个python小游戏 写在前面使用的工具2.增加功能1.要求增加视频作为背景。2.我让增加了一个欢迎页面。3.我发现中文显示有问题。4.我提出了背景修改意见#xff0c;欢迎页面和结束页面背景是视频#xff0c;游戏页面背景是静态图片。5.提出增加更多游戏元素。 总结… 体验用ai做了个python小游戏 写在前面使用的工具2.增加功能1.要求增加视频作为背景。2.我让增加了一个欢迎页面。3.我发现中文显示有问题。4.我提出了背景修改意见欢迎页面和结束页面背景是视频游戏页面背景是静态图片。5.提出增加更多游戏元素。 总结 写在前面
最近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//250))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库怎么引用素材
2.我让增加了一个欢迎页面。
它的思路通过设置变量把游戏过程分为欢迎页游戏进行中游戏结束3个状态。逻辑没毛病。还贴心的提供修改说明和建议。
3.我发现中文显示有问题。
提出了问题deepseek也给出可行的解决方案我使用了他给的方案2 因为自定义字体可以使得游戏画面更优。还贴心的给出了注意事项。
4.我提出了背景修改意见欢迎页面和结束页面背景是视频游戏页面背景是静态图片。 5.提出增加更多游戏元素。
deepseek增加了加速道具护盾道具磁铁道具减速道具。
总结
deepseek的代码输出能力完全没有问题对于需求的分析也很精确。给出的修改提示和建议也非常有用。我的结论deepseek完全可以作为生产力工具给程序员提供更快的代码输出也可以帮助程序员学习新的知识点通过项目一点点增加功能打磨代码。
最后给出我最终的代码我没有加上更多元素
链接: https://github.com/edzjx/snows-deepseek