【第三篇:利用ChatGPT编写贪食蛇小游戏】

好像现在最近对ChatGPT讨论越来越热,ChatGPT的出现应该会引发“一次新的社会变革”,未来很多码农会失业啊!与其坐着被改变,不如尝试主动改变,我今天就利用ChatGPT编写贪食蛇小游戏,看看一个小白是否真的可以编出这个程序。
下面是我用ChatGPT3.5的真实应用。

然后我点击复制,现在把代码全部粘贴在PyCharm ,看语法完全合规,没有报错,居然还有注释(太震惊了!)。代码如下:

import pygame
import random

# 初始化 Pygame 库
pygame.init()

# 定义屏幕宽度和高度
screen_width = 500
screen_height = 500

# 创建屏幕对象并设置窗口大小
screen = pygame.display.set_mode((screen_width, screen_height))

# 设置窗口标题
pygame.display.set_caption("贪食蛇")

# 定义颜色变量
white = (255, 255, 255)
black = (0, 0, 0)
red = (255, 0, 0)

# 定义贪食蛇移动速度
snake_speed = 15

# 初始贪食蛇位置和长度
snake_x = 250
snake_y = 250
snake_size = 10
snake_list = []
snake_length = 1

# 初始化食物位置
food_x = round(random.randrange(0, screen_width - snake_size) / 10.0) * 10.0
food_y = round(random.randrange(0, screen_height - snake_size) / 10.0) * 10.0

# 定义函数来显示贪食蛇
def draw_snake(snake_list):
    for x in snake_list:
        pygame.draw.rect(screen, black, [x[0], x[1], snake_size, snake_size])

# 游戏主循环
game_over = False
while not game_over:

    # 获取所有事件
    for event in pygame.event.get():

        # 如果是退出事件,则游戏结束
        if event.type == pygame.QUIT:
            game_over = True

        # 如果是键盘按下事件
        if event.type == pygame.KEYDOWN:

            # 如果是左箭头按下,蛇向左移动
            if event.key == pygame.K_LEFT:
                x_change = -snake_size
                y_change = 0

            # 如果是右箭头按下,蛇向右移动
            elif event.key == pygame.K_RIGHT:
                x_change = snake_size
                y_change = 0

            # 如果是上箭头按下,蛇向上移动
            elif event.key == pygame.K_UP:
                x_change = 0
                y_change = -snake_size

            # 如果是下箭头按下,蛇向下移动
            elif event.key == pygame.K_DOWN:
                x_change = 0
                y_change = snake_size

    # 移动贪食蛇
    snake_x += x_change
    snake_y += y_change

    # 如果贪食蛇碰到边界,则游戏结束
    if snake_x >= screen_width or snake_x < 0 or snake_y >= screen_height or snake_y < 0:
        game_over = True

    # 绘制屏幕背景和食物
    screen.fill(white)
    pygame.draw.rect(screen, red, [food_x, food_y, snake_size, snake_size])

    # 存储贪食蛇头部坐标
    snake_head = []
    snake_head.append(snake_x)
    snake_head.append(snake_y)
    snake_list.append(snake_head)

    # 如果贪食蛇长度超过 snake_length,则删除贪食蛇尾部
    if len(snake_list) > snake_length:
        del snake_list[0]

    # 绘制贪食蛇
    draw_snake(snake_list)

    # 如果贪食蛇吃到了食物,增加贪食蛇长度并重新生成食物位置
    if snake_x == food_x and snake_y == food_y:
        food_x = round(random.randrange(0, screen_width - snake_size) / 10.0) * 10.0
        food_y = round(random.randrange(0, screen_height - snake_size) / 10.0) * 10.0
        snake_length += 1

    # 更新屏幕显示
    pygame.display.update()

    # 控制帧率
    clock = pygame.time.Clock()
    clock.tick(snake_speed)

# 退出 Pygame

试着运行下,报了一个小错误

稍微检查下,发现一个小错误,x_change,y_change没有初始赋值,改下。再运行下,居然成功了

以上代码,欢迎大家测试,只有一点小bug,稍微改下就可以用哈!

总结:
1、ChatGPT3.5已经完全能理解文字含义,是绝对【人工智能】,以上的编程无懈可击!
2、即使一个熟练的程序员,也达不到这个程度,更别谈速度。如果使用ChatGPT4,相信能解决更复杂的编程问题,还能识别图像,太厉害啦太厉害啦太厉害啦!
3、如果大规模使用GPT,很多人会失业,会引发很多社会问题。大佬们暂停【人工智能】的开发是有理由的!
未来已来!终结者时代可能就在不远的将来。。。。。。

猜你喜欢

转载自blog.csdn.net/jifeng_lr/article/details/129964445