昨日阅读2 h,累计 279.5 h
<Python编程:从入门到实践>
========================
修改游戏主循环:
while True:
--snip--
# 仍然调用修改过的(重构过的)程序
gf.check_events(ai_settings, screen, ship, bullets)
ship.update()
gf.update_bullets(bullets)
gf.update_aliens(ai_settings, aliens)
gf.update_screen(ai_settings, screen, ship, aliens, bullets)
运行程序,外星人将在屏幕上来回移动,并在抵达屏幕边缘后向下,现在可以开始射击了!
(这里有两个练习题,一个是雨滴,一个是连绵细雨的代码,与这里外星人向下的方式类似)
调试有利于理解整个游戏代码。
接下来,射杀外星人,但子弹射中外星人时,将穿过外星人,因为还没检查碰撞(碰撞指游戏元素重叠在一起)
使用sprite.grouopcollide()函数检测两个编组的成员之间的碰撞。
在什么时候需要立即检测碰撞呢?应在更新子弹的位置之后立即检测
方法sprite.groupcollid()将每颗子弹的rect同外星人的rect比较,并返回一个字典(包含发生了碰撞的子弹和外星人)
数据结构是:每个键是一颗子弹,而相应的值都是被击中的外星人(即14章实现的记分系统使用字典一样)
在函数update_bullets()中,使用如下代码来检查碰撞:
collisions = pygame.sprite.groupcollide(bullets, aliens, True, True)
它会遍历编组bullets中的每颗子弹,再遍历编组aliens中的每个外星人,重叠就在返回的字典中添加一个键值对。
两个True告诉Pygame删除发生碰撞的子弹和外星人。
调试程序。。。。。消化程序。。。。
============================
<思想的力量:哲学导论[美]布鲁克-诺埃尔>
1. 哲学学位有什么用?
帮助进入一片更广阔的天地
最实际的事
赋予不同的观察视野
创作了两出戏剧
开阔了眼界!
2. 本书在不简单化哲学的前提下,力图使哲学变得平易近人些。
3. 哲学并非为每个人预备的,没有一本课本,一个老师能改变这样的情况。
不指望接触哲学的每个学生,甚至每个聪明、头脑清楚、见多识广、通情达理的人都会被它深深吸引。
4. 哲学充满着有力的思考,它实实在在影响着人们的生活,因此要用心对待哲学。
=========================
Blockchain:
还在选书阶段。。。
==========================
昨日阅读2 h
累计 279.5 h