当前位置: 首页>>代码示例>>C++>>正文


C++ Vec::real方法代码示例

本文整理汇总了C++中Vec::real方法的典型用法代码示例。如果您正苦于以下问题:C++ Vec::real方法的具体用法?C++ Vec::real怎么用?C++ Vec::real使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Vec的用法示例。


在下文中一共展示了Vec::real方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: zistiTah

// main() zavola tuto funkciu, ked chce vediet, aky prikaz chceme vykonat,
// co tato funkcia rozhodne pomocou toho, ako nastavi prikaz;
void zistiTah() {
  Hrac ja = stav.hraci[0];
  Vec mojavec = vecovat(ja.obj.pozicia);
  Vec konRych(0, 0);
  // Bonusy

  DoStuff(konRych, square, ZLATO,    3000000, mojavec);
  DoStuff(konRych, [](double d)->double{return d*d*5000.0;}, BOSS, -12000000, mojavec);
  DoStuff(konRych, square, ASTEROID,-6000000, mojavec);
  DoStuff(konRych, square, PLANETA, -6000000, mojavec);
  Vec temp;
  //DoStuff(temp, [](double d){return d;}, STRELA,  -4000000, mojavec);
  //temp *= Vec(0, 1);    //otocit o 90 deg
  konRych += temp;

  //hraci
  for(auto p : stav.hraci)
  {
      if(p.obj.id == ja.obj.id) continue;
      Vec diff = (vecovat(p.obj.pozicia) - mojavec);
      konRych += (norm2(diff) * (-6000000 / square(abs(diff) + 1)));
  }

  double vx= konRych.real();
  double vy= konRych.imag();
  double kmagiaodstien=800000;
  vx=max(min(vx,kmagiaodstien*(max(0.0,mapa.w-8*LOD_POLOMER-mojavec.real()))-15),-kmagiaodstien*(max(0.0,mojavec.real()-8*LOD_POLOMER))+15);
  vy=max(min(vy,kmagiaodstien*(max(0.0,mapa.h-8*LOD_POLOMER-mojavec.imag()))-15),-kmagiaodstien*(max(0.0,mojavec.imag()-8*LOD_POLOMER))+15);
  konRych=Vec(vx,vy);

  //double force = INF;
  //vy += (mapa.h / 2 < mojavec.imag()) ? force / cube(mojavec.imag()+1) : -force / cube(mojavec.imag() - mapa.h / 2 + 1) ;
  //vx += (mapa.w / 2 < mojavec.real()) ? force / cube(mojavec.real()+1) : -force / cube(mojavec.real() - mapa.w / 2 + 1);

  //konRych=Vec(vx,vy);

  //konRych += Vec(1, 0) * (6000000 / square(abs(mojavec.real()) + 1));
  //konRych += Vec(-1, 0) * (6000000 / square(abs(mapa.w - mojavec.real()) + 1));
  //konRych += Vec(0, 1) * (6000000 / square(abs(mojavec.imag()) + 1));
  //konRych += Vec(0, -1) * (6000000 / square(abs(mapa.h - mojavec.imag()) + 1));

  konRych-=vecovat(ja.obj.rychlost);
  double v=abs(konRych);
  v=max(v,-200.0);
  v=min(v,200.0);
  konRych=norm2(konRych)*v;
  prikaz.acc = odvecovat(konRych);

  //STRIELAJ
    //strielaj na strelu co ide na teba

}
开发者ID:trojsten,项目名称:proboj-2015-jesen,代码行数:54,代码来源:main.cpp

示例2: odvecovat

Bod odvecovat(Vec vec) {
    return Bod(vec.real(), vec.imag());
}
开发者ID:trojsten,项目名称:proboj-2015-jesen,代码行数:3,代码来源:main.cpp


注:本文中的Vec::real方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。