这几天除了吃就是睡(不知道为啥,吃饱就想睡),从大年三十到现在感觉啥都没做,写个代码安慰安慰自己吧哈哈哈哈。给大家分享几部最近看的电影(要学英语的一定要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 <module>import cursesFile "F:\Anaconda\lib\curses\__init__.py", line 13, in <module>from _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.1+utf8-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?v=rbasThWVb-c&t=0s

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)

情人节用python写个贪吃蛇安慰自己相关推荐

  1. python写一个游戏多少代码-使用Python写一个贪吃蛇游戏实例代码

    我在程序中加入了分数显示,三种特殊食物,将贪吃蛇的游戏逻辑写到了SnakeGame的类中,而不是在Snake类中. 特殊食物: 1.绿色:普通,吃了增加体型 2.红色:吃了减少体型 3.金色:吃了回到 ...

  2. python游戏脚本实例-使用Python写一个贪吃蛇游戏实例代码

    我在程序中加入了分数显示,三种特殊食物,将贪吃蛇的游戏逻辑写到了SnakeGame的类中,而不是在Snake类中. 特殊食物: 1.绿色:普通,吃了增加体型 2.红色:吃了减少体型 3.金色:吃了回到 ...

  3. 贪吃蛇博弈算法python_算法应用实践:如何用Python写一个贪吃蛇AI

    原标题:算法应用实践:如何用Python写一个贪吃蛇AI 前言 这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游戏, 估计大部分人都玩过.但如果仅仅是贪吃蛇游戏,那么它就没有什么让人涨姿势 ...

  4. python圆形按钮_小白用python写个贪吃蛇给小白看

    每个初学写代码的人可能都想在学习了一些基础知识后,希望能够写出一点拿得出手,秀的出来,但又在自己能力范围内的东西(没错,说的是我自己). 本人是个在读大学生,python小白,就想完成个多年前&quo ...

  5. Pygame实战:用 Python 写个贪吃蛇大冒险,保姆级教程。

    导语 ​ 贪吃蛇,大家应该都玩过.当初第一次接触贪吃蛇的时候 ,还是我爸的数字手机,考试成绩比较好,就会得到一些小奖励,玩手机游戏肯定也在其中首位,毕竟小孩子天性都喜欢~ 当时都能玩的不亦乐乎.今天, ...

  6. 用 Python 写个贪吃蛇,保姆级教程

    本文基于 Windows 环境开发,适合 Python 新手 下面我们就一起用 Python 实现一个简单有趣的命令行贪吃蛇小游戏,启动命令: .私信小编01即可获取大量Python学习教程 git ...

  7. python贪吃蛇控制台_如何用Python写一个贪吃蛇AI

    前言 这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游戏, 估计大部分人都玩过.但如果仅仅是贪吃蛇游戏,那么它就没有什么让人涨姿势的地方了. 问题的关键在于,图片中的贪吃蛇真的很贪吃XD, ...

  8. python贪吃蛇_如何用Python写一个贪吃蛇?

    阅读文本大概需要 5 分钟 作者:Hawstein http://hawstein.com/2013/04/15/snake-ai/ 前言 这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游 ...

  9. python设计贪吃蛇游戏论文_用Python写一个贪吃蛇AI,让程序自己玩游戏

    前言 这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游戏, 估计大部分人都玩过.但如果仅仅是贪吃蛇游戏,那么它就没有什么让人涨姿势的地方了. 问题的关键在于,图片中的贪吃蛇真的很贪吃XD, ...

最新文章

  1. 基于双目视觉的目标检测与追踪方案详解
  2. linux 共享内存_盘点那些linux 后台开发类常见问题及知识点
  3. html 按需加载插件,htmlwebpackplugin
  4. 采用加密技术进行数据保护的5大优势
  5. 暑假攻略:怎样让孩子过一个充实又省钱的假期
  6. 用实例的方式去理解storm的并发度
  7. 2017/12/30 GUI和动态代理
  8. docker入门、docker基本命令
  9. 机器视觉——镜头介绍
  10. 建筑模式语言(美)c.亚历山大.pdf,建筑模式语言:城镇·建筑·构造(上下)两本 精装32开,有少量画线...
  11. 数字转人民币大写(SQL SERVER)
  12. #####好好好好######Neo4j 第三篇:Cypher查询入门
  13. 基于MP2307的FPGA实验系统供电设计
  14. 证据权重 (WOE) 与信息价值 (IV)
  15. WWDC19 内参完整解读正式出炉~
  16. 使用 MySQL Workbench为现有 MySQL 或 MariaDB 数据库创建ER图
  17. mysql主从配置详细教程
  18. TP-LINK路由器自动拨号上网和无线上网设置
  19. 电梯程序c语言51单片机,基于51单片机的六层电梯控制系统c语言程序.pdf
  20. [极客大挑战 2019]Knife --- [极客大挑战 2019]Http

热门文章

  1. (一)MySQL优化之索引优化
  2. 四年级计算机笔试题,四年级计算机考试卷.doc
  3. 乒乓球十一分制比赛规则_乒乓球的基本比赛规则
  4. Java 注解知识总结
  5. 单变量和多变量财务预警模型_SPSS数据分析,基于判别分析上市公司财务危机预警分析...
  6. vscode emmet默认模板_从零开始配置 vscode
  7. 对于计算机网络技术的课程,计算机网络技术课程剖析.doc
  8. 条件队列java_Java并发系列(4)AbstractQueuedSynchronizer源码分析之条件队列
  9. vue获取table一列数据_VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)...
  10. php基础学哪些,榆林学习php需要哪些基础(PHP是什么)