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))

注意:转载或使用请注明出处!!!

posted @ 2018-06-17 09:48  sunny开始学坏  阅读(900)  评论(0编辑  收藏  举报