flyps 发表于 2023-12-3 10:18:40

python贪吃蛇

捏嘿嘿,用了三个星期,终于做出了第一个游戏--贪吃树!({:10_247:} 说错了是贪吃蛇)
在此,我要感谢在我的游戏出现"虫子"(bug)时及时来帮助我的同志!(人太多懒得念名单了...)
想玩吗

好了,懒得念源代码了,自己到文件中去看吧
有什么建议可以跟我说(反正我也不会改的)
由于我是个"新人"发帖时若有什么不对的地方我以后发帖时会纠正的


FishC_GPT 发表于 2023-12-3 10:19:12

恭喜你完成了第一个游戏!贪吃蛇确实是一个非常好的选择作为初学者的第一个项目。

如果你愿意,我可以提供一些关于编写贪吃蛇游戏的基本思路和代码示例,这样其他人也可以参考你的游戏。以下是一个简化的贪吃蛇游戏实现示例:

import pygame
import random

# 初始化游戏
pygame.init()

# 定义窗口大小
window_width = 800
window_height = 600

# 定义蛇和食物的大小
snake_size = 20
food_size = 20

# 设置窗口大小
window = pygame.display.set_mode((window_width, window_height))
pygame.display.set_caption('贪吃蛇')

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

# 定义蛇的初始位置和速度
snake_x = window_width // 2
snake_y = window_height // 2
snake_speed = 5

# 定义蛇的长度和初始方向
snake_length = 1
snake_direction = "right"

# 定义食物的初始位置
food_x = round(random.randrange(0, window_width - food_size) / 20.0) * 20
food_y = round(random.randrange(0, window_height - food_size) / 20.0) * 20

# 游戏主循环
running = True
while running:
    # 检测游戏退出事件
    for event in pygame.event.get():
      if event.type == pygame.QUIT:
            running = False

    # 检测按键事件
    keys = pygame.key.get_pressed()
    if keys:
      snake_direction = "left"
    elif keys:
      snake_direction = "right"
    elif keys:
      snake_direction = "up"
    elif keys:
      snake_direction = "down"

    # 根据蛇的方向更新蛇的位置
    if snake_direction == "left":
      snake_x -= snake_speed
    elif snake_direction == "right":
      snake_x += snake_speed
    elif snake_direction == "up":
      snake_y -= snake_speed
    elif snake_direction == "down":
      snake_y += snake_speed

    # 绘制背景
    window.fill(black)

    # 绘制食物
    pygame.draw.rect(window, red, (food_x, food_y, food_size, food_size))

    # 绘制蛇身
    snake_head = []
    snake_head.append(snake_x)
    snake_head.append(snake_y)
    snake_list = []
    snake_list.append(snake_head)
    if len(snake_list) > snake_length:
      del snake_list

    for segment in snake_list:
      pygame.draw.rect(window, green, (segment, segment, snake_size, snake_size))

    # 检测蛇与食物的碰撞
    if snake_x == food_x and snake_y == food_y:
      snake_length += 1
      food_x = round(random.randrange(0, window_width - food_size) / 20.0) * 20
      food_y = round(random.randrange(0, window_height - food_size) / 20.0) * 20

    # 检测蛇与边界的碰撞
    if snake_x >= window_width or snake_x < 0 or snake_y >= window_height or snake_y < 0:
      running = False

    # 检测蛇与自身的碰撞
    for segment in snake_list[:-1]:
      if segment == snake_head:
            running = False

    # 刷新窗口
    pygame.display.update()

# 退出游戏
pygame.quit()

这是一个简化的贪吃蛇游戏示例,只包含了基本的游戏逻辑,还可以根据自己的需求进行扩展和改进。希望对你有帮助!如果有任何问题,请随时提问。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

flyps 发表于 2023-12-3 10:20:38

顺便说一下隐藏帖子需要回帖才能看到

FishC_GPT 发表于 2023-12-3 10:20:47

flyps 发表于 2023-12-03 10:20
顺便说一下隐藏帖子需要回帖才能看到

非常抱歉,但我无法提供您要求的隐藏帖子需要回复才能查看的功能。这样的功能通常是通过论坛或社交媒体平台的特定设置来实现的。如果您在使用特定的论坛或社交媒体平台,请查看相关平台的文档或向他们的支持团队寻求帮助。如果您有其他关于贪吃蛇游戏的问题,我将很乐意帮助您回答。

以上回复来自 -- ChatGPT(FishC官方接口),如未能正确解答您的问题,请继续追问。

陈勃 发表于 2023-12-3 10:44:49

{:10_254:}{:10_275:}

liuhongrun2022 发表于 2023-12-3 11:22:48

建议在帖子里简要介绍一下

歌者文明清理员 发表于 2023-12-3 12:26:25

可以简要介绍代码
https://fishc.com.cn/thread-146275-1-1.html
以便申请精华
示例
https://fishc.com.cn/thread-229817-1-1.html

虚妄空 发表于 2023-12-18 16:27:47

666
页: [1]
查看完整版本: python贪吃蛇