贪吃蛇c++代码详解(c语言贪吃蛇最简单代码)
贪吃蛇c++代码详解(c语言贪吃蛇最简单代码)
2024-09-30 06:14:29  作者:走过的哥们  网址:https://m.xinb2b.cn/life/hpe480993.html

最近有很多的同学问,能不能用Python做出一个小游戏来,而且最好要讲清楚每一段干嘛是用来干嘛的

那行,今天将来讲解一下用Python pygame做一个贪吃蛇的小游戏


据说是贪吃蛇游戏是1976年,Gremlin公司推出的经典街机游戏,那我们今天用Python制作的这个贪吃蛇小游戏是一个像素版的,虽然简陋,但还是可以玩起来的


私信小编01即可获取大量Python学习资源我们主要要做的内容创建游戏窗口绘制贪吃蛇与食物蛇吃食物贪吃蛇的棋盘模型

现在就开始我们的代码,首先,还是导入模块
import pygameimport randomimport copy

1. 创建游戏窗口1.1 游戏初始化
pygame.init()clock = pygame.time.Clock()  # 设置游戏时钟pygame.display.set_caption("贪吃蛇-解答、源码、相关资料可私信我")  # 初始化标题screen = pygame.display.set_mode((500, 500))  # 初始化窗口 窗体的大小为 500  500

1.2 初始化蛇的位置 蛇的长度 10 10 也就是蛇的 X Y 坐标
snake_list = [[10, 10]]

首先设置蛇的一个运行方向 接下来判断键盘事件在决定蛇的运行方向蛇可以运行起来了,那么接下来就是,吃食物增加自己的长度和不吃食物在不同的位置显示初始小蛇方向
move_up = Falsemove_down = Falsemove_left = Falsemove_right = True

1.3 初始化食物的位置
x = random.randint(10, 490)y = random.randint(10, 490)food_point = [x, y]

1.4 开启游戏循环
running = Truewhile running:    # 游戏时钟 刷新频率    clock.tick(20)

1.5 填充背景为白色
screen.fill([255, 255, 255])

1.6 绘制背景
for x in range(0, 501, 10):    pygame.draw.line(screen, (195, 197, 199), (x, 0), (x, 500), 1)    pygame.draw.line(screen, (195, 197, 199), (0, x), (500, x), 1)    food_rect = pygame.draw.circle(screen, [255, 0, 0], food_point, 15, 0)


1.7绘制蛇
snake_rect = []for pos in snake_list:    # 1.7.1 绘制蛇的身子    snake_rect.append(pygame.draw.circle(screen, [255, 0, 0], pos, 5, 0))


2. 绘制贪吃蛇与食物2.1 获取蛇的长度,移动蛇的身子
pos = len(snake_list) - 1while pos > 0:    snake_list[pos] = copy.deepcopy(snake_list[pos - 1])    pos -= 1

2.2 更改蛇头位置
if move_up:    snake_list[pos][1] -= 10    if snake_list[pos][1] < 0:        snake_list[pos][1] = 500if move_down:    snake_list[pos][1] += 10    if snake_list[pos][1] > 500:        snake_list[pos][1] = 0if move_left:    snake_list[pos][0] -= 10    if snake_list[pos][0] < 0:        snake_list[pos][0] = 500if move_right:    snake_list[pos][0] += 10    if snake_list[pos][0] > 500:        snake_list[pos][0] = 0

2.3 键盘控制移动职位
for event in pygame.event.get():    # print(event)    # 判断按下的按键    if event.type == pygame.KEYDOWN:        # 上键        if event.key == pygame.K_UP:            move_up = True            move_down = False            move_left = False            move_right = False        # 下键        if event.key == pygame.K_DOWN:            move_up = False            move_down = True            move_left = False            move_right = False        # 左键        if event.key == pygame.K_LEFT:            move_up = False            move_down = False            move_left = True            move_right = False        # 右键        if event.key == pygame.K_RIGHT:            move_up = False            move_down = False            move_left = False            move_right = True

2.4 获取蛇的长度,移动蛇的身子
pos = len(snake_list) - 1while pos > 0:    snake_list[pos] = copy.deepcopy(snake_list[pos - 1])    pos -= 1


3. 蛇吃食物3.1 碰撞检测 如果蛇吃掉食物
if food_rect.collidepoint(pos):    # 贪吃蛇吃掉食物    snake_list.append(food_point)    # 重置食物位置    food_point = [random.randint(10, 490), random.randint(10, 490)]    food_rect = pygame.draw.circle(screen, [255, 0, 0], food_point, 15, 0)    break

3.2 如果蛇吃掉了自己
head_rect = snake_rect[0]count = len(snake_rect)while count > 1:    if head_rect.colliderect(snake_rect[count - 1]):        running = False    count -= 1pygame.display.update()

  • 宋太祖赵匡胤晚年(太祖赵匡胤第三任皇后)
  • 2024-09-30太祖赵匡胤第三任皇后自从赵匡胤的第二任皇后——孝明王皇后去世后,赵匡胤一直没有立后,以示对王皇后的怀念可国不可后位长期悬空,四年之后,赵匡胤立了宋氏为他的第三任皇后(赵匡胤网图)一、宋氏出身显赫、年轻貌美,17岁被立为皇。
  • 甘蔗增粗方法(甘蔗种植技术)
  • 2024-09-30甘蔗种植技术一、整地1、先犁遍蔗地,然后再耙碎耙平2、开蔗沟行距:坡地0.9~1米、水田1.1~1.2米,沟深5~7寸,沟宽6~8寸,沟底要平,留1寸左右的松细土二、种苗处理1、砍种:要求砍成双芽段,砍种时注意不。
  • 剌和刺的意思(剌还是刺)
  • 2024-09-30剌还是刺钱江晚报·小时新闻记者章然昨天(8月22日),小时新闻接到了杭州一位小学生的报料昨天路过北山街和环城西路交叉口时,孩子发现碑文上对白居易的介绍中,将“刺史”写成了“剌史”,是不是错别字?记者立即联系了。
  • 四驱小子旋转木板比赛(四驱小子长春大聚会)
  • 2024-09-30四驱小子长春大聚会2017年3月4日,中国第一届迷你四驱车联合杯赛在长春举行,吸引了来自全国各地的迷你四驱车爱好者来参赛迷你赛车从诞生的那天起,就以仿真、新颖的外型,强大的动力,闪电般的速度,吸引了成千上万的青少年车迷。
  • 难得一见的西游记幕后花絮(西游记拍摄花絮)
  • 2024-09-30西游记拍摄花絮当年《西游记》播出的时候,后期技术还不是很成熟,但是这部作品却陪伴了很多人的童年,虽然他们没有花里胡哨的后期加持,但是却依旧给大家带来了很多欢乐,即便是多年之后,这部影片依旧被大家称为经典之作,翻拍过。
  • 黄金瞳2什么时候上映(黄金瞳的评价)
  • 2024-09-30黄金瞳的评价《黄金瞳》2将于2021年起上映播出该剧改编自打眼的同名小说,讲述了在典当行工作的小职员庄睿,在一次意外中眼睛发生异变,随后展开以文化鉴宝为主题的冒险之旅《黄金瞳》的评价凭借着独特的鉴宝题材、错综复杂。
  • 能陪你吃苦的女人语句(适合能陪你吃苦的女人说说)
  • 2024-09-30适合能陪你吃苦的女人说说这个世界上没有同患难的夫妻,曾经我认同,经历过了,也悟透了,只有共享福的夫妻花开堪折直须折,莫待无花空折枝一辈子的不离不弃,相濡以沫,即使是清贫的生活,可依然会感到幸福,因为有你在我身边,这才是真正的。
  • 姚晨最新发布的消息(从找到你都挺好到上青云)
  • 2024-09-30从找到你都挺好到上青云作者|电影夫人(头条号签约作者)01独立女性代言人要说今年势头最猛的女演员,夫人首推姚晨大概姚晨自己都没想到,去年的《星空演讲》会成为她再次火爆的开端在那场关于中年女演员的“尬”与“惑”的演讲中,她不。
  • 我是如何解决代沟(如何看待代沟)
  • 2024-09-30如何看待代沟“代沟”一词从英文generationgap直译过来,由于译法贴切、新颖,加上易于记忆,所以成了常用语查阅资料得知,generation是一个总称语,指同一代的人它所指的“一代”,大约是二十五到三十年。
  • 长生优贝健康重大疾病保险案例(案例精选福瑞达生物)
  • 2024-09-30案例精选福瑞达生物从长远来看,我们与每刻的合作算是才刚刚开始现阶段,希望每刻报销能成为真正贴合企业业务、便捷、高效的财务管理工具,开启福瑞达生物实现企业财务数字化、智能化之路——福瑞达生物CFO王总01企业业务蓬勃发展。