
Python
文章平均质量分 61
我的一亩三分地儿
做点事情!
展开
-
Python原生服务端签名生成请求订单信息「orderString」
接口文档:https://docs.open.alipay.com/204/105465/ 一、签名方法示例:「代码中的私钥是随机生成无法使用,做示例用」def sign(params): sort_param = sorted([(key, unicode(value, 'UTF-8').encode('UTF-8')) for key, value in params.it转载 2017-10-01 19:45:59 · 1524 阅读 · 0 评论 -
python中的匿名函数
在Python中函数分为两种,一种是通过def定义的函数,一种是lambda定义的匿名函数。lambda匿名函数适合定义一些单行语句的函数,可使代码更加简洁优美。但lambda函数局限性很大,通常我们只能定义一条单独的表达式,这个表达式的结果就是返回值。我们在匿名函数中无法使用多行语句、条件分支、异常处理。我们不适用lambda函数也可以编写python函数完成我们的功能。但lambda有原创 2017-09-25 23:45:47 · 893 阅读 · 0 评论 -
python中的self参数
当程序加载到内存开始运行时,那么函数代码会加载多份到内存吗?# 飞机1plane1 = HeroPlane(10, 100)plane1.fly()# 飞机2plane2 = HeroPlane(15, 100)plane2.fly()我们可以看出无论是plane1的fly()函数还是plane2()的fly()函数,是完全一样的实现,同时我们也知道计算机的内存是非常宝贵的资源原创 2017-09-25 23:41:46 · 2156 阅读 · 0 评论 -
django基础入门(2)-创建项目和应用
1. 创建django项目在当前用户的某个目录下创建项目,这样不会发生权限问题.我们在/home/Desktop/my_django/目录下创建项目.cd /home/Desktop/mkdir my_djangocd my_django在my_django目录中执行创建项目命令如下:django-admin startproject 项目名称接下来可以使用IDE打开此目录原创 2017-09-25 22:03:03 · 346 阅读 · 0 评论 -
virtualenvwrapper配置报错
1. 安装virtualenvsudo pip install virtualenv2. 安装virtualenvwrappersudo pip install virtualenvwrapper默认会将virtualenvwrapper安装到/usr/local/bin目录下,需要在用户的.bsharc文件中增加如下配置:# 1. Create a directory原创 2017-09-25 21:34:56 · 15672 阅读 · 7 评论 -
pygame编写飞机大战(9)-播放爆炸动画
当子弹和敌机碰撞,我们并不像单单将飞机和子弹消失,应该在其发生碰撞的位置播放一组爆炸动画,游戏效果更为逼真一些。那如何实现动画呢?动画实现思路很简单,我们将一组图片按照一定的时间间隔,将其按顺序绘制到屏幕上,即可显示为动画效果。这几张图片,我们首先将其load到游戏中,存放到一个列表中。当发生爆炸的时候,我们就将列表中的图片按照预先定义好的顺序,绘制到屏幕上。那么爆炸类如何写呢?原创 2017-09-24 11:43:32 · 8966 阅读 · 14 评论 -
pygame编写飞机大战(8)-碰撞检测
当英雄飞机发射的子弹击中敌人的飞机,那么敌人飞机和子弹都应该马上消失。根据我们的设计,子弹只需要设置visible属性为False即可,而敌人飞机只需要重新设置下初始位置,飞行速度即可。我们子弹和飞机都维护了一个矩形,rect(x, y, width, height), 其中x和y是矩形在窗口上的坐标,碰撞检测我们只需要循环遍历每一颗已经发射的子弹,也就是visible为True的子弹和每一个原创 2017-09-24 11:27:11 · 8368 阅读 · 1 评论 -
pygame编写飞机大战(7)-敌人飞机类
敌人飞机类的设计和英雄非常类似,区别在于英雄的坐标计算在每一帧的时候计算,每一帧绘制。当敌人飞出屏幕之后,自动再随机设置飞机的初始坐标,实现飞机无穷无尽从地图上面往下飞。# 敌人飞机class EnemyPlane(object): # 初始化敌人飞机 def __init__(self, scene): # 加载飞机资源 self.image原创 2017-09-24 10:32:34 · 3670 阅读 · 1 评论 -
pygame编写飞机大战(6)-英雄飞机类
英雄飞机在创建之初,在子弹列表中我们预先创建好30个子弹,这个创建多少个由自己定义。发射子弹的思路是,每次发射三个子弹,从子弹列表中首先选出3颗未发射的子弹,也就是visible=False的子弹,如果子弹列表中都已经发射出去,则本次不发射任何子弹。子弹在移动出屏幕之后,会自动将自己的状态设置为False状态。英雄飞机仍然有两个最为重要的action函数和draw函数, draw每一帧循环原创 2017-09-24 10:17:56 · 1510 阅读 · 1 评论 -
pygame编写飞机大战(5)-子弹类
我们现在编写子弹类,我们设计子弹为了通用一点,敌人飞机向下发射子弹,英雄飞机向屏幕上方发射子弹,那我们就在创建子弹的时候,设置传递一个参数,根据参数来选择子的子弹的图片和子弹移动的方向。这里注意一点,pygame.image.load()图片之后,我们可以通过图片对象的get_rect()方法来获得图片的矩形(矩形应该包括该图片在窗口里的x和y坐标,以及其宽和高),但是矩形的x和y坐标始终是(原创 2017-09-24 09:39:17 · 7073 阅读 · 1 评论 -
pygame编写飞机大战(1)-准备
我们要做飞机大战效果如下:我们的开发环境:pycharm + python3.4.4 + pygame1.9.3pygame是可用来编写游戏的免费的Python模块。它是基于SDL(C语言游戏库)库的,使用pygame我们可以使用python创建完全基于界面的游戏。pygame几乎所有的平台和操作系统上运行。pygame官网: http://www.pygame.org...原创 2017-09-24 01:13:47 · 3208 阅读 · 9 评论 -
pygame编写飞机大战(4)-滚动地图
我们要实现飞机在场景中飞行的效果,我们可以选择背景地图滚动,相对来衬托飞机在移动。如何实现背景的滚动效果,我们可选取两张图片,两张图片交替向下移动,当某张图片完全移动到屏幕外侧,那么马上再次设置为开始位置,重新开始移动。图示入下:这里有两张一模一样的图片,这两张图片比较特殊,也就是图片的下边界和图片的上边界可以完美的无缝的对接在一起,好似一张图片一样。我们将这两张图片一张放在场景上外侧原创 2017-09-24 02:44:24 · 5403 阅读 · 4 评论 -
pygame编写飞机大战(3)-搭建游戏流程
简单的游戏实现流程应该是:1. 计算游戏中元素的坐标。也就是游戏每刷新一次,游戏中的元素,例如子弹坐标就会+1, 比如飞机的坐标计算等等;2. 计算出了游戏中的元素,飞机或者子弹的坐标,那么就需要将飞机和子弹的图片绘制到这个坐标的位置;3. 处理事件,游戏进行过程中,玩家会通过键盘或者鼠标点击、拖动、甚至关闭窗口等都属于事件,当玩家有这些操作的时候,我们要对玩家的操作做出响应。比如,如原创 2017-09-24 02:14:27 · 2613 阅读 · 1 评论 -
pygame编写飞机大战(2)-pygame快速入门
# ----------窗口相关操作-----------# 创建窗口scene = pygame.display.set_mode([屏幕宽,屏幕高])# 设置窗口标题pygame.display.set_caption("标题")# 设置窗口图标pygame.display.set_icon(image)# 将图片绘制到窗口scene.blit(image, (0, 0))原创 2017-09-24 01:41:36 · 1998 阅读 · 1 评论