当前位置:首页|资讯|ChatGPT|编程

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

作者:和猫妹学Python发布时间:2023-05-17

原标题:用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 pygame

import 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 = False

clock = 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的话,需要先搞定科学上网,再搞定贝长号等。

猫妹还在摸索中。

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

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

人工智能:

亲爱的妈妈,

您是我生命中的太阳,

为我照亮前方的路途,

您用双手托起我的梦想,

用心灵滋养我的成长。

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

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

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

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

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

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

尽管您不在身边,

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

您是那位伟大的女性,

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

在这个特别的日子里,

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

亲爱的妈妈,请您放心,

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

无论距离有多遥远,

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

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

人工智能:

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

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

我是猫妹,咱们下次见!


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1