python贪吃蛇链表
时间: 2023-06-22 09:22:10 浏览: 215
实现贪吃蛇游戏时,可以利用链表来实现蛇的身体部分。具体实现如下:
1. 定义一个SnakeNode类作为链表的节点,包含一个坐标属性和一个指向下一个节点的指针。坐标属性可以用一个元组表示。
```
class SnakeNode:
def __init__(self, coord):
self.coord = coord
self.next = None
```
2. 定义一个Snake类作为蛇的身体部分,包含一个指向链表头部的指针和一个指向链表尾部的指针。初始时,蛇只有一个节点,链表头部和尾部指向同一个节点。
```
class Snake:
def __init__(self, coord):
self.head = SnakeNode(coord)
self.tail = self.head
```
3. 实现贪吃蛇的移动功能时,只需要将链表尾部节点移动到链表头部节点的位置即可。具体实现如下:
```
# 在链表头部添加一个新的节点
new_head = SnakeNode(new_coord)
new_head.next = self.head
self.head = new_head
# 删除链表尾部的节点
p = self.head
while p.next.next:
p = p.next
p.next = None
self.tail = p
```
通过这种方式,可以方便地实现贪吃蛇游戏中蛇的身体部分的移动。
阅读全文