用cursor可以一句话生成贪吃蛇小游戏代码,关键是能直接跑。

四级用户 龙神 2023-3-23 1977

我在论坛看到有人让AI写剪刀石头布的小游戏。

我就试了下让他跑个贪吃蛇的小游戏,刚开始总是有些数组越界的小问题。

多试了几次后,就出来一个直接能运行起来玩的python代码了。

有点惊讶的是,AI给的代码很整洁,注释也清楚,我从没写过游戏的人 ,居然能看懂  有点震撼。

我只说了一句话: “用python实现一个贪吃蛇小游戏”  这就有点屌了。

import pygame
import random
# 初始化pygame
pygame.init()
# 设置游戏界面大小、背景图片及标题
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption('贪吃蛇')
# 定义颜色变量
red = pygame.Color(255, 0, 0)
green = pygame.Color(0, 255, 0)
black = pygame.Color(0, 0, 0)
white = pygame.Color(255, 255, 255)
# 定义游戏结束函数
def game_over():
    pygame.quit()
    exit()
# 定义主函数
def main():
    # 初始化变量
    snake_position = [100, 100]
    snake_body = [[100, 100], [80, 100], [60, 100]]
    target_position = [300, 300]
    target_flag = 1
    direction = 'RIGHT'
    change_direction = direction
    # 定义计时器
    clock = pygame.time.Clock()
    # 游戏主循环
    while True:
        # 处理游戏退出
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                game_over()
            elif event.type == pygame.KEYDOWN:
                if event.key == pygame.K_ESCAPE:
                    game_over()
                elif event.key == pygame.K_LEFT:
                    change_direction = 'LEFT'
                elif event.key == pygame.K_RIGHT:
                    change_direction = 'RIGHT'
                elif event.key == pygame.K_UP:
                    change_direction = 'UP'
                elif event.key == pygame.K_DOWN:
                    change_direction = 'DOWN'
        # 判断移动方向是否相反
        if change_direction == 'LEFT' and not direction == 'RIGHT':
            direction = change_direction
        elif change_direction == 'RIGHT' and not direction == 'LEFT':
            direction = change_direction
        elif change_direction == 'UP' and not direction == 'DOWN':
            direction = change_direction
        elif change_direction == 'DOWN' and not direction == 'UP':
            direction = change_direction
        # 根据移动方向修改蛇头坐标
        if direction == 'LEFT':
            snake_position[0] -= 20
        elif direction == 'RIGHT':      
            snake_position[0] += 20
        elif direction == 'UP':
            snake_position[1] -= 20
        elif direction == 'DOWN':
            snake_position[1] += 20
        # 增加蛇的长度
        snake_body.insert(0, list(snake_position))
        if snake_position[0] == target_position[0] and snake_position[1] == target_position[1]:
            target_flag = 0
        else:
            snake_body.pop()
        # 重新生成目标方块
        if not target_flag:
            x = random.randrange(1, 32)
            y = random.randrange(1, 24)
            target_position = [int(x * 20), int(y * 20)]
            target_flag = 1
        # 绘制pygame显示层
        screen.fill(black)
        for position in snake_body:
            pygame.draw.rect(screen, green, pygame.Rect(
                position[0], position[1], 20, 20))
        pygame.draw.rect(screen, white, pygame.Rect(
            target_position[0], target_position[1], 20, 20))
        # 刷新pygame显示层
        pygame.display.update()
        # 判断是否死亡
        if snake_position[0] < 0 or snake_position[0] > 780:
            game_over()
        elif snake_position[1] < 0 or snake_position[1] > 580:
            game_over()
        for block in snake_body[1:]:
            if snake_position[0] == block[0] and snake_position[1] == block[1]:
                game_over()
        # 控制游戏速度
        clock.tick(5)
# 运行主函数
main()



上一篇:这是屎吗?我是吃还是不吃?
下一篇:下班路上玩玩机
最新回复 (12)
  • 四级用户 老韭菜了呀 2023-3-23
    2 2
    让他给只狼写个DLC吧
  • 三级用户 老顽童 2023-3-23
    0 3
    继续让它写DLC
  • 五级用户 wenbin5243 2023-3-23
    0 4
    这种代码不是网上一搜一大把吗
  • 四级用户 ma_er233 2023-3-23
    0 5
    我之前玩风之杖里面的个小游戏,觉得有意思,就拿python重现了一下练练手。我啥公开的代码也没参考,结果把我写的放进chatgpt,它就能给我总结出这是个啥类型游戏,啥规则,怎么操作,还能给我的代码加注释,非常nb……
    不过nb还是有限度的,我之前尝试叫它帮我给游戏加个gui,就不行了,暂时还没试成功?
  • 四级用户 hawkli 2023-3-23
    0 6
    如果是重复性比较强的游戏,AI自动生成能做的很好,因为很多都不需要你再定义了。
    不然你试想一下,要告诉AI什么是贪吃蛇,规则是什么,怎么变长,怎么输,这些全定义完,比自己写代码还累。
  • 四级用户 CAN1780 2023-3-23
    0 7
    我在想,让它写冷门游戏的金手指不知道行不行
  • 五级用户 110119diDI 2023-3-24
    0 8
    CAN1780 我在想,让它写冷门游戏的金手指不知道行不行
    会编一个给你,不能用又拿它如何呢?
  • 四级用户 读书读坏脑 2023-3-24
    0 9
    昨天用cursor写了个小爬虫,写得比我整洁
  • 四级用户 CAN1780 2023-3-24
    0 10
    110119diDI 会编一个给你,不能用又拿它如何呢?
    也是
  • 四级用户 龙神 2023-3-24
    0 11
    jeanszhang 昨天用cursor写了个小爬虫,写得比我整洁
    我也刚试着用他爬下论坛新发的帖子。 确实简洁。
  • 四级用户 龙神 2023-3-24
    1 12
    CAN1780 我在想,让它写冷门游戏的金手指不知道行不行
    这又不是魔法师 ,不能无中生有。   他只能快速生成已经被实现,并且可以重复多次的东西,来提高效率。但是太细太专业的东西需要你分解成一个个常见的小任务去指引着他做。
  • 四级用户 CAN1780 2023-3-24
    0 13
    龙神 这又不是魔法师 ,不能无中生有。 他只能快速生成已经被实现,并且可以重复多次的东西,来提高效率。但是太细太专业的东西需要你分解成一个个常见的小任务去指引着他做。
    原来如此
    • 老男人游戏网配套论坛
      14
        立即登录 立即注册
发新帖
本论坛禁止发布SWITCH和PS4相关资源,若有其他侵权内容,请致邮3360342659#qq.com(#替换成@)删除。