基本信息

案例ID:212077

技术顾问:十月耶 - 5年经验 - 华为

联系沟通

微信扫码,建群沟通

项目名称:贪吃蛇

所属行业:文化娱乐 - 游戏

->查看更多案例

案例介绍

贪吃蛇是一款经典的益智游戏,简单又耐玩。该游戏通过控制蛇头方向吃蛋,从而使得蛇变得越来越长。通过上下左右方向键控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,不能咬到自己的身体,更不能咬自己的尾巴,等到了一定的分数,就能过关,然后继续玩下一关。本例难度为中级,适合具有 Python 基础和 Pygame 编程知识的用户学习。
游戏是基于 PyGame 框架制作的,程序核心逻辑如下:游戏界面分辨率是 640*480,蛇和食物都是由 1 个或多个 20*20 像素的正方形块儿(为了方便,下文用点表示 20*20 像素的正方形块儿) 组成,这样共有 32*24 个点,使用 pygame.draw.rect 来绘制每一个点;初始化时蛇的长度是 3,食物是 1 个点,蛇初始的移动的方向是右,用一个数组代表蛇,数组的每个元素是蛇每个点的坐标,因此数组的第一个坐标是蛇尾,最后一个坐标是蛇头;游戏开始后,根据蛇的当前移动方向,将蛇运动方向的前方的那个点 append 到蛇数组的末位,再把蛇尾去掉,蛇的坐标数组就相当于往前挪了一位;如果蛇吃到了食物,即蛇头的坐标等于食物的坐标,那么在第 2 点中蛇尾就不用去掉,就产生了蛇长度增加的效果;食物被吃掉后,随机在空的位置(不能与蛇的身体重合) 再生成一个;通过 PyGame 的 event 监控按键,改变蛇的方向,例如当蛇向右时,下一次改变方向只能向上或者向下;当蛇撞上自身或墙壁,游戏结束,蛇头装上自身,那么蛇坐标数组里就有和舌头坐标重复的数据,撞上墙壁则是蛇头坐标超过了边界,都很好判断;其他细节:做了个开始的欢迎界面;食物的颜色随机生成;吃到实物的时候有声音提示等。

相似案例推荐

其他人才的相似案例推荐

  • h5小游戏

    h5小游戏

    定制多种h5小游戏,推广页面。适配多个常用浏览器,可用于推广

  • h5小游戏

    h5小游戏

    定制多种h5小游戏,推广页面。适配多个常用浏览器,可用于推广

  • 刀塔传奇

    刀塔传奇

    《刀塔传奇》(现在是《小冰冰传奇》)是一款动作卡牌游戏,开创

  • 无尽远征

    无尽远征

    《无尽远征》是一款2D横版MMORPG游戏,游戏在2019年

  • Immortal Awakening

    Immortal Awakening

    《Immortal Awakening》是一款暗黑风格的MM

  • 黎明召唤

    黎明召唤

    黎明召唤是挂机类mmorpg手游 担任核心开发成员,负责游

  • 晴天小狗

    晴天小狗

    晴天小狗是3D跨平台社交游戏,又萌又时尚的宠物游戏 目前支持

  • 晴天小猫

    晴天小猫

    ★宠物养成类社交游戏 ★可爱,神秘,独具个性的猫咪带来全新的

  • flash 转换为 html5 工具

    flash 转换为 html5 工具

    这是一个将flash转换为html5的工具,通过这个工具的开

  • 梦幻诛仙

    梦幻诛仙

    《梦幻诛仙》是由完美世界开发的一款2D回合制角色扮演类网游,

  • NCPA新春寻宝记

    NCPA新春寻宝记

    内容: NCPA新春寻宝记; 内置寻宝,签到接福袋两个小游

  • XX游戏

    XX游戏

    广大弹友可以自由组织自己的公会家族,在公会大厅秀出自己的装备

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服