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

天津百度seo厦门seo网站管理

天津百度seo,厦门seo网站管理,建设网证书查询平台免费,如何撤销网站上信息系列文章目录 星际争霸之小霸王之小蜜蜂#xff08;十#xff09;--鼠道 星际争霸之小霸王之小蜜蜂#xff08;九#xff09;--狂鼠之灾 星际争霸之小霸王之小蜜蜂#xff08;八#xff09;--蓝皮鼠和大脸猫 星际争霸之小霸王之小蜜蜂#xff08;七#xff09;--消失…系列文章目录 星际争霸之小霸王之小蜜蜂十--鼠道 星际争霸之小霸王之小蜜蜂九--狂鼠之灾 星际争霸之小霸王之小蜜蜂八--蓝皮鼠和大脸猫 星际争霸之小霸王之小蜜蜂七--消失的子弹 星际争霸之小霸王之小蜜蜂六--让子弹飞 星际争霸之小霸王之小蜜蜂五--为小蜜蜂降速 星际争霸之小霸王之小蜜蜂四--事件监听-让小蜜蜂动起来 目录 系列文章目录 文章目录 前言 一、基本思路 二、消灭老鼠 三、补充老鼠 四、重构 总结 前言 昨天我们已经创建了一大群老鼠今天我们将一只只消灭他们这让我想起了除四害。 一、基本思路 玩过游戏的都知道游戏里有个名词叫碰撞体积当我们玩躲避类游戏时希望自己操控的角色碰撞体积越小越好这样不容易被击中而玩射击类游戏时希望子弹的碰撞体积越大越好这样更容易击中目标肉眼区别就是大和小比如DOTA里面的屠夫碰撞体积就大隐刺碰撞体积就小。 回到今天我们要实现的内容让子弹消灭老鼠那么我们就需要知道子弹的碰撞体积和小老鼠的碰撞体积当他们接触时双方都自爆消失。我们可以以子弹为中心每次调整子弹位置前判断是否碰到老鼠也可以以老鼠为中心判断是否遇到子弹。书上是以子弹为中心写的那么我也按照子弹中心写。 二、消灭老鼠 首先我们写一个函数判断子弹的rect和小老鼠的rect有没有交集并创建一个字典将消失的子弹和小老鼠存进去为后期统计做准备。 按照上面的思路我们修改game_functions模块里面update_bullets函数在改变子弹前增加代码 def update_bullets(bullets,aliens):collisions pygame.sprite.groupcollide(bullets,aliens,True,True)bullets.update()for bullet in bullets.copy():if bullet.rect.bottom 0:bullets.remove(bullet) 我们发现代码比我们想象的要容易本来以为会写一个嵌套循环再加上判断语句结果书上是直接调用pygame里面的函数不要太方便。 pygame.sprite.groupcollide()函数用于查找在两个组之间发生碰撞的所有精灵。它接受四个参数group1、group2、dokill1和dokill2。其中group1和group2是要检查的精灵组dokill1和dokill2是布尔值用于指定是否在碰撞后删除精灵。如果dokill1和dokill2都为True则在碰撞后删除精灵如果其中一个为True则在碰撞后保留精灵 。 我们来看看这个好用的函数的效果。 三、补充老鼠 这个游戏本质还是一个逻辑比较简单的游戏如果单纯的消灭屏幕上的老鼠游戏有点过于简单如何在增加游戏复杂性和代码难度的基础上增加游戏性书上给出的策略是增加更多的老鼠当老鼠被全部消灭后再产生一批老鼠最后是以消灭的老鼠数量记分。 要实现上述功能我们也只需要增加一个判断当aliens为空时我们就调用create_fleet函数生成一批新的老鼠我们在子弹和老鼠碰撞消失后增加判断代码 def update_bullets(new_setting,screen,bullets,aliens):collisions pygame.sprite.groupcollide(bullets,aliens,True,True)if len(aliens)0:bullets.empty()create_fleet(new_setting,screen,aliens)bullets.update()for bullet in bullets.copy():if bullet.rect.bottom 0:bullets.remove(bullet) 我们可以看出我们再创建新老鼠前将多余的子弹清空了避免产生一些视觉上的错误为了测试我们代码的运行效果我将老鼠的数量减少子弹的数量和速度增加了。 self.bullet_speed_factor 0.5self.bullet_width 2self.bullet_hight 5self.bullet_color 60,60,60self.bullets_allowed 20self.alien_speed_factor 0.2self.fleet_drop_speed 20self.fleet_direction 1 我们来测试一下效果 四、重构 又到了重构时间专业的就是专业我是永远不会想到把代码重构的能实现就行了还改来改去。 书上是重构update_bullets(),将子弹和外星人碰撞的代码移出去放在新建的函数check_bullet_alien_collisions()中ps:名字真长 def update_bullets(new_setting,screen,bullets,aliens):check_bullet_alien_collisions(new_setting,screen,bullets,aliens)bullets.update()for bullet in bullets.copy():if bullet.rect.bottom 0:bullets.remove(bullet)def check_bullet_alien_collisions(new_setting,screen,bullets,aliens):collisions pygame.sprite.groupcollide(bullets, aliens, True, True)if len(aliens) 0:bullets.empty()create_fleet(new_setting, screen, aliens) 总结 截至目前感觉终于完成了主要部分加油
http://www.w-s-a.com/news/789949/

相关文章:

  • 商务网站建设找哪家本地推广找哪些网站
  • 手机h5网站企业网站管理系统的运维服务
  • 南京建设网站公司网站游戏怎么制作
  • 成都建站程序苏州市建设局招标网站首页
  • 自助建网站市场公司起名大全2020最新版的
  • dede网站模板北京 网站开发 大兴
  • 网站优化师招聘建设牌安全带官方网站
  • 南京网站建设网站做视频网站用什么格式
  • 普陀做网站价格wordpress接入qq互联
  • 网站2级页面怎么做杭州哪家做外贸网站
  • 做了静态网站怎么显示在互联网上营销策划与运营方案
  • 常见的英文网站国内军事新闻大事件
  • 傻瓜式做网站程序微信怎么开公众号
  • c2c电商网站wordpress仿36kr主题
  • 网站建设公司开发免费图纸网站
  • 一个网站页面设计多少钱做预算查价格的网站是哪个
  • 鳌江哪里有做网站百度短链接在线生成
  • 有没有什么做水利资料的网站杭州建设信用平台
  • 电子商务网站建设及推广方案论文wordpress无法显示文章
  • 建设工程监理网站前端和后端分别需要学什么
  • 公司网站制作效果国内最好的在线网站建设
  • 徐州好点的做网站的公司有哪些wordpress 工具插件下载
  • 如何用云服务器建设网站微网站免费开发平台
  • 官网的网站设计公司做网站需要准备哪些东西
  • 程序员和做网站那个好找工作wordpress二维码 插件
  • 湖南城市建设技术学院官方网站青海省建设局网站
  • 响应式网站有什么区别百度网站官网
  • 金华企业自助建站系统长沙建站公司模板
  • 云主机 做网站友情链接网站
  • 定制型网站设计天津网站模板建站