我是靠谱客的博主 辛勤帽子,最近开发中收集的这篇文章主要介绍【华为OD机试真题 python】贪吃蛇【2022 Q4 | 200分】,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

题目描述

【贪吃蛇】

贪吃蛇是一个经典游戏,蛇的身体由若干方格连接而成,身体随蛇头移动。蛇头触碰到食物时,蛇的长度会增加一格。

蛇头和身体的任一方格或者游戏版图边界碰撞时,游戏结束。

下面让我们来完成贪吃蛇游戏的模拟。

给定一个N*M的数组arr,代表N*M个方格组成的版图,贪吃蛇每次移动一个方格。

若arr[i][j] == ‘H’,表示该方格为贪吃蛇的起始位置;

若arr[i][j] == ‘F’,表示该方格为食物,

若arr[i][j] == ‘E’,表示该方格为空格。

贪吃蛇初始长度为1,初始移动方向为向左。

为给定一系列贪吃蛇的移动操作,返回操作后蛇的长度,如果在操作执行完之前已经游戏结束,返回游戏结束时蛇的长度。

贪吃蛇移动、吃食物和碰撞处理的细节见下面图示:

图1:截取了贪吃蛇移动的一个中间状态,H表示蛇头,F表示食物,数字为蛇身体各节的编号,蛇为向左移动,此时蛇头和食物已经相邻

图2:蛇头向左移动一格,蛇头和食物重叠,注意此时食物的格子成为了新的蛇头,第1节身体移动到蛇头位置,第2节身体移动到第1节身体位置,以此类推,

最后添加第4节身体到原来第3节身体的位置。

图3:蛇头继续向左移动一格,身体的各节按上述规则移动,此时蛇头已经和边界相邻ÿ

最后

以上就是辛勤帽子为你收集整理的【华为OD机试真题 python】贪吃蛇【2022 Q4 | 200分】的全部内容,希望文章能够帮你解决【华为OD机试真题 python】贪吃蛇【2022 Q4 | 200分】所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部