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))
注意:转载或使用请注明出处!!!