昨日阅读2 h,累计 277.5 h
<Python编程:从入门到实践>
=====================
创建表示外星人移动方向的设置:
settings.py
# fleet_direction为1 表示向右,-1表示向左移
self.fleet_direction = 1
self.fleet_drop_speed = 10
# 指定了有外星人撞到屏幕边缘情况下,外星人群向下移动的速度,将这个速度与水平速度分开的好处是:可以将fleet_direction设置为文本值也可以
鉴于只有两个可能的方向,且左移需要修改(减少)外星人的x坐标,右移需要加x坐标,所以,数字1和-1更合理
下面需要编写一个方法来检查是否有外星人撞到了屏幕边缘,还需要修改update(),以让每个外星人都沿着正确的方向移动:
alien.py
def check_edges(self):
"""如果外星人位于屏幕边缘,就返回True"""
screen_rect = self.screen.get_rect()
if self.rect.right >= screen_rect.right:
return True
elif self.rect.left <= 0:
return True
def update(self):
"""左移或右移外星人"""
self.x += (self.ai_settings.alien_speed_factor * self.ai_settings.fleet_direction)
self.rect.x =self.x
向下移动外星人群并改变移动方向,需要对game_functions.py做重大修改。
因为不仅要检查是否有外星人到达了左边缘或右边边缘,还要对update_aliens()进行修改。
明天继续研究这段代码,并调试通过。。。。。
====================
Blockchain:
265. 公钥私钥加密学101:当钱包被初始化或者第一次安装后,一个地址、公钥和私钥都会被自动创建。Bitcoin是基于公钥加密的,这就意味着你可以把公钥展示出来但是一定要把私钥保存在自己手上。
(公/私钥对:当前标准即椭圆曲线数字签名算法,简称ECDS产生)
266. Bitcoin地址不是简单的公钥,相反,公钥会被更多的改造以便更容易使用。它通过传统加密协议(如SHA256和RIPEMD-160)进行循环,一种哈希加密的操作(把一个字符串转化成一个与之对应的,更短的、固定长度的值或者密钥)以及管理员的操作(移除看起来相似的字符,如小写的L和大写的I,数字0和字母O等,在尾部加上校验和在地址开头加上识别数字,对大多数bitcoin地址都是1,表明这是一个公开的比特币网络地址)
267. 一个比特币钱包可以包含很多地址(一种安全的策略就是每笔交易都用新的地址或者都生成一个新的地址,和一把或者多把存储在钱包文件里的私钥)
私钥和这个钱包生成的所有比特币地址都是数学上相关的。
268. 比特币的私钥,通常是一个256位的数字(也有512位,或者128位的),可以用一种或者多种方法表达出来。
64个16进制数字字符。
269. 想通过某种倒推测算的方法从公钥中推导出私钥是不可能的(通过Hash算法的操作或者其他技术是不可能的,因为其单向加密),或者说代价过高难以承受(海量的算力和很长的时间)
270. 接收比特币只要有一个地址就行,而发送比特币则需要用到公钥和私钥的配对。
271. New York的风险投资机构莱德拉资本一直在尝试通过头脑风暴枚举区块链技术的广泛应用场景。(包括金融工具、公开记录、私有记录、半公开记录、实物资产私钥、无形资产、其他潜在应用等)
The End 《区块链:新经济蓝图及导读》
非常开心完成了厚厚的一本书,收获满满!再选一本书,后面继续加油!
=====================
昨日阅读2 h
累计 277.5 h