Qpython实现命令行的贪吃蛇
国际惯例
注意:转载或使用请注明出处!!!
先上效果图:

用多维数组做了贪吃蛇的地图
分析贪吃蛇运动原理是
前进时头部增加一格,尾部减少一格
吃到食物后蛇身尾巴涨一节
用字符串的操作方法来连接列表打印在终端。
用os.system('clear')清除屏幕,实现一帧一帧的流畅体验。
最后上代码:
import os,random
sw=[[5,5]]
#lc=[[0,0],[0,1],[0,2],[0,3],[0,4],[0,5],[0,6]]
lc=[[5,i] for i in range(10)]
s=''
for x in range(500):
w=len(lc)-1
li = [(['○'] * 20) for i in range(20)]
a=input('请输入wasd控制:')
if a=='':
a=s
if a=='w':
lc.append([lc[w][0]-1,lc[w][1]])
del lc[0]
s='w'
if a=='s':
lc.append([lc[w][0]+1,lc[w][1]])
del lc[0]
s='s'
if a=='a':
lc.append([lc[w][0],lc[w][1]-1])
del lc[0]
s='a'
if a=='d':
lc.append([lc[w][0],lc[w][1]+1])
del lc[0]
s='d'
if lc[w] in sw:
lc.insert(0,[lc[0][0],lc[0][1]-1])
del sw[0]
sw.append([random.randint(0,19),random.randint(0,19)])
for i in lc:li[i[0]][i[1]]='●'
for w in sw:li[w[0]][w[1]]='◆'
os.system('clear')
for i in li:print(''.join(i))
注意:转载或使用请注明出处!!!

浙公网安备 33010602011771号