国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python外星人入侵游戲編程完整版

2020-02-23 04:34:35
字體:
來源:轉載
供稿:網友

PYTHON游戲編程外星人入侵的完整實現(xiàn)思路,具體內容如下

準備工作:下載python,比如Anaconda3(64 bit),導入pygame游戲包

1.外星人設置,alien.py,代碼:

import pygamefrom pygame.sprite import Spriteclass Alien(Sprite): """表示單個外星人的類"""  def __init__(self,ai_settings,screen):  """初始化外星人并設置其他位置"""  super(Alien,self).__init__()  self.screen = screen  self.ai_settings = ai_settings    #加載外星人圖像,并設置其rect屬性  self.image = pygame.image.load('images/alien.bmp')  self.rect = self.image.get_rect()    #每個外星人最初都在屏幕左上角附近  self.rect.x = self.rect.width  self.rect.y = self.rect.height    #存儲外星人的準確位置  self.x = float(self.rect.x)     def blitme(self):  """在指定位置繪制外星人"""  self.screen.blit(self.image,self.rect)     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

2.游戲主程序,alien_invasion.py,代碼:

import pygamefrom settings import Settingsfrom game_stats import GameStatsfrom button import Buttonfrom ship import Shipfrom pygame.sprite import Groupimport game_functions as gffrom scoreboard import Scoreboarddef run_game():  pygame.init()    # 初始化背景設置  ai_settings = Settings()    # 全局設置  screen = pygame.display.set_mode(      # 創(chuàng)建screen顯示窗口    (ai_settings.screen_width,ai_settings.screen_height)  )  pygame.display.set_caption('Alien Invasion')  # 標題  #新建Play按鈕  play_button = Button(ai_settings,screen,"Play")  #創(chuàng)建一個用于存儲游戲統(tǒng)計信息的實例,并創(chuàng)建記分牌  stats = GameStats(ai_settings)  sb = Scoreboard(ai_settings, screen, stats)  # 創(chuàng)建飛船  ship = Ship(ai_settings,screen)  # 創(chuàng)建子彈編組  bullets = Group()    #創(chuàng)建一個外星人  aliens = Group()  #創(chuàng)建外星人群  gf.create_fleet(ai_settings,screen,ship,aliens)    # 開始游戲主循環(huán)  while True:    # 監(jiān)視鍵盤和鼠標事件    gf.check_events(ai_settings,screen,stats,sb,play_button,ship,aliens,bullets)        if stats.game_active:      # 移動飛船      gf.update_ship(ship)      # 更新子彈位置      gf.update_bullets(ai_settings,screen,stats,sb,ship,aliens,bullets)      #更新外星人      gf.update_aliens(ai_settings,stats,screen,sb,ship,aliens,bullets)    # 更新屏幕    gf.update_screen(ai_settings,screen,stats,sb,ship,aliens,bullets,play_button)run_game()            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 青铜峡市| 合山市| 讷河市| 抚远县| 西青区| 方城县| 安远县| 子长县| 含山县| 达州市| 酉阳| 白玉县| 麟游县| 温宿县| 潞西市| 四川省| 志丹县| 石台县| 太保市| 临武县| 合水县| 许昌市| 方山县| 黑水县| 呼伦贝尔市| 龙山县| 永福县| 奎屯市| 阳城县| 杨浦区| 尉犁县| 五家渠市| 酒泉市| 花垣县| 安吉县| 观塘区| 富川| 龙陵县| 沅江市| 北流市| 会东县|