大家好,我是良逍,一个爱折腾的 95 后,目前是一个不知名的跨境电商产品经理,平时爱研究折腾一些新鲜事物也尝试过很多副业,也取得过一些成绩。后期将会在平台持续分享产品/Ai 编程/成长等相关内容,不一定都对,希望对大家有启发,可以一起讨论一起成长!
目录:
一、明确系统配置
二、输出游戏代码
三、运行游戏
前面我们已经安装好了 Python3.10 和 Pycharm,所以这里我们就直接开始让 Ai 帮你进行代码编写;
这里的思路是:
1、先明确是否还需要什么库或者配置;
2、明确清楚游戏的最终展示效果;
3、可以让ai输出代码之后再告诉你代码是什么意思,方便你学习理解。
一、明确系统配置
1、 了解配置提示词:
我是一个 0 基础,完全不懂编程的普通人,
请你担任经验丰富的 Python 老师,
我要你教会我学习 Python。
请你以通俗易懂的语言跟我描述如何用Python开发小游戏?一般用什么库?并且我是 mac 电脑,已经安装了Pycharm,但是不确定有没有安装其他
输出结果
如果还是不会安装,可以直接问他需要怎么安装:
2、特别提醒:
这里有个坑,就是我们需要安装 Pygame,如果你没有提前告诉 Ai 你已经安装好了 Pygame,他会跟你说这终端安装,并且告诉你代码。我最开始理解的是在 mac 系统的终端,所以我安装了,但最后在运行代码的时候,Pycharm 会提示你他没有 selemnuim。我在这里卡了一段时间,一直在终端上面找问题。最后我把我的背景加上去,就是告诉 Ai我已经安装好了 Pycharm,他就告诉了要在 Pycharm 安装 Pygame,随后我在 Pycharm 的终端安装好了之后,我的代码就可以正常运行了。
在电脑终端安装运行后的报错:
正确的安装位置:
二、输出游戏代码
这里可以看你自己的发挥,尽可能一次性地把页面需求、游戏规则说清楚就可以。最后可以让他帮你把代码解释一下,方便自己学习,也要养成代码注释习惯,方便自己后期查看。
1、 贪吃蛇提示词:
用Python写一个“贪吃蛇”的游戏。
游戏要求:
1.背景为白色,蛇是蓝色,食物是随机颜色。
2.每吃一个食物,蛇身会增加一格,速度会增加一点点
3.当蛇头碰到蛇身时,游戏结束
4.蛇到达屏幕边界时不会结束,而是会从另一侧边界出来
5.蛇不能直接掉头,只能向两侧转向
6.屏幕上方显示得分Score
7.结束后显示“Game Over”,玩家按任意键后游戏重新开始
另外:
1.告诉我用到了什么需要额外安装的第三方库
2.在代码中详细注释每一段代码的作用
产出的代码:
import pygame
import random
# 初始化Pygame
pygame.init()
# 定义颜色
WHITE = (255, 255, 255)
BLUE = (0, 0, 255)
# 定义游戏窗口大小
WIDTH = 800
HEIGHT = 600
# 定义蛇和食物的大小
BLOCK_SIZE = 20
# 初始化游戏窗口
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("贪吃蛇游戏")
# 定义字体
font = pygame.font.Font(None, 36)
def draw_snake(snake_body):
"""绘制蛇身"""
for block in snake_body:
pygame.draw.rect(screen, BLUE, [block[0], block[1], BLOCK_SIZE, BLOCK_SIZE])
def generate_food():
"""生成食物"""
food_color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))
food_x = round(random.randrange(0, WIDTH - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE
food_y = round(random.randrange(0, HEIGHT - BLOCK_SIZE) / BLOCK_SIZE) * BLOCK_SIZE
return food_x, food_y, food_color
def game_over_screen():
"""显示游戏结束画面"""
screen.fill(WHITE)
game_over_text = font.render("Game Over", True, (255, 0, 0))
screen.blit(game_over_text, (WIDTH // 2 - 70, HEIGHT // 2 - 18))
pygame.display.flip()
waiting = True
while waiting:
for event in pygame.event.get():
if event.type == pygame.QUIT:
return False
if event.type == pygame.KEYDOWN:
return True
return False
def game_loop():
"""主游戏循环"""
# 初始化蛇的位置和方向
snake_x = WIDTH // 2
snake_y = HEIGHT // 2
snake_dx = BLOCK_SIZE
snake_dy = 0
# 初始化蛇身
snake_body = [[snake_x, snake_y]]
# 生成第一个食物
food_x, food_y, food_color = generate_food()
# 初始化游戏状态
game_over = False
clock = pygame.time.Clock()
score = 0
speed = 10
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_LEFT and snake_dx == 0:
snake_dx = -BLOCK_SIZE
snake_dy = 0
elif event.key == pygame.K_RIGHT and snake_dx == 0:
snake_dx = BLOCK_SIZE
snake_dy = 0
elif event.key == pygame.K_UP and snake_dy == 0:
snake_dy = -BLOCK_SIZE
snake_dx = 0
elif event.key == pygame.K_DOWN and snake_dy == 0:
snake_dy = BLOCK_SIZE
snake_dx = 0
# 移动蛇
snake_x += snake_dx
snake_y += snake_dy
# 处理穿越屏幕边界
if snake_x >= WIDTH:
snake_x = 0
elif snake_x < 0:
snake_x = WIDTH - BLOCK_SIZE
if snake_y >= HEIGHT:
snake_y = 0
elif snake_y < 0:
snake_y = HEIGHT - BLOCK_SIZE
# 检查是否吃到食物
if snake_x == food_x and snake_y == food_y:
score += 1
speed += 0.5
food_x, food_y, food_color = generate_food()
else:
snake_body.pop()
# 在蛇头位置插入新的身体部分
snake_body.insert(0, [snake_x, snake_y])
# 检查是否撞到自己
if [snake_x, snake_y] in snake_body[1:]:
game_over = True
# 绘制游戏元素
screen.fill(WHITE)
draw_snake(snake_body)
pygame.draw.rect(screen, food_color, [food_x, food_y, BLOCK_SIZE, BLOCK_SIZE])
# 显示得分
score_text = font.render(f"Score: {score}", True, (0, 0, 0))
screen.blit(score_text, (10, 10))
pygame.display.flip()
# 控制游戏速度
clock.tick(speed)
return score
def main():
"""游戏主函数"""
while True:
score = game_loop()
if not game_over_screen():
break
pygame.quit()
if __name__ == "__main__":
main()
2、新建项目粘贴代码
在 Pycharm 里面新建一个项目,把代码粘贴进去即可;
三、运行游戏
点击运行后会弹出游戏界面,你就可以自己玩耍啦~