楼主: 充实每一天
9493 108

20181009【充实计划】第854期   [推广有奖]

101
pdwno1 发表于 2018-10-9 23:04:36
吋间1小时,累计阅读时间124.5小时
已有 1 人评分论坛币 收起 理由
充实每一天 + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

102
HappyAndy_Lo 发表于 2018-10-9 23:12:54
昨日阅读2.5 h,累计 245 h
<Python编程:从入门到实践>
=====================
重构 check_events()
主要担心代码太长,冗余和复杂。
将KEYDOWN事件和KEYUP事件分开

    def check_keydown_events(event, ship):

        """响应按键"""
        if event.key == pygame.K_RIGHT:

            ship.moving_right = True

        elif event.key == pygame.K_LEFT:

            ship.moving_left = True

    def check_keyup_events(event, ship):

        """响应松开"""
        if event.key == pygame.K_RIGHT:

            ship.moving_right = False

        elif event.key == pygame.K_LEFT:

            ship.moving_left = False

    def check_events(ship):

        """响应按键和鼠标事件"""
        for event in pygame.event.get():

            if event.type == pygame.QUIT:

                sys.exit()

            elif event.type == pygame.KEYDOWN:

                check_keydown_events(event, ship)

            elif event.type == pygame.KEYUP:

                check_keyup_events(event, ship)

从上面的代码中,可以看到,代码的结构和条理非常清晰,是按什么键,就做什么响应。
简单回顾一下:

    alien_invasion.py   主文件,创建一系列的游戏对象:

        ai_settings中存放设置
        screen中,主显示surface,以及一个飞船实例
        加一个主循环:调用check_events()、ship.update()、update_screen()

        只需要运行此文件中的run_game()即可加载游戏
        包括支持文件:settings.py、game_functions.py、ship.py

    settings.py  

        包含settings类,此类中包含方法__init__(),初始化控制游戏外观和飞船速度的属性

    game_functions.py

        一系列函数,游戏的大部分工作都是由它们完成的(检测相关事件,如按键和松开,辅助按键处理函数,重绘屏幕等)

    ship.py

        包含Ship类,有__init__()、管理飞船位置的方法update(),屏幕上绘制飞船的方法blitme()
        飞船的图像存储在文件夹images下的ship.bmp文件中

添加射击功能:

    先需要编写玩家按空格键时发射子弹(小矩形)的代码,子弹将在屏幕中向上穿行,抵达屏幕上边沿后消失。
    子弹的设置,根据安排,写入settings.py(__init__()方法的末尾)
    self.bullet_speed_factor = 1
    self.bullet_width = 3
    self.bullet_height = 15
    self.bullet_color = (60, 60, 60)
    即设置创建宽3pixels, 高15pixels的深灰色子弹(子弹的速度要比飞船的稍微低)

=====================
blockchain:

    175. Futarchy:两步民主与投票+预测市场
    首先个体对特定结果进行投票(如增加GDP),第二步对实现这些结果的提案进行投票
    (前者常规,后者预测市场),预测市场投票可以使用不同的数字货币,也可以其他有经济意义的数字货币。
    最初提出这个想法的经济学家是罗宾-汉森(Robin Hanson),后来被以太坊项目创始人Vitalik Buterin在区块链环境下进行阐述。

    176. 对于商定共识并在区块链交易至少有两种模型,且在未来可能有更多。
    第一种共识机制模型是挖矿操作:在软件辅助下,矿工审查、确认和注册交易。
    第二种是预测市场(若有足够的独立无关联人群投票认为该事件会在预测市场里为真,此事件就可以被认为是真的)

    177. 区块链治理对于社会成熟度的影响:它迫使个人和社会的治理能力、权威性、独立性和参与度进入一个更成熟的阶段,参与将概念化且能被执行。
    尽管我们还不习惯去中心化的政治权利和自治方式。

    178. 区块链所促进的大规模协作,对于科学、健康、教育、出版等领域将会出现哪些创新,且区块链的局限性以及中心化和去中心化始终出现的矛盾是什么?

======================
昨日阅读 2.5 h
累计 245 h

已有 1 人评分论坛币 收起 理由
充实每一天 + 50 精彩帖子

总评分: 论坛币 + 50   查看全部评分

103
守候烟雨 发表于 2018-10-9 23:19:32
昨日阅读0.5小时,累计阅读303小时
已有 1 人评分论坛币 收起 理由
充实每一天 + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

104
szephemera 发表于 2018-10-10 00:03:24 来自手机
昨日阅读1小时,累计阅读149小时
已有 1 人评分论坛币 收起 理由
充实每一天 + 10 精彩帖子

总评分: 论坛币 + 10   查看全部评分

105
wangyong8935 在职认证  发表于 2018-10-10 06:22:04 来自手机
昨日 阅读时间2小时,累计阅读时间552小时

106
jclpym 发表于 2018-10-10 14:08:31 来自手机
充实每一天 发表于 2018-10-9 06:50
【加入充实计划】【了解充实计划】
|新充实挑战|   |公告【想成为牛人】|
|【公告】照片图片额外奖励|
昨天阅读2小时,累计阅读2小时

107
jclpym 发表于 2018-10-10 14:08:31 来自手机
充实每一天 发表于 2018-10-9 06:50
【加入充实计划】【了解充实计划】
|新充实挑战|   |公告【想成为牛人】|
|【公告】照片图片额外奖励|
昨天阅读2小时,累计阅读2小时

108
jclpym 发表于 2018-10-10 14:08:31 来自手机
充实每一天 发表于 2018-10-9 06:50
【加入充实计划】【了解充实计划】
|新充实挑战|   |公告【想成为牛人】|
|【公告】照片图片额外奖励|
昨天阅读2小时,累计阅读2小时

109
充实每一天 发表于 2018-10-10 14:22:16
jclpym 发表于 2018-10-10 14:08
昨天阅读2小时,累计阅读2小时
https://bbs.pinggu.org/forum.php? ... =view&ctid=2638
请每日在最新帖子回复参与活动

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群
GMT+8, 2026-2-6 19:24