强大的网站设计制作,常州网站备案,西安三桥网站建设,网站百度权重没有数据这几天除了吃就是睡#xff08;不知道为啥#xff0c;吃饱就想睡#xff09;#xff0c;从大年三十到现在感觉啥都没做#xff0c;写个代码安慰安慰自己吧哈哈哈哈。给大家分享几部最近看的电影#xff08;要学英语的一定要get起来#xff09;——《彩虹照耀》《罗宾逊漂… 这几天除了吃就是睡不知道为啥吃饱就想睡从大年三十到现在感觉啥都没做写个代码安慰安慰自己吧哈哈哈哈。给大家分享几部最近看的电影要学英语的一定要get起来——《彩虹照耀》《罗宾逊漂流记》《伴我同行》《荒岛余生》《天赐宝贝》其中《彩虹照耀》全程感动到哭看看就知道有多感人了哈哈哈《天赐宝贝》让我觉得和《我是汤姆》一样感人。接下来写代码趴 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注 欢迎关注微信公众号宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行 如有转载请注明出处如不注明盗者必究 https://blog.csdn.net/hanhanwanghaha欢迎关注这个超级无敌可爱的人鸭有什么问题留言私信皆可看见必回 创作不易如有转载请注明出处 盗文章者垃圾人是也盗者必究 情人节写个贪吃蛇安慰自己一、效果二、代码三、可能遇到的报错3.1报错一3.1.1原因3.1.2解决办法3.2报错二3.2.1原因3.2.2解决办法一、效果
录屏软件和上下键有点冲突就没有演示上下移动了自行脑补啦
二、代码
# coding:utf-8import curses
import random# 初始化屏幕
scr curses.initscr()
# 设置光标
curses.curs_set(0)# 设置宽高
sh, sw scr.getmaxyx()
w curses.newwin(sh, sw, 0, 0)
w.keypad(1)# 窗口刷新时间为100毫秒,控制速度的地方
w.timeout(200)# 蛇
snake_x int(sw / 4)
snake_y int(sh / 2)
snake [[snake_y, snake_x],[snake_y, snake_x - 1],[snake_y, snake_x - 2],
]# 简写一下
ku curses.KEY_UP
kd curses.KEY_DOWN
kr curses.KEY_RIGHT
kl curses.KEY_LEFT# 食物
food [int(sh / 2), int(sw / 2)]
w.addch(int(food[0]), int(food[1]), curses.ACS_PI)# 控制蛇的移动# 首先要给它一个方向
key kr
while True:# 获取玩家的键盘指令next_key w.getch()key key if next_key -1 else next_key# 蛇死的情况撞到自己碰到边缘if snake[0] in snake[1:] or \snake[0][0] in [0, sh] or \snake[0][0] in [0, sh]:curses.endwin()quit()# 蛇的移动逻辑new_head [snake[0][0], snake[0][1]]if key curses.KEY_DOWN:new_head[0] 1if key curses.KEY_UP:new_head[0] - 1if key curses.KEY_LEFT:new_head[1] - 1if key curses.KEY_RIGHT:new_head[1] 1snake.insert(0,new_head)# 当蛇吃到食物if snake[0] food:food Nonewhile food is None:nf [random.randint(1, sh - 1),random.randint(1, sw - 1)]food nf if nf not in snake else Nonew.addch(food[0],food[1],curses.ACS_PI)else:tail snake.pop()w.addch(int(tail[0]), int(tail[1]), )w.addch(int(snake[0][0]), int(snake[0][1]), curses.ACS_CKBOARD)
三、可能遇到的报错
3.1报错一
3.1.1原因
如果是windows系统会出现这样的报错
SyntaxWarning: list indices must be integers or slices, not tuple; perhaps you missed a comma?[snake_y, snake_x]
Traceback (most recent call last):File G:/PythonProject/TD2/game/tanchi.py, line 3, in moduleimport cursesFile F:\Anaconda\lib\curses\__init__.py, line 13, in modulefrom _curses import *
ModuleNotFoundError: No module named _curses如图 但导入的时候完全正常 原因是curses库不支持Windows
3.1.2解决办法
去官网下载curses库对应你python版本的whl文件https://www.lfd.uci.edu/~gohlke/pythonlibs/#curses 比如我是python38,64位 下载到python安装目录中下的Script文件夹下即可(Python\Scripts) 不知道自己python目录在哪的小伙伴别慌 直接在命令行行窗口输入 where python 接下来 把whl文件放入Script文件夹后进入Script文件夹我是用的Anaconda
鼠标单击图上文件位置栏——输入cmd ——然后回车 变为
然后用pip安装whl文件即可
输入 pip install curses-2.2.1utf8-cp38-cp38-win_amd64.whl小技巧whl文件名输入前几个字母按TAB键能自动补全
3.2报错二
3.2.1原因
Redirection is not supported.如图 Redirection isnot supported. 翻译过来是不支持重定向
3.2.2解决办法
首先点击如图所示的倒立三角形符号选Edit Configurations勾选 “Emulate terminal in output console”,应用并确定即可 借鉴https://www.youtube.com/watch?vrbasThWVb-ct0s https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注 欢迎关注微信公众号宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行 如有转载请注明出处如不注明盗者必究