Ai 编程分享-Ai教你用 Python写贪吃蛇游戏

大家好,我是良逍,一个爱折腾的 95 后,目前是一个不知名的跨境电商产品经理,平时爱研究折腾一些新鲜事物、。后期将会在平台持续分享产品/Ai 编程/成长等相关内容,不一定都对,希望对大家有启发,可以一起讨论一起成长!


目录:

一、明确系统配置

二、输出游戏代码

三、运行游戏

前面我们已经安装好了 Python3.10 和 Pycharm,所以这里我们就直接开始让 Ai 帮你进行代码编写;

这里的思路是:

1、先明确是否还需要什么库或者配置;

2、明确清楚游戏的最终展示效果;

3、可以让ai输出代码之后再告诉你代码是什么意思,方便你学习理解。

一、明确系统配置

1、 了解配置提示词:

我是一个 0 基础,完全不懂编程的普通人,请你担任经验丰富的 Python 老师,我要你教会我学习 Python。请你以通俗易懂的语言跟我描述如何用Python开发小游戏?一般用什么库?并且我是 mac 电脑,已经安装了Pycharm,但是不确定有没有安装其他

输出结果

如果还是不会安装,可以直接问他需要怎么安装:

2、特别提醒:

这里有个坑,就是我们需要安装 Pygame,如果你没有提前告诉 Ai 你已经安装好了 Pygame,他会跟你说这终端安装,并且告诉你代码。我最开始理解的是在 mac 系统的终端,所以我安装了,但最后在运行代码的时候,Pycharm 会提示你他没有 selemnuim。我在这里卡了一段时间,一直在终端上面找问题。最后我把我的背景加上去,就是告诉 Ai我已经安装好了 Pycharm,他就告诉了要在 Pycharm 安装 Pygame,随后我在 Pycharm 的终端安装好了之后,我的代码就可以正常运行了。

在电脑终端安装运行后的报错:

为什么安装Pygame报错

正确的安装位置:

如何安装 Pygame

二、输出游戏代码

这里可以看你自己的发挥,尽可能一次性地把页面需求、游戏规则说清楚就可以。最后可以让他帮你把代码解释一下,方便自己学习,也要养成代码注释习惯,方便自己后期查看。

1、 贪吃蛇提示词:

用Python写一个“贪吃蛇”的游戏。游戏要求:1.背景为白色,蛇是蓝色,食物是随机颜色。2.每吃一个食物,蛇身会增加一格,速度会增加一点点3.当蛇头碰到蛇身时,游戏结束4.蛇到达屏幕边界时不会结束,而是会从另一侧边界出来5.蛇不能直接掉头,只能向两侧转向6.屏幕上方显示得分Score7.结束后显示“Game Over”,玩家按任意键后游戏重新开始另外:1.告诉我用到了什么需要额外安装的第三方库2.在代码中详细注释每一段代码的作用

产出的代码:

Ai 生成的贪吃蛇游戏代码
import pygameimport random# 初始化Pygamepygame.init()# 定义颜色WHITE = (255, 255, 255)BLUE = (0, 0, 255)# 定义游戏窗口大小WIDTH = 800HEIGHT = 600# 定义蛇和食物的大小BLOCK_SIZE = 20# 初始化游戏窗口screen = pygame.display.set_mode((WIDTH, HEIGHT))pygame.display.set_caption("贪吃蛇游戏")# 定义字体font = pygame.font.Font(None, 36)def draw_snake(snake_body):    """绘制蛇身"""    for block in snake_body:        pygame.draw.rect(screen, BLUE, [block[0], block[1], BLOCK_SIZE, BLOCK_SIZE])def generate_food():    """生成食物"""    food_color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))    food_x = round(random.randrange(0, WIDTH - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE    food_y = round(random.randrange(0, HEIGHT - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE    return food_x, food_y, food_colordef game_over_screen():    """显示游戏结束画面"""    screen.fill(WHITE)    game_over_text = font.render("Game Over", True, (255, 0, 0))    screen.blit(game_over_text, (WIDTH // 2 - 70, HEIGHT // 2 - 18))    pygame.display.flip()    waiting = True    while waiting:        for event in pygame.event.get():            if event.type == pygame.QUIT:                return False            if event.type == pygame.KEYDOWN:                return True    return Falsedef game_loop():    """主游戏循环"""    # 初始化蛇的位置和方向    snake_x = WIDTH // 2    snake_y = HEIGHT // 2    snake_dx = BLOCK_SIZE    snake_dy = 0    # 初始化蛇身    snake_body = [[snake_x, snake_y]]    # 生成第一个食物    food_x, food_y, food_color = generate_food()
    # 初始化游戏状态    game_over = False    clock = pygame.time.Clock()    score = 0    speed = 10    while not game_over:        for event in pygame.event.get():            if event.type == pygame.QUIT:                game_over = True            elif event.type == pygame.KEYDOWN:                if event.key == pygame.K_LEFT and snake_dx == 0:                    snake_dx = -BLOCK_SIZE                    snake_dy = 0                elif event.key == pygame.K_RIGHT and snake_dx == 0:                    snake_dx = BLOCK_SIZE                    snake_dy = 0                elif event.key == pygame.K_UP and snake_dy == 0:                    snake_dy = -BLOCK_SIZE                    snake_dx = 0                elif event.key == pygame.K_DOWN and snake_dy == 0:                    snake_dy = BLOCK_SIZE                    snake_dx = 0        # 移动蛇        snake_x += snake_dx        snake_y += snake_dy        # 处理穿越屏幕边界        if snake_x >= WIDTH:            snake_x = 0        elif snake_x < 0:            snake_x = WIDTH - BLOCK_SIZE        if snake_y >= HEIGHT:            snake_y = 0        elif snake_y < 0:            snake_y = HEIGHT - BLOCK_SIZE        # 检查是否吃到食物        if snake_x == food_x and snake_y == food_y:            score += 1            speed += 0.5            food_x, food_y, food_color = generate_food()        else:            snake_body.pop()        # 在蛇头位置插入新的身体部分        snake_body.insert(0, [snake_x, snake_y])        # 检查是否撞到自己        if [snake_x, snake_y] in snake_body[1:]:            game_over = True        # 绘制游戏元素        screen.fill(WHITE)        draw_snake(snake_body)        pygame.draw.rect(screen, food_color, [food_x, food_y, BLOCK_SIZE, BLOCK_SIZE])        # 显示得分        score_text = font.render(f"Score: {score}", True, (0, 0, 0))        screen.blit(score_text, (10, 10))        pygame.display.flip()        # 控制游戏速度        clock.tick(speed)    return scoredef main():    """游戏主函数"""    while True:        score = game_loop()        if not game_over_screen():            break    pygame.quit()if __name__ == "__main__":    main()

2、新建项目粘贴代码

在 Pycharm 里面新建一个项目,把代码粘贴进去即可;

Pycharm怎么样新建项目
Pycharm怎么运行代码

三、运行游戏

点击运行

会弹出游戏界面,你就可以自己玩耍啦~大家可以交作业哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值