<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 游戲得分 為了記錄游戲得分,我們在代碼主循環外面定義`score = 0`變量,當子彈擊中敵艦后,我們將得分加一。 ``` bullet_collide_dic = pygame.sprite.groupcollide(bullet_sprites, enemy_sprites, True, True) for bullet in bullet_collide_dic: score += 1 print(bullet, bullet_collide_dic[bullet], score) ``` 為了將得分顯示在屏幕上,我們新增了一個渲染文字的方法: ``` pygame.font.init() def show_text(word, color, position, font_size): sys_font = pygame.font.SysFont('Comic Sans MS', font_size) score_surface = sys_font.render(word, False, color) screen.blit(score_surface, position) ``` 在游戲窗口渲染完成后,我們將得分渲染到屏幕的右上角: ``` # 7. 渲染游戲背景 screen.fill(BLACK) show_text('score:' + str(score), WHITE, (WIDTH - 100, 0), 30) ``` 此時游戲效果如下: ![](https://adatech-1256165843.cos.ap-chengdu.myqcloud.com/20181023075400.png) ## 飛機生命數 一般的飛機大戰我方的飛機都有一個生命值,當生命值等于0時才結束游戲。我們來完成這個效果。 首先,我們在plane里定義個life變量`self.life = 3`。 我們把敵艦撞擊飛機的方法移動到plane中: ``` # 撞擊 def strike(self, enemy_group): collide_planes = pygame.sprite.spritecollide(self, enemy_group, True) if len(collide_planes) > 0: self.life -= 1 print('life', self.life) # 是否存活 def is_survive(self): return self.life > 0 ``` 在main.py中修改撞擊方法 ``` # 敵艦撞擊飛機 plane.strike(enemy_sprites) if not plane.is_survive(): running = False ``` 此時,游戲效果如下: ![](https://adatech-1256165843.cos.ap-chengdu.myqcloud.com/20181023075445.png) ## 敵艦生命值 敵艦的生命值要比plane的麻煩一些,因為敵艦的生命值要畫的敵艦的身上。首先,我們在init方法中增加font屬性:`self.sys_font = pygame.font.SysFont(‘Comic Sans MS’, 20)`。 此外,我們需要改動敵艦的init 和update方法。看代碼: ``` def update(self): self.rect.y += self.speed score_surface = self.sys_font.render('life:' + str(self.life), False, RED) self.image.blit(score_surface, (10, 0)) ``` 同理,我們修改Main.py的增加得分邏輯: ``` # 子彈擊毀敵艦 for enemy in enemy_sprites: enemy.strike(bullet_sprites) if not enemy.is_survive(): score += 1 print(enemy, score) ``` 此時,游戲效果如下: ![](https://adatech-1256165843.cos.ap-chengdu.myqcloud.com/20181023075456.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看