贪吃蛇

一、问题描述

       初始状态:贪吃蛇的蛇头在坐标(0,0)处,蛇身长度为10,蛇尾在(-10,0)处,呈一字型,输入一行字符,L表示蛇向左行走一格,R表示蛇向右行走一格,U表示蛇向上行走一格,D表示蛇向下行走一格,判断输入的操作方式会不会导致蛇在自身上发生碰撞,会发生输出legal,不会发生输出illegal。

二、解题思路

       1) 获取身体坐标。

       

       2) 保存开始时蛇头的位置,最后进行更新。

       

       3) 操作开始,只关心蛇头坐标的动向。

       贪吃蛇_第1张图片

       4) 根据蛇头坐标,更新身体坐标,并进行碰撞检测。

       贪吃蛇_第2张图片

       5) 更新蛇头坐标,重复下一步循环。

       

三、注意事项

       1) 判断输入是否合法。

       贪吃蛇_第3张图片

       2)碰撞操作发生后及时退出。

       贪吃蛇_第4张图片

四、代码实现

       见我的github:贪吃蛇

你可能感兴趣的:(算法及其应用,算法工程师进阶之路)