高考考试网
当前位置: 首页 高考资讯

贪吃蛇c++代码详解(c语言贪吃蛇最简单代码)

时间:2023-06-04 作者: 小编 阅读量: 1 栏目名: 高考资讯

最近有很多的同学问,能不能用Python做出一个小游戏来,而且最好要讲清楚每一段干嘛是用来干嘛的那行,今天将来讲解一下用Pythonpygame做一个贪吃蛇的小游戏据说是贪吃蛇游戏是1976年,Gremlin公司推出的经典街机游戏,那我们今天用Python制作的这个贪吃蛇小游戏是一个像素版的,虽然简陋,但还是可以玩起来的私信小编01即可获取大量Python学习资源我们主要要做的内容创建游戏窗口绘制

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

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

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

私信小编01即可获取大量Python学习资源

我们主要要做的内容

  1. 创建游戏窗口
  2. 绘制贪吃蛇与食物
  3. 蛇吃食物

贪吃蛇的棋盘模型

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

import pygameimport randomimport copy

1. 创建游戏窗口

1.1 游戏初始化

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

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] -= 10if snake_list[pos][1] < 0:snake_list[pos][1] = 500if move_down:snake_list[pos][1] += 10if snake_list[pos][1] > 500:snake_list[pos][1] = 0if move_left:snake_list[pos][0] -= 10if snake_list[pos][0] < 0:snake_list[pos][0] = 500if move_right:snake_list[pos][0] += 10if 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 = Truemove_down = Falsemove_left = Falsemove_right = False# 下键if event.key == pygame.K_DOWN:move_up = Falsemove_down = Truemove_left = Falsemove_right = False# 左键if event.key == pygame.K_LEFT:move_up = Falsemove_down = Falsemove_left = Truemove_right = False# 右键if event.key == pygame.K_RIGHT:move_up = Falsemove_down = Falsemove_left = Falsemove_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 = Falsecount -= 1pygame.display.update()
    推荐阅读
  • 新东风本田XR-V正式上市(东风本田全新一代XR-V实车亮相)

    在中国市场,小型SUV领域销量最高的车型,莫过于东风本田的XR-V。近日,东风本田全新一代本田XR-V实车正式公开亮相,预计将在不久后上市销售。据悉,新一代XR-V将会搭载一台1.5L发动机,因为不是涡轮增压,所以发动机的功率输出并不算高。新车的轴距则为2610mm,与在售的XR-V保持不变。在产品方面,从东风本田公布的全新一代XR-V实车来看,除了动力方面比较单一外,新车在外形、内饰和科技感方面,均有大幅度的升级。

  • 美容护肤知识(大家一起来看看吧)

    一般来说,补水面膜一周做2-3次就可以了。面膜该什么时候敷,补水面膜建议在每天晚上10点至凌晨3点这个时候敷,是最好的。因为这个时间段是,皮肤呼吸代谢的黄金期。它在这段时间能自行修复受损细胞,和代谢皮肤细胞中废物,因此这个时间段敷面膜,不仅能有助于营养成分的更好吸收到肌肤底层,还能将皮肤中的废物代谢出去。而对于一些爱美的女生来说,假如脸上有了青春痘,则是不美观的。

  • 加密货币和支付系统(么看SWIFT俄罗斯跨境交付)

    所有商业银行都在央行开户,工作日约定一个日切的时间,轧差清算,银行的账平了,各银行内部客户的账也平了。清算在境内是无感的。没有办法让全球各国银行都到一个央行去开户进行清算。这样,境外付款就成为了一次境内支付行为。再经过一两次转移,资金再结汇入境。“乌克兰在全球的支持者通过非盈利组织向乌克兰赠予了数百万美元的加密货币,以帮助当地民众应对货币贬值问题。”

  • 全球十大顶级汽车音响排行榜(全球十大汽车音响品牌)

    作为美国最大的扬声器品牌之一,它可以为11个汽车品牌量身定做高级音响系统。它专门开发高端音响系统,而且目前只有雷克萨斯搭载马克莱文森,为了给车主带来最优质的听觉体验,要突破性能的限制,把失真降到最小。麦克风能检测到的声音,都能清晰重现,音质可以细腻到这种程度,它的合作伙伴也是高端车型,比如捷豹、迈凯伦、路虎。一套音响就高达上百万元,可以买到一辆保时捷!

  • 2020吴中区石湖华城幼儿园招生简章 苏州石湖幼儿园2020招生

    1.招生对象:托班:2周岁以上小班:2016.9.1—2017.8.31中班:2015.9.1—2016.8.31大班:2014.9.1—2015.8.312.招生人数:托班:20—25名小班:70—75名中班:少量插班名额大班:少量插班名额3.招生时间和方式在幼儿园自主招生的原则下,暂时不限制幼儿户口所在地。即日起对外进行登记报名,额满为止。

  • 电影大全加勒比海盗(品乐下午茶加勒比海盗)

    影片故事以杰克船长寻找不老泉为主线。佩内洛普·克鲁兹饰演他的老情人,但让杰克船长不确定的是,她究竟是因爱情而来、还只是想利用他来找到传说中的不老泉。这个女人强迫他上了黑胡子的海盗船,杰克再次踏上了一条吉凶未卜的旅程。这次他可能面对两个对手:自己的神秘老情人以及可怕的黑胡子海盗。活动当天开场前5分钟凭取票码验票入场,开场后取票码视为无效。

  • 手拉壶和手工壶的区别(手拉壶和手工壶有什么区别)

    接下来我们就一起去了解一下吧!手拉壶和手工壶的区别手拉壶中会添加高岭土,制作它需要先把原料发在机器上并启动它,机器开始旋转后我们就可以用手把原料拉成壶状。手工壶一般是纯紫砂,它分为全手工、半手工两种,需要制壶者利用拍身筒、打泥条等手法对原料进行加工。

  • 巨蟹座要在11月份注意的事情(12月份巨蟹座迎来工作变动期)

    巨蟹座近来表现不错,运势处于旺盛期,在12月份巨蟹座也是如此,但要经历一个变动期,同时对你来说也是一个考验。12月巨蟹座重心在工作中,主动积极会带来不错的收获。所以说控制情绪也是巨蟹座12月份需要做的事情。12月底的巨蟹座会充满动力,为2021年的到来充满信心。所以请巨蟹座在12月份主动起来,成功与否或许就在一念之间。

  • 济宁带状疱疹疫苗免费吗? 济宁 疫苗 给钱

    济宁地区接种价格为1633元/针。济宁带状疱疹疫苗接种指南接种条件:按身份证注明的出生日期,接种第一针时满50周岁。接种针数:带状疱疹疫苗需要接种2剂间隔时间:第2针与第1针间隔2个月接种。如需改变免疫程序,第2针在接种第1针后2~6个月之间接种。

  • 达芬奇的一生简介(关于达芬奇的简介)

    达芬奇的一生简介列奥纳多·达·芬奇。意大利文艺复兴画家、科学家、发明家。现代学者称他为“文艺复兴时期最完美的代表”,是人类历史上绝无仅有的全才,其最大的成就是绘画,他的杰作《蒙娜丽莎》和《最后的晚餐》等作品,体现了他精湛的艺术造诣。达·芬奇认为自然中最美的研究对象是人体,人体是大自然的奇妙之作品,画家应以人为绘画对象的核心。