当前位置: 首页 > news >正文

如何加速wordpress反应速度厦门关键词排名优化

如何加速wordpress反应速度,厦门关键词排名优化,百度怎么收录我的网站,网络公司 网站建设# 昨日知识点学习 创建外星人从一个到一行 # 主程序snipdef _create_fleet(self):创建外星人群# 创建一个外星人并计算一行可容纳多少个外星人# 外星人的间距为外星人的宽度alien Alien(self)alien_width alien.rect.widthavailable_sp…# 昨日知识点学习 创建外星人从一个到一行 # 主程序snipdef _create_fleet(self):创建外星人群# 创建一个外星人并计算一行可容纳多少个外星人# 外星人的间距为外星人的宽度alien Alien(self)alien_width alien.rect.widthavailable_space_x self.settings.screen_width - (2 * alien_width)number_aliens_x available_space_x // (2 * alien_width)# 创建第一行外星人for alien_number in range(number_aliens_x):# 创建一个外星人并将其加入当前行alien Alien(self)alien.x alien_width 2 * alien_width * alien_number# self没有定义rect属性# self.rect.x alien.xalien.rect.x alien.xself.aliens.add(alien) 运行结果一行外星人出现 # 今日知识点学习 13.3.3 重构_create_fleet() # 主程序片段# 创建第一行外星人for alien_number in range(number_aliens_x):self._create_alien(alien_number)def _create_alien(self, alien_number):创建一个外星人并将其加入当前行alien Alien(self)alien_width alien.rect.widthalien.x alien_width 2 * alien_width * alien_number alien.rect.x alien.xself.aliens.add(alien) 13.3.4 添加行 可用的垂直空间屏幕宽度-第一行外星人的上边距外星人高度、飞船的高度以及外星人最初与飞船之间的局里外星人高度的两倍 available_space_y settings.screen_height - ( 3 * alien_height) - ship_height 每行下方的空白区域设为外星人的高度 number_rows available_space_y // 2* alien_height import sys import pygame from Settings import Settings from Ship import Ship from alien import Alien from bullet import Bulletclass AlienInvasion:管理游戏资源和行为的类def __init__(self):初始化游戏并创建游戏资源pygame.init()self.settings Settings()# 非全屏运行self.screen pygame.display.set_mode((self.settings.screen_width, self.settings.screen_height))# 全屏运行# self.screen pygame.display.set_mode((0, 0), pygame.FULLSCREEN)# self.settings.screen_width self.screen.get_rect().width# self.settings.screen_height self.screen.get_rect().height# 设置当前窗口标题pygame.display.set_caption(Alien Invasion)self.ship Ship(self)# 创建子弹精灵组self.bullets pygame.sprite.Group()# 创建外星人精灵组self.aliens pygame.sprite.Group()self._create_fleet()def _create_fleet(self):创建外星人群alien Alien(self)alien_width, alien_height alien.rect.size# 创建一个外星人并计算一行可容纳多少个外星人# 外星人的间距为外星人的宽度available_space_x self.settings.screen_width - (2 * alien_width)number_aliens_x available_space_x // (2 * alien_width)# 计算屏幕可容纳多少行外星人ship_height self.ship.rect.heightavailable_space_y (self.settings.screen_height - (3 * alien_height) - ship_height)number_rows available_space_y // (2 * alien_height)# 创建外星人群for row_number in range(number_rows):for alien_number in range(number_aliens_x):self._create_alien(alien_number, row_number)def _create_alien(self, alien_number, row_number):创建一个外星人并将其加入当前行alien Alien(self)alien_width, alien_height alien.rect.sizealien.x alien_width 2 * alien_width * alien_numberalien.rect.x alien.xalien.rect.y alien.rect.height 2 * alien.rect.height * row_numberself.aliens.add(alien)def run_game(self):开始游戏的主循环while True:self._check_events()self.ship.update()self.bullets.update()self._update_bullets()# # 删除消失的子弹# for bullet in self.bullets.copy():# if bullet.rect.bottom 0:# self.bullets.remove(bullet)# print(len(self.bullets))self._update_screen()def _check_events(self):响应按键和鼠标事件for event in pygame.event.get():if event.type pygame.QUIT:sys.exit()elif event.type pygame.KEYDOWN:self._check_keydown_events(event)elif event.type pygame.KEYUP:self._check_keyup_events(event)def _check_keydown_events(self, event):响应按键if event.key pygame.K_RIGHT:self.ship.moving_right Trueelif event.key pygame.K_LEFT:self.ship.moving_left Trueelif event.key pygame.K_q:sys.exit()elif event.key pygame.K_SPACE:self._fire_bullet()def _check_keyup_events(self, event):响应松开if event.key pygame.K_RIGHT:self.ship.moving_right Falseelif event.key pygame.K_LEFT:self.ship.moving_left Falsedef _fire_bullet(self):创建一颗子弹并将其加入编组bullets中if len(self.bullets) self.settings.bullets_allowed:new_bullet Bullet(self)self.bullets.add(new_bullet)def _update_screen(self):更新屏幕上的图像并切换到新屏幕。self.screen.fill(self.settings.bg_color)self.ship.blitme()for bullet in self.bullets.sprites():bullet.draw_bullet()self.aliens.draw(self.screen)# 让最近绘制的屏幕可见pygame.display.flip()def _update_bullets(self):更新子弹的位置并消除消失的子弹# 更新子弹的位置self.bullets.update()# 删除消失的子弹for bullet in self.bullets.copy():if bullet.rect.bottom 0:self.bullets.remove(bullet)if __name__ __main__:# 创建游戏实例并运行游戏ai AlienInvasion()ai.run_game() 13.4 让外星人移动 13.4.1 向右移动外星人群 # Settings.py class Settings():存储《外星人入侵》的所有设置的类def __init__(self):初始化游戏的设置# 屏幕设置self.screen_width int(1200)self.screen_height int(800)self.bg_color (230, 230, 230)# 飞船设置self.ship_speed 1.5# 子弹设置self.bullet_speed 1.0self.bullet_width 3self.bullet_height 15self.bullet_color (60, 60, 60)self.bullets_allowed 3# 外星人设置self.alien_speed 1.0 # alien.py import pygame from pygame.sprite import Spriteclass Alien(Sprite):表示单个外星人的类def __init__(self, ai_game):初始化未设置其起始位置super().__init__()self.screen ai_game.screenself.settings ai_game.settings# 加载外星人图像并设置其rect属性self.image pygame.image.load(images/alien.bmp)self.rect self.image.get_rect()# 每个外星人最初都在屏幕左上角附近self.rect.x self.rect.widthself.rect.y self.rect.height# 存储外星人的准确位置self.x float(self.rect.x)def update(self) :向右移动外星人self.x self.settings.alien_speedself.rect.x self.x # 主程序snipdef run_game(self):开始游戏的主循环while True:self._check_events()self.ship.update()self.bullets.update()self._update_bullets()self._update_aliens()self._update_screen()def _update_aliens(self):更新外星人群中所有外星人的位置self.aliens.update() 运行结果外星人向右移动 13.4.2 创建表示外星人移动方向的设置  # Settings.pysnip # 外星人设置self.alien_speed 1.0self.fleet_drop_speed 10# fleet_direction为1表示向右移为-1表示向左移self.fleet_direction 1 13.4.3 检查外星人是否撞到了屏幕边缘 # alien.pysnipdef check_edges(self):如果外星人处于屏幕边缘就返回Truescreen_rect self.screen.get_rect()if self.rect.right screen_rect.right or self.rect.left 0:return Truedef update(self) :向右移动外星人self.x (self.settings.alien_speed * self.settings.fleet_direction)self.rect.x self.x 13.4.4 向下移动外星人群并改变移动方向 # 主程序snip def _update_aliens(self):检查是否有外星人位于屏幕边缘并更新外星人的位置self._check_fleet_edges()self.aliens.update()def _check_fleet_edges(self):有外星人到达边缘时采取相应的措施for alien in self.aliens.sprites():if alien.check_edges():self._change_fleet_direction()breakdef _change_fleet_direction(self):将整群外星人下移并改变它们的方向for alien in self.aliens.sprites():alien.rect.y self.settings.fleet_drop_speedself.settings.fleet_direction * -1 运行结果外星人在屏幕上左右到达屏幕边缘后向下来回移动 13.5 射杀外星人 碰撞游戏元素重叠在一起 使用sprite.groupcollide()检测两个编组成员之间的碰撞 13.5.1 检测子弹与外星人的碰撞 # 主程序 snipdef _update_bullets(self):更新子弹的位置并消除消失的子弹# 更新子弹的位置self.bullets.update()# 删除消失的子弹for bullet in self.bullets.copy():if bullet.rect.bottom 0:self.bullets.remove(bullet)# 检查是否有子弹击中了外星人# 如果是就删除相应的子弹和外星人collisions pygame.sprite.groupcollide(self.bullets, self.aliens, True, True) 13.5.2 为测试创建大子弹 # Settings.pysnip # 子弹设置self.bullet_speed 1.0self.bullet_width 300self.bullet_height 15self.bullet_color (60, 60, 60)self.bullets_allowed 3 13.5.3 生成新的外星人群 # 主程序snipdef _update_bullets(self):更新子弹的位置并消除消失的子弹# 更新子弹的位置self.bullets.update()# 删除消失的子弹for bullet in self.bullets.copy():if bullet.rect.bottom 0:self.bullets.remove(bullet)if not self.aliens:# 删除现有的子弹并新建一群外星人self.bullets.empty()self._create_fleet() 13.5.4 提高子弹的速度 # Settings.pysnip # 子弹设置self.bullet_speed 1.5self.bullet_width 3self.bullet_height 15self.bullet_color (60, 60, 60)self.bullets_allowed 3# 外星人设置self.alien_speed 1.0self.fleet_drop_speed 10# fleet_direction为1表示向右移为-1表示向左移self.fleet_direction 1 13.5.5 重构_update_bullets()         # 主程序snipdef _update_bullets(self):更新子弹的位置并消除消失的子弹# 更新子弹的位置self.bullets.update()# 删除消失的子弹for bullet in self.bullets.copy():if bullet.rect.bottom 0:self.bullets.remove(bullet)self._check_bullet_alien_collisions()def _check_bullet_alien_collisions(self):相应子弹和外星人碰撞# 删除发生碰撞的子弹和外星人collisions pygame.sprite.groupcollide(self.bullets, self.aliens, True, True)if not self.aliens:# 删除现有的子弹并新建一群外星人self.bullets.empty()self._create_fleet()13.6 结束游戏 结束条件①时间范围内未能完全消灭外星人 ②外星人撞到飞船或者抵达屏幕底端 ③限制玩家可使用的飞船数飞船数量用完、 13.6.1 检测外星人与飞船碰撞         # 主程序def _update_aliens(self):检查是否有外星人位于屏幕边缘并更新外星人的位置self._check_fleet_edges()self.aliens.update()# 检测外星人与飞船之间的碰撞if pygame.sprite.spritecollideany(self.ship, self.aliens):print(Ship hit!!!) 13.6.2 响应外星人与飞船碰撞 # game_stats.py class GameStats:跟踪游戏的统计信息def __init__(self, ai_game):初始化统计信息self.settings ai_game.settingsself.reset_stats()def reset_stats(self):初始化在游戏运行期间可能变化的统计信息self.ships_left self.settings.ship_limit # Settings.pysnip # 飞船设置self.ship_speed 1.5self.ship_limit 3 # ship.py ----snip----def center_ship(self):让飞船在屏幕底端居中self.rect.midbottom self.screen_rect.midbottomself.x float(self.rect.x) # 主程序 import sys from time import sleepimport pygamefrom Settings import Settings from game_stats import GameStats from Ship import Ship from alien import Alien from bullet import Bulletclass AlienInvasion:管理游戏资源和行为的类def __init__(self):初始化游戏并创建游戏资源pygame.init()self.settings Settings()# 非全屏运行self.screen pygame.display.set_mode((self.settings.screen_width, self.settings.screen_height))# 全屏运行# self.screen pygame.display.set_mode((0, 0), pygame.FULLSCREEN)# self.settings.screen_width self.screen.get_rect().width# self.settings.screen_height self.screen.get_rect().height# 设置当前窗口标题pygame.display.set_caption(Alien Invasion)# 创建一个用于存储游戏统计信息的实例self.stats GameStats(self)self.ship Ship(self)# 创建子弹精灵组self.bullets pygame.sprite.Group()# 创建外星人精灵组self.aliens pygame.sprite.Group()self._create_fleet()def _create_fleet(self):创建外星人群alien Alien(self)alien_width, alien_height alien.rect.size# 创建一个外星人并计算一行可容纳多少个外星人# 外星人的间距为外星人的宽度available_space_x self.settings.screen_width - (2 * alien_width)number_aliens_x available_space_x // (2 * alien_width)# 计算屏幕可容纳多少行外星人ship_height self.ship.rect.heightavailable_space_y (self.settings.screen_height - (3 * alien_height) - ship_height)number_rows available_space_y // (2 * alien_height)# 创建外星人群for row_number in range(number_rows):for alien_number in range(number_aliens_x):self._create_alien(alien_number, row_number)def _create_alien(self, alien_number, row_number):创建一个外星人并将其加入当前行alien Alien(self)alien_width, alien_height alien.rect.sizealien.x alien_width 2 * alien_width * alien_numberalien.rect.x alien.xalien.rect.y alien.rect.height 2 * alien.rect.height * row_numberself.aliens.add(alien)def _update_aliens(self):检查是否有外星人位于屏幕边缘并更新外星人的位置self._check_fleet_edges()self.aliens.update()# 检测外星人与飞船之间的碰撞if pygame.sprite.spritecollideany(self.ship, self.aliens):self._ship_hit()def _check_fleet_edges(self):有外星人到达边缘时采取相应的措施for alien in self.aliens.sprites():if alien.check_edges():self._change_fleet_direction()breakdef _change_fleet_direction(self):将整群外星人下移并改变它们的方向for alien in self.aliens.sprites():alien.rect.y self.settings.fleet_drop_speedself.settings.fleet_direction * -1def _check_events(self):响应按键和鼠标事件for event in pygame.event.get():if event.type pygame.QUIT:sys.exit()elif event.type pygame.KEYDOWN:self._check_keydown_events(event)elif event.type pygame.KEYUP:self._check_keyup_events(event)def _check_keydown_events(self, event):响应按键if event.key pygame.K_RIGHT:self.ship.moving_right Trueelif event.key pygame.K_LEFT:self.ship.moving_left Trueelif event.key pygame.K_q:sys.exit()elif event.key pygame.K_SPACE:self._fire_bullet()def _check_keyup_events(self, event):响应松开if event.key pygame.K_RIGHT:self.ship.moving_right Falseelif event.key pygame.K_LEFT:self.ship.moving_left Falsedef _fire_bullet(self):创建一颗子弹并将其加入编组bullets中if len(self.bullets) self.settings.bullets_allowed:new_bullet Bullet(self)self.bullets.add(new_bullet)def _update_screen(self):更新屏幕上的图像并切换到新屏幕。self.screen.fill(self.settings.bg_color)self.ship.blitme()for bullet in self.bullets.sprites():bullet.draw_bullet()self.aliens.draw(self.screen)# 让最近绘制的屏幕可见pygame.display.flip()def _update_bullets(self):更新子弹的位置并消除消失的子弹# 更新子弹的位置self.bullets.update()# 删除消失的子弹for bullet in self.bullets.copy():if bullet.rect.bottom 0:self.bullets.remove(bullet)self._check_bullet_alien_collisions()def _check_bullet_alien_collisions(self):相应子弹和外星人碰撞# 删除发生碰撞的子弹和外星人collisions pygame.sprite.groupcollide(self.bullets, self.aliens, True, True)if not self.aliens:# 删除现有的子弹并新建一群外星人self.bullets.empty()self._create_fleet()def _ship_hit(self):相应飞船被外星人撞到# 将Ship_left减1self.stats.ships_left - 1# 清空余下的外星人和子弹self.aliens.empty()self.bullets.empty()# 创建一批新的外星人并将飞船放到屏幕底部的中央self._create_fleet()self.ship.center_ship()# 暂停sleep(0.5)def run_game(self):开始游戏的主循环while True:self._check_events()self.ship.update()self.bullets.update()self._update_bullets()self._update_aliens()self._update_screen()if __name__ __main__:# 创建游戏实例并运行游戏ai AlienInvasion()ai.run_game()13.6.3 有外星人到达屏幕底端 # 主程序def _update_aliens(self):检查是否有外星人位于屏幕边缘并更新外星人的位置self._check_fleet_edges()self.aliens.update()# 检测外星人与飞船之间的碰撞if pygame.sprite.spritecollideany(self.ship, self.aliens):self._ship_hit()# 检查是否有外星人到达了屏幕底部self._check_aliens_bottom()def _check_aliens_bottom(self):检查是否有外星人到达屏幕底端screen_rect self.screen.get_rect()for alien in self.aliens.sprites():if alien.rect.bottom screen_rect.bottom:# 想飞船被撞到一样处理self._ship_hit()break 13.6.4 游戏结束 # 主程序 ----snip----def _ship_hit(self):响应飞船被外星人撞到if self.stats.ships_left 0:# 将Ship_left减1self.stats.ships_left - 1# 清空余下的外星人和子弹self.aliens.empty()self.bullets.empty()# 创建一批新的外星人并将飞船放到屏幕底部的中央self._create_fleet()self.ship.center_ship()# 暂停sleep(0.5)else:self.stats.game_active False# game_stats.pyclass GameStats:跟踪游戏的统计信息def __init__(self, ai_game):初始化统计信息self.settings ai_game.settingsself.reset_stats()# 游戏在刚启动时处于活动状态self.game_active Truedef reset_stats(self):初始化在游戏运行期间可能变化的统计信息self.ships_left self.settings.ship_limit 13.7 确定应运行游戏的哪些部分 # 主程序 ---snip---def run_game(self):开始游戏的主循环while True:self._check_events()if self.stats.game_active:self.ship.update()self.bullets.update()self._update_bullets()self._update_aliens()self._update_screen()---snip---
http://www.w-s-a.com/news/911427/

相关文章:

  • 怎么查一个网站是什么程序做的三亚城乡建设局网站
  • 深圳分销网站设计公司做网站一般需要多久
  • 企业网站设计代码丹东seo排名公司
  • 企业网站建设定制开发服务网站建设说课ppt
  • 大连市城乡建设局网站网站免费网站入口
  • 做暧网站网站备案ps
  • 知名网站建设公司电话长子网站建设
  • 网站建设的意义与目的建立什么船籍港
  • 广州注册公司营业执照网站建设代码优化
  • 百度网站官网马克互联网主题 wordpress
  • 网站制作 客户刁难深圳自助建站
  • 怎么去推广一个网站广东餐饮品牌设计
  • 网站代码加密了怎么做兰州最新大事
  • 现在ui做的比较好的网站去年做啥网站致富
  • 广东网站建设咨询电话好牌子网
  • 公司怎样制作网站南阳网站关键词
  • 营销型网站建设与网盟完整php网站开发
  • 网站做微信链接怎么做的石桥铺网站建设公司
  • 济南mip网站建设公司做图书馆网站模板
  • app 门户网站网站项目框架
  • 做网站视频网站备案 新闻审批号
  • 织梦网站怎么居中视频网站开发与制作
  • 网站上海备案佛山网站seo哪家好
  • 品牌形象网站有哪些珠海市区工商年报在哪个网站做
  • 注册域名不建设网站seo外包服务方案
  • 如何进行外贸网站建设wordpress文章输入密码可见
  • 政务网站建设索引常州做网站信息
  • 南宁做网站找哪家好wordpress 更改首页
  • 一个人在家做网站建设品牌策划流程
  • 小网站广告投放wordpress页面添加js