小朋友们好,大朋友们好!
我是猫妹,一名爱上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的话,需要先搞定科学上网,再搞定贝长号等。
猫妹还在摸索中。
话说,咱们国内也有类似平台,虽然和国外同类产品有很大差异,但是进步也是神速,可以试试。
猫妹想写一首给妈妈的诗:
人工智能:
亲爱的妈妈,
您是我生命中的太阳,
为我照亮前方的路途,
您用双手托起我的梦想,
用心灵滋养我的成长。
您是那位默默耕耘的园丁,
为我栽培出一片美丽的花海。
您的笑容如同春天的阳光,
温暖着我心灵的每一个角落。
您是那位慷慨无私的慈母,
为我付出了无尽的爱与关怀。
尽管您不在身边,
我心中依然感受到您的存在。
您是那位伟大的女性,
用智慧和勇气创造了美好的生活。
在这个特别的日子里,
我想对您说声“谢谢”和“爱您”。
亲爱的妈妈,请您放心,
我一定会用我的力量为您发光发热。
无论距离有多遥远,
您始终是我心中最亲爱的人。
猫妹想生成一副有石头、鲜花、神秘感的摄影级作品:
人工智能:
好了,我们今天就学到这里吧!
如果遇到什么问题,咱们多多交流,共同解决。
我是猫妹,咱们下次见!