忙了几天,又累了个周末,紧接着又出差,心塞...

今天跟大家一起学习一下中文注释及按键相关方面的知识。

一、中文注释

首先把上一章的代码粘贴上来

import sys, pygame
pygame.init()screen = pygame.display.set_mode((320, 240))
black = (0, 0, 250)while 1:for event in pygame.event.get():if event.type == pygame.KEYDOWN:if event.key == pygame.K_ESCAPE:sys.exit()screen.fill(black)pygame.display.flip()

刚接触代码的童鞋(比如我)很容易被鸡肠文绕晕,毕竟不是母语。没事,我们可以用中文注释来标记,方便代码管理和维护,我知道你们想说尽量用英语注释,可谁叫咱英语差呢。

import sys, pygame  # 导入所需库
pygame.init()  # 初始化pygamescreen = pygame.display.set_mode((320, 240))  # 设置屏幕尺寸320*240
black = (0, 0, 250)  # 定义背景色while 1:
"""主循环开始"""for event in pygame.event.get():  # 监听事件if event.type == pygame.KEYDOWN:  # 监听按键按下事件if event.key == pygame.K_ESCAPE:  # 监听ESC键按下sys.exit()  # 程序退出screen.fill(black)  # 背景色绘制屏幕pygame.display.flip()  # 刷新屏幕

安全起见,丢进GS跑一遍。

久违的失败三联

哎,一点都不省心。

没事,我们还有度娘支援啊。查了一通发现是中文编码问题,只要在文件头加上# coding=utf-8这么一句就行了。更改后代码如下

# coding=utf-8import sys, pygame  # 导入所需库
pygame.init()  # 初始化pygamescreen = pygame.display.set_mode((320, 240))  # 设置屏幕尺寸320*240
black = (0, 0, 250)  # 定义背景色while 1:
"""主循环开始"""for event in pygame.event.get():  # 监听事件if event.type == pygame.KEYDOWN:  # 监听按键按下事件if event.key == pygame.K_ESCAPE:  # 监听ESC键按下sys.exit()  # 程序退出screen.fill(black)  # 背景色绘制屏幕pygame.display.flip()  # 刷新屏幕

顺便说一下,上述的utf-8可替换为GB2312 、GBK 、GB18030,对应的就是编码格式,然而无论我替换哪个...

标准的失败三联

不对啊大哥,你这不按套路出牌啊,你总不能每个地方都卡我几天吧?

内心毫无波澜.jpg

又翻查了一通,还是找不出个所以然来,但是有一段话倒是给我一个思路:

来源:https://blog.csdn.net/junkichan/article/details/51913845,侵删

首先,我们的注释中出现的中文字符应该是没问题的,都是常用字,不可能是上述几个编码格式未收录的情况,那就是标点符号的问题咯?

按这个思路,要么是井号(#)出问题要么是双引号(”)出问题,先保留井号试试。把代码更改如下:

# coding=utf-8import sys, pygame  # 导入所需库
pygame.init()  # 初始化pygamescreen = pygame.display.set_mode((320, 240))  # 设置屏幕尺寸320*240
black = (0, 0, 250)  # 定义背景色while 1:  # 主循环开始for event in pygame.event.get():  # 监听事件if event.type == pygame.KEYDOWN:  # 监听按键按下事件if event.key == pygame.K_ESCAPE:  # 监听ESC键按下sys.exit()  # 程序退出screen.fill(black)  # 背景色绘制屏幕pygame.display.flip()  # 刷新屏幕

丢进GS,成功运行。

这难道还有玄学的成分???

意思无法识别双引号???

这是什么鬼逻辑???不过我不想在这里卡太多时间,毕竟现阶段我们还没那么急切的需求双引号的长注释,中文注释功能已经可以实现,先这样吧,回头有时间再研究。


二,按键相关

接下来是按键映射的问题,根据GS的开发文档,其按键映射是这样纸滴:

来源见水印,图侵删

上图中左下部分(LK1-LK5键)为扩展背板按键,部分机友貌似是没有这个部分的,而且不知道是不是我的版本问题,这部分扩展按键键值是相反的,意思是按shift键之前,LK1键对应的是h键,按shift键之后才对应home键。

将我们的代码扩展如下:

# coding=utf-8import sys, pygame  # 导入所需库
pygame.init()  # 初始化pygamescreen = pygame.display.set_mode((320, 240))  # 设置屏幕尺寸320*240
black = (0, 0, 250)  # 定义背景色while 1:  # 主循环开始for event in pygame.event.get():  # 监听事件if event.type == pygame.KEYDOWN:  # 监听按键按下事件if event.key == pygame.K_ESCAPE:  # 监听ESC键按下sys.exit()  # 程序退出elif event.key == pygame.K_h:  # 监听h键按下black = (0, 250, 0)  # 重新定义背景色为绿elif event.key == pygame.K_k:  # 监听k键按下black = (0, 0, 250)  # 重新定义背景色为蓝screen.fill(black)  # 背景色绘制屏幕pygame.display.flip()  # 刷新屏幕

这样我们开机后运行程序,扑面而来的是满屏的心慌蓝,当你按住shift键(方向盘上方那个也可,扩展的LK3也可)按B键,就会变成全屏的开心绿,松开shift键再按A键,心慌蓝又回来了。

对应键值如下(排名不分先后):

注意区分大小写

大家可以自己测试一下,今天就到这。

古得耐

按键映射_第三章 中文注释及按键相关相关推荐

  1. Lync Server 2010的部署系列_第三章 证书、架构、DNS规划

    Lync Server 2010的部署系列_第三章 证书.架构.DNS规划 一.证书规划 组件 使用者名称 使用者备用名称条目/顺序 证书颁发机构 (CA) 备注 边缘外部接口 Sip.Giantha ...

  2. c语言中,x-y,'105',ab,7f8那个是正确的,C语言程序设计_第三章 数据.ppt

    C语言程序设计_第三章 数据 * 运算符功能 与运算量关系 要求运算量个数 要求运算量类型 运算符优先级别 结合方向 结果的类型 学习运算符应注意 * 基本算术运算符: + - * / % 结合方向: ...

  3. 管理系统中计算机应用课件,管理系统中计算机应用_第三章课件.ppt

    <管理系统中计算机应用_第三章课件.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<管理系统中计算机应用_第三章课件.ppt>文档请在天天文库搜索 ...

  4. OpenCV函数简记_第三章数字图像的滤波处理(方框,均值,高斯,中值和双边滤波)

    系列文章目录 OpenCV函数简记_第一章数字图像的基本概念(邻域,连通,色彩空间) OpenCV函数简记_第二章数字图像的基本操作(图像读写,图像像素获取,图像ROI获取,图像混合,图形绘制) Op ...

  5. 《精通数据仓库设计》中英对照_第三章

    <精通数据仓库设计>中英对照_第三章 第二部分 模型开发 数据仓库应该表示企业数据的各个方面,这些方面以主题域和业务数据模型开始.我们将在第3章使用一个假想的公司,指导一步一步地开发这两个 ...

  6. ArcGIS for Desktop入门教程_第三章_Desktop软件安装 - ArcGIS知乎-新一代ArcGIS问答社区...

    原文:ArcGIS for Desktop入门教程_第三章_Desktop软件安装 - ArcGIS知乎-新一代ArcGIS问答社区 1 软件安装 1.1 安装前准备 请确认已经收到来自Esri中国( ...

  7. 屏幕输出语句_第三章 常用输入/输出函数

    第三章 常用输入/输出函数 与其他高级语言一样, C语言的语句是用来向计算机系统发出操作指令的. 当我们提到输入时,这意味着要向程序填充一些数据.输入可以是以文件的形式或从命令行中进行.C 语言提供了 ...

  8. oracle体系三大文件,oracle 体系_第三章控制文件

    第三章 控制文件 1.功能特点 记录数据库当前的物理状态 维护数据库的一致性,是一个二进制的小文件 在mount阶段被读取,记录rman备份的元数据 查看database控制文件的位置 Show pa ...

  9. )类 新建javafx程序时_第三章 第一个OpenCV的JavaFX应用程序.md

    # 第三章 第一个OpenCV的JavaFX应用程序 --- ***注意***:我们假设您现在已经阅读了之前的教程.如果没有,请在[http://opencv-java-tutorials.readt ...

最新文章

  1. AI一分钟 | 小米MIX 2S将于3月27号发布,搭载骁龙845;张朝阳:在研究区块链 但相信AI的力量
  2. Swift中@IBDesignable/@IBInspectable的使用
  3. [WPF]winfom中ShowWPF新窗口时TextBox等控件无法输入问题解决方法 .
  4. Allegro跨分割检查
  5. Eclipse reports rendering library more recent than
  6. 前端学习(1608):react-router-dom基础
  7. c语言转换为python语言_python和c语言
  8. Kotlin学习笔记19 阶段复习1
  9. springBoot springSecurty: x-frame-options deny禁止iframe调用
  10. 用java或c语言编写真值表,离散数学C语言
  11. blp和biba属于哪种访问控制_技术分享 | 访问控制在工控安全中的应用
  12. RationRose UML建模工具
  13. 算法笔记方法论4 枚举法 详细笔记
  14. [现代控制理论]7_线性控制器设计_Linear Controller Design
  15. 黑客帝国主要人物解读
  16. 周 7 福利日:中奖名单公布
  17. 第三章、vb6的ByVal与ByRef详解
  18. Xshell如何连接虚拟机
  19. 集成运放虚短,虚断,虚地
  20. C语言例题:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。

热门文章

  1. 23天的单车旅行,从广州到四川,篇首语
  2. cpu核心数的线程数
  3. 2.27linux和windows互传文件
  4. guava Lists.transform 踩过的坑
  5. SegmentFault 高阳:从开发者到创业者
  6. iOS中常见的内存问题
  7. Linux vim使用心得--一些高级话题
  8. 磁盘配额 挂载 和yum源的配置
  9. 查看was中项目类的加载顺序
  10. HTML5 蔡徐坤打篮球游戏 NMSL❤️❤️❤️