代码确实不对false的返回位置不对,另外你的问题答案是在一条对角线说明两点连接的斜率为1或负1,也就是横坐标相减的绝对值等于纵坐标相减
成都创新互联是一家集网站建设,西塞山企业网站建设,西塞山品牌网站建设,网站定制,西塞山网站建设报价,网络营销,网络优化,西塞山网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
想学的话,当然是可以学习的。python是一门语法优美的编程语言,不仅可以作为小工具使用提升我们日常工作效率,也可以单独作为一项高新就业技能!
python可以做的事情:
软件开发:用python做软件是很多人正在从事的工作,不管是B/S软件,还是C/S软件,都能做。并且需求量还是挺大的;
数据挖掘:python可以制作出色的爬虫工具来进行数据挖掘,而在很多的网络公司中数据挖掘的岗位也不少;
游戏开发:python扩展性很好,拥有游戏开发的库,而且游戏开发绝对是暴力职业;
大数据分析:如今是大数据的时代,用python做大数据也是可以的,大数据分析工程师也是炙手可热的职位;
全栈工程师:如今程序员都在向着全栈的方向发展,而学习python更具备这方面的优势;
系统运维:python在很多linux中都支持,而且语法特点很向shell脚本,学完python做个系统运维也是很不错的。
你可以考察对比一下有名气的开设python课程的学校,好的学校会根据市场调研做专业的课程设计。祝你学有所成,望采纳。
请点击输入图片描述
1 是 dokill, 就是碰撞完把碰撞的东西都删掉,return得到的是所有在group里有参加碰撞的东西的列表,在这里,及为所有与player碰撞的alien的列表 这是官方的解释(如果看得懂的话):
总结几个关键词吧,将来如果看到这篇博文,自己还能对当时用到的技术有点印象:
1. 状态机:重构了游戏代码,主循环使用了状态机分接不同状态,update 游戏逻辑 , 使代码变得清晰利于维护
2. OBB 碰撞检测:AABB 碰撞检测 无法 达到需求,参考了 OBB 碰撞检测的原理,实现了游戏的碰撞检测
3. cx_Freeze:python 代码打包 exe ,使用了 cx_Freeze 这个库,这个库非常好用,更难得的是支持 python3
遇到的问题有:
1. 没有仔细研究 pygame 如何操作 surface 的 alpha 透明度
2. cx_Freeze 打包出来的 exe, 在遇到调用 pygame.mixer.music 的 load() 函数时,会报错。没有仔细查原因。
3. 对 python 语言本身的一些特性不熟悉,一些特性的实现可能并不符合 python 的标准用法。
总的来说,我对这套代码的质量还算满意,对这个游戏核心玩法的还原度也比较认可。写在这里,记录我第一次用 python 写了个行数较多的,面向对象的程序。
可惜用 pygame 写出来的东西没法移植到手机,每每想到这一点,就让我觉得这东西实在没啥前途。。我对 python 的理解 可能不够,但是我印象里 python 也是一个解释执行的语言,也可以和 c++ 相互调用,为啥不能在手机上 搞个python 解释器来运行 python 程序 ? 如果 python 解释器是 c++ 写的,python 不能像 lua 等脚本语言一样,内嵌到 手机 开发的 app 里?如果 python 程序可以移植到手机上执行的话, pygame 基于 SDL ,理论上 SDL 也是基于 OpenGL 的,那么理论上 pygame 写出来的游戏,应该也能移植到 手机上 才对。。
所以说。。我对 python 的理解还是不足,暂时没法从知识上解答上面的几个问题。下个目标还是专心本职工作,学习 iOS Android 原生开发,更深入的去学习平台跨越性更好的 游戏引擎,争取多写一些 在手机上跑的,完成度最少达到这次写的 flappy bird 的程度的 东西吧。
主要参考的文章地址是:
http //simple-is-better.com/news/361
全部代码以及打包出来的 exe 都上传在这里,给N年后回头看的自己留个念想,也提供给比我更新的手, 想了解 pygame 的人做个参考
http //download.csdn.net/detail/korekara88730/9416635
能,但不适合。
用锤子能造汽车吗? 谁也没法说不能吧?历史上也确实曾经有些汽车,是用锤子造出来的。但一般来说,还是用工业机器人更合适对吗?
比较大型的,使用Python的游戏有两个,一个是《EVE》,还有一个是《文明》。但这仅仅是个例,没有广泛意义。
一般来说,用来做游戏的语言,有两种。一是C++。。一是C#。。
Python理论上,不仅不适合做游戏,而是只要大型的程序,都不适合。只适合写比较小型的东西,比如一个计算器,一个爬虫等。
主要有2个方面,一是速度慢,二是语法缺陷。
也许你一定觉得,Python的语法又干净,又优雅,怎么还有缺陷?但仔细想想,为什么别的语言没有这么干净?没有这么优雅?明明可以直接a=123 干嘛非要写成 int a=123;呢?难道是其他语言的设计者,都有强迫症吗?道理很简单,有得必有失。
如果数据类型,只有字符串和数字,省略掉声明变量的过程,当然不是问题。但只要逻辑一复杂,情况就完全不同了。。。游戏中,你用C#或C++写起来,大概会是这样。
技能 a=xxxx;
武器 b=xxxx;
角色 c=xxxx;
药水 d=xxxx;
音乐 e=xxxx;
而Python呢?大概是这个样子
a=xxxx
b=xxxx
c=xxxx
d=xxxx
如果你的代码很少,显然是Python比较方便。但如果你创建几百个对象,代码超过1万行。。。写到几千行的时候,遇到一个叫x的对象,你还知道它到底是个啥吗?是一把武器?还是一瓶药水?还是一张图片?一段音频?一盏灯光?一座房子?
不要以为1万行代码很多。。。。1万行连个《斗地主》都写不完。。
用Python写大程序的感觉就是,当你第一天,只写了50行代码,创建了3个类,5个对象。你会觉得太爽了,这绝对是世界上最好的语言。。。第二天,你又创建了2个类,5个对象的时候,就觉得有点晕晕的了。第三天,又创建了2个类之后,你会发现自己必须非常仔细的看一遍注释,否则就不会写了。第四天,你一整天都在看注释。。。。
这就是动态语言的劣根性。一开始代码量少,看不出任何缺点,各种省事,各种爽。代码量越多,脑子越乱。一般500行以上,效率就会被JAVA,C#之类的语言反超。。1000行,就必须要各种加注释才能看懂了。。2000行,注释比代码还多了。。5000行,注释已经完全不管用了,自己根本看不懂自己的代码,需要准备弃坑了。
cocos2d-x是c++写的,c++没有,cocos2d-x应该就没有!cocos2d-x主要是出来页面效果的,基本的函数还是靠c++的基本知识来实现。