用ChatGPT生成一个Python贪吃蛇游戏(42)

小朋友们好,大朋友们好!

我是猫妹,一名爱上Python编程的小学生。

和猫妹学Python,一起趣味学编程。

今日主题

什么是ChatGPT?

ChatGPT可以帮我们做什么?

用ChatGPT生成一个Python贪吃蛇游戏。

什么是ChatGPT

ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI研发的聊天机器人程序,于2022年11月30日发布。

ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过理解和学习人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。

ChatGPT可以帮我们做什么事情

ChatGPT可以帮助人们完成以下任务:

1. 自然语言处理:ChatGPT可以理解和生成人类语言,能够进行问答、翻译、摘要等任务。

2. 聊天交流:ChatGPT可以像人类一样进行聊天交流,回答问题、提供建议、分享知识等。

3. 写作助手:ChatGPT可以协助写邮件、写文章、写代码、写视频脚本等。

4. 学习辅导:ChatGPT可以为学生提供学习辅导,解答问题、讲解知识点等。

5. 商务助手:ChatGPT可以为企业提供客户服务、销售咨询、市场调研等支持。

总之,ChatGPT是一种非常有用的人工智能工具,可以在多个领域帮助人们提高工作效率、解决问题。

Python写的贪吃蛇小游戏

代码可以直接运行,毕竟贪吃蛇游戏很简单嘛!

代码逻辑的话,不算复杂,有兴趣的小伙伴可以试下。

游戏代码:

import pygameimport random
# 初始化pygame库pygame.init()
# 定义RGB颜色BLACK = (0, 0, 0)WHITE = (255, 255, 255)GREEN = (0, 255, 0)RED = (255, 0, 0)
# 设置屏幕大小SIZE = (600, 400)screen = pygame.display.set_mode(SIZE)pygame.display.set_caption("Snake Game")
# 定义方块大小BLOCK_SIZE = 20
# 定义字体font = pygame.font.SysFont(None, 25)
# 定义贪吃蛇类class Snake:    def __init__(self):        # 贪吃蛇的初始位置        self.x = 100        self.y = 100        # 贪吃蛇的身体        self.body = [[self.x, self.y], [self.x-BLOCK_SIZE, self.y], [self.x-(2*BLOCK_SIZE), self.y]]
        # 贪吃蛇的初始移动方向(向右)        self.direction = "right"
    def move(self):        """贪吃蛇移动"""        if self.direction == "right":            self.x += BLOCK_SIZE        elif self.direction == "left":            self.x -= BLOCK_SIZE        elif self.direction == "up":            self.y -= BLOCK_SIZE        else:            self.y += BLOCK_SIZE
        # 在蛇头增加一个新的身体部位        self.body.insert(0, [self.x, self.y])
        # 删除蛇尾        self.body.pop()
    def draw(self, surface):        """绘制贪吃蛇"""        for block in self.body:            pygame.draw.rect(surface, GREEN, [block[0], block[1], BLOCK_SIZE, BLOCK_SIZE])
    def change_direction(self, direction):        """改变移动方向"""        if direction == "right" and self.direction != "left":            self.direction = "right"        elif direction == "left" and self.direction != "right":            self.direction = "left"        elif direction == "up" and self.direction != "down":            self.direction = "up"        elif direction == "down" and self.direction != "up":            self.direction = "down"
class Food:    def __init__(self):        # 随机生成食物的位置        self.x = random.randint(0, (SIZE[0] - BLOCK_SIZE ) // BLOCK_SIZE ) * BLOCK_SIZE        self.y = random.randint(0, (SIZE[1] - BLOCK_SIZE ) // BLOCK_SIZE ) * BLOCK_SIZE
    def draw(self, surface):        """绘制食物"""        pygame.draw.rect(surface, RED, [self.x, self.y, BLOCK_SIZE, BLOCK_SIZE])
def show_score(score):    """显示分数"""    score_text = font.render("Score: " + str(score), True, WHITE)    screen.blit(score_text, [0, 0])
# 创建贪吃蛇和食物对象snake = Snake()food = Food()
# 初始化分数score = 0
# 游戏循环game_over = Falseclock = pygame.time.Clock()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_RIGHT:                snake.change_direction("right")            elif event.key == pygame.K_LEFT:                snake.change_direction("left")            elif event.key == pygame.K_UP:                snake.change_direction("up")            elif event.key == pygame.K_DOWN:                snake.change_direction("down")
    # 移动贪吃蛇    snake.move()
    # 判断贪吃蛇是否吃到食物    if snake.body[0][0] == food.x and snake.body[0][1] == food.y:        food = Food()        snake.body.append(snake.body[-1])        score += 10
    # 判断贪吃蛇是否撞墙或者自己的身体    if snake.body[0][0] < 0 or snake.body[0][0] >= SIZE[0] or snake.body[0][1] < 0 or snake.body[0][1] >= SIZE[1]:        game_over = True    for block in snake.body[1:]:        if snake.body[0] == block:            game_over = True
    # 绘制背景    screen.fill(BLACK)
    # 绘制贪吃蛇和食物    snake.draw(screen)    food.draw(screen)
    # 显示分数    show_score(score)
    # 刷新屏幕    pygame.display.update()
    # 控制游戏帧率    clock.tick(10)
# 退出游戏pygame.quit()

人工智能来啦


上述两款软件功能强悍,不过要科学上网,国内有不少平台对API进行了二次封装,可以直接使用,但是试用次数很少,需要收费。

如果想直接用国外API的话,需要先搞定科学上网,再搞定贝长号等。

猫妹还在摸索中。

话说,咱们国内也有类似平台,虽然和国外同类产品有很大差异,但是进步也是神速,可以试试。

猫妹想写一首给妈妈的诗:

人工智能:

亲爱的妈妈,

您是我生命中的太阳,

为我照亮前方的路途,

您用双手托起我的梦想,

用心灵滋养我的成长。

您是那位默默耕耘的园丁,

为我栽培出一片美丽的花海。

您的笑容如同春天的阳光,

温暖着我心灵的每一个角落。

您是那位慷慨无私的慈母,

为我付出了无尽的爱与关怀。

尽管您不在身边,

我心中依然感受到您的存在。

您是那位伟大的女性,

用智慧和勇气创造了美好的生活。

在这个特别的日子里,

我想对您说声“谢谢”和“爱您”。

亲爱的妈妈,请您放心,

我一定会用我的力量为您发光发热。

无论距离有多遥远,

您始终是我心中最亲爱的人。

猫妹想生成一副有石头、鲜花、神秘感的摄影级作品:

人工智能:

好了,我们今天就学到这里吧!

如果遇到什么问题,咱们多多交流,共同解决。

我是猫妹,咱们下次见!

猜你喜欢

转载自blog.csdn.net/parasoft/article/details/130714813