昨日阅读2.5 h,累计 237.5 h
<Python编程:从入门到实践>
=====================
进一步简化run_game()
将更新屏幕的代码,也迁移到game_functions.py中去
def update_screen(ai_settings, screen, ship):
screen.fill(ai_settings.bg_color)
ship.blitme()
# 让最近绘制的屏幕可见
pygame.display.flip()
由此,在alien_invasion.py文件中,开始游戏主循环的代码就变得非常简单了:
gf.check_events()
gf.update_screen(ai_settings, screen, ship)
貌似模块化,搭积木的含义就慢慢显现出来。
也就是说:是在game_functions.py中而非run_game()中完成大部分工作。
温馨提醒自己:在python中,千万记住indentation的重要性,不能用空格blank替代,必须用tab。上次折腾调试的代码,就因此而花了不少功夫,真是浪费时间。
编写驾驶飞船的代码:
让player能左右移动飞船,即对左右箭头按键做出响应(先实现向右移动)
1)每当用户按键时,都将在pygame中注册一个事件,然后通过pygame.event.get()获取
因此,在check_events()函数中,需要指定是检查哪类的事件。
在pygame检测到KEYDOWN事件时,在elif代码块做出响应:读取event.key,以检查按下的是否是右箭头键pygame.K_RIGHT,若是,将ship.rect.centerx值加1,从而将飞船向右移动。
2)在alien_invasion.py中,我们需要更新调用的check_events(),将ship作为实参传递给它。
现在,这个可能效率比较低,后续,准备改进这个,应该允许持续不断移动
===================
Blockchain:
160. 通过哈希,原始文件的内容基本可以编码进入区块链。则区块链能够成为一个文件登记表。
关键点:将加密的哈希作为一种资产的验证和认证的形式来使用,这对于是否能成为标志性的里程碑是非常重要的。
161. 以哈希加时间戳为基础的区块链证明,这个概念能够使得区块链成为一种全新的信息技术。
区块链鉴证通常包括文件归档、存储和注册等各类相关公证(验证)服务和知识产权保护服务。
最早、最久的提供区块链鉴证服务的是Proof of Existence。鉴证的内容,包括遗嘱、契约、授权书、医嘱、本票、本票满意度等等,但不透露该文件的内容。
162. 哈希加时间戳的验证服务也会有一定的局限性:1)有些第三方服务免费提供这样的验证服务,而使用区块链还需要支付一笔小的交易费(补偿矿工)来将数字资产写入到区块链当中做验证。2)区块链交易确认并非实时的(将文档添加进区块链的时间会被记录,但不是文档提交的时候)。3)数字资产建立时间的精确与否对类似知识产权注册服务是至关重要的。最大的问题在于:时间戳并不证明所有权。
163. 哈希值的长度目前典型的是64bits。哈希值的长度才是是否安全需要关注的地方,且它还可以在将来扩展到更多的位数。其最大的威胁其实是---逆向哈希(逆向运算试图算出当时哈希计算的内容)和碰撞(让两个不同的文件生成同样的哈希值)
不过,这些发生的可能性对于目前在区块链中所使用的哈希计算方式影响都非常有限。
================
昨日阅读2.5 h
累计 237.5 h