帮我用cmd写一个贪吃蛇
好的,请按照以下步骤在cmd中写一个简单的贪吃蛇游戏:
-
打开一个文本编辑器,创建一个新的Python文件,例如snake.py。
-
导入所需的模块:
import random
import msvcrt
import os
import time
- 定义游戏界面的宽度和高度:
WIDTH = 40
HEIGHT = 20
- 定义贪吃蛇的初始位置和长度:
snake = [[WIDTH // 2, HEIGHT // 2]]
snake_length = 1
- 定义食物的初始位置:
food = [random.randint(1, WIDTH-2), random.randint(1, HEIGHT-2)]
- 定义贪吃蛇的移动方向:
direction = 'RIGHT'
- 定义游戏主循环:
while True:
os.system('cls') # 清除cmd窗口
# 打印游戏界面
for i in range(HEIGHT):
for j in range(WIDTH):
if i == 0 or i == HEIGHT-1 or j == 0 or j == WIDTH-1:
print('#', end='')
elif [j, i] == snake[0]:
print('O', end='')
elif [j, i] == food:
print('@', end='')
else:
print(' ', end='')
print()
# 获取用户输入
if msvcrt.kbhit():
key = msvcrt.getch().decode()
if key.upper() == 'W' and direction != 'DOWN':
direction = 'UP'
elif key.upper() == 'S' and direction != 'UP':
direction = 'DOWN'
elif key.upper() == 'A' and direction != 'RIGHT':
direction = 'LEFT'
elif key.upper() == 'D' and direction != 'LEFT':
direction = 'RIGHT'
# 贪吃蛇移动
if direction == 'UP':
snake.insert(0, [snake[0][0], snake[0][1]-1])
elif direction == 'DOWN':
snake.insert(0, [snake[0][0], snake[0][1]+1])
elif direction == 'LEFT':
snake.insert(0, [snake[0][0]-1, snake[0][1]])
elif direction == 'RIGHT':
snake.insert(0, [snake[0][0]+1, snake[0][1]])
# 判断是否吃到食物
if snake[0] == food:
food = [random.randint(1, WIDTH-2), random.randint(1, HEIGHT-2)]
snake_length += 1
else:
snake.pop()
# 判断游戏结束条件
if snake[0][0] == 0 or snake[0][0] == WIDTH-1 or snake[0][1] == 0 or snake[0][1] == HEIGHT-1:
break
for i in range(1, len(snake)):
if snake[0] == snake[i]:
break
time.sleep(0.1) # 控制游戏速度
print('Game Over')
- 保存文件并在cmd中运行:
python snake.py
现在你可以在cmd中玩贪吃蛇游戏了!使用WASD键控制蛇的移动方向,尽量吃到食物并避免碰到墙壁或自己的身体。游戏结束后,将在cmd中显示"Game Over"
原文地址: http://www.cveoy.top/t/topic/h3J5 著作权归作者所有。请勿转载和采集!