예제 #1
0
파일: HUD.cpp 프로젝트: xchopin/KSpree
	void static afficherInfoZombie(sf::RenderWindow& window,Zombie zomb) {
	sf::View fixed = window.getView();
	sf::Texture texture;
	texture.loadFromFile("./assets/zombie_face.png");
	sf::Sprite sprite(texture);

	sf::RectangleShape boite(sf::Vector2f(60, 40));
	boite.setPosition(window.getSize().x - 60, window.getSize().y - 65);
	boite.setFillColor(sf::Color(0, 0, 0));
	window.draw(boite);

	sprite.setPosition(window.getSize().x - 45, window.getSize().y - 62);
	window.setView(fixed);
	window.draw(sprite);

	sf::Text texteVie;
	sf::Font font;
	if (!font.loadFromFile("./assets/arial.ttf")) { std::cout << "Erreur de chargement de la police arial.ttf" << std::endl; }
	texteVie.setFont(font);
	texteVie.setCharacterSize(12);
	texteVie.setColor(sf::Color::White);

	texteVie.setString(zomb.getNom());
	texteVie.setPosition(window.getSize().x - 48, window.getSize().y - 15);
	window.draw(texteVie);
	sf::RectangleShape vie(sf::Vector2f(zomb.getVie(), 3));
	vie.setPosition(window.getSize().x - 42, window.getSize().y - 25);
	vie.setFillColor(sf::Color(255, 255, 0));
	window.draw(vie);
}
예제 #2
0
		boost::shared_ptr<LibraryInterfaceElement> ValueElementList::front()
		{
			if (_elements.size() > 0)
			{
				boost::shared_ptr<LibraryInterfaceElement> vie(_elements.front());
				_elements.pop_front();
				return vie;
			}
			else
				return boost::shared_ptr<LibraryInterfaceElement>();
		}
예제 #3
0
float TEFMDataDescription::getExampleWeight(const TExample &example) const
{ 
  if (example.domain != domain)
    raiseError("example's domain doesn't match the data descriptor's");

  float weight=1.0;
  TVarList::const_iterator vi(domain->attributes->begin()), vie(domain->attributes->end());
  TExample::iterator ei(example.begin());
  for(; vi!=vie; ei++, vi++)
    if ((*ei).isDK() && ((*ei).varType == TValue::INTVAR))
      weight /= (*vi)->noOfValues();

  return weight;
}
예제 #4
0
float TEFMDataDescription::getExampleMatch(const TExample &ex1, const TExample &ex2)
{ 
  if ((ex1.domain != domain) && (ex2.domain != domain))
    raiseError("example's domain doesn't match the data descriptor's");

  float weight=1.0;
  TExample::iterator e1i(ex1.begin()), e2i(ex2.end());

  if (domainDistributions) {
    if (matchProbabilities.size() != domainDistributions->size())
      matchProbabilities = vector<float>(domainDistributions->size(), -1);

    vector<float>::iterator mi(matchProbabilities.begin());
    TDomainDistributions::const_iterator di(domainDistributions->begin()), de(domainDistributions->end());

    for(; di!=de; e1i++, e2i++, di++, mi++) {
      if ((*e1i).varType == TValue::INTVAR) {
        if ((*e1i).isDK()) {
          if ((*e2i).isDK()) {
            if (*mi == -1) {
              float mp = 0.0;
              ITERATE(TDiscDistribution, ddi, ((TDiscDistribution &)((*di).getReference())))
                mp += *ddi * *ddi;
              *mi = mp;
            }
            weight *= *mi;
          }
          else if (!(*e2i).isSpecial())
            weight *= (*di)->p(*e2i);
        }
        else if ((*e2i).isDK() && !(*e1i).isSpecial())
          weight *= (*di)->p(*e1i);
      }
    }
  }
  else {
    TVarList::const_iterator vi(domain->attributes->begin()), vie(domain->attributes->end());
    for(; vi!=vie; e1i++, e2i++, vi++)
      if (((*e1i).varType == TValue::INTVAR) && ((*e1i).isDK() && !(*e2i).isSpecial()   ||   (*e2i).isDK() && !(*e1i).isSpecial()))
        weight /= (*vi)->noOfValues();
  }

  return weight;
}
예제 #5
0
void TExampleForMissing::resetExample()
{ 
  checkProperty(dataDescription);

  DCs.clear();
  DKs.clear();

  float averageWeight=1;

  TVarList::const_iterator vi(domain->attributes->begin()), vie(domain->attributes->end());
  TExample::iterator ei(begin()), bei(ei);
  vector<float>::const_iterator ai(dataDescription->averages.begin()), aei(dataDescription->averages.end());
  for(; vi!=vie; ei++, vi++) {
    if ((*ei).isSpecial()) {
      if ((*vi)->varType==TValue::FLOATVAR)
        *ei=TValue(*ai);
      else if (dataDescription->missingWeight && (*ei).isDK()) {
        DKs.push_back(ei-bei);
        averageWeight/=float((*vi)->noOfValues());
      }
      else
        DCs.push_back(ei-bei);

      (*vi)->firstValue(*ei);
    }
    if (ai!=aei)
      ai++;
  }

  if (dataDescription->missingWeight) {
    float weight = dataDescription->originalWeight ? getMeta(dataDescription->originalWeight).floatV : 1;
    if (dataDescription->domainDistributions) {
      TDomainDistributions::const_iterator di(dataDescription->domainDistributions->begin());
      ITERATE(vector<int>, ci, DKs) {
        // DKs contain only discrete variables, so it is safe to cast
        const TDiscDistribution &dist = CAST_TO_DISCDISTRIBUTION(*(di+*ci));
        if (dist.abs)
          weight *= dist.front() / dist.abs;
      }
    }
예제 #6
0
void patientListView::viewPR(){
    int out = tableWidget->item(tableWidget->currentRow(), 5)->text().toInt();
    emit vie(out);
}
예제 #7
0
파일: HUD.cpp 프로젝트: xchopin/KSpree
	void static dessinerHUD(sf::RenderWindow& window, sf::Clock& temps, Joueur j,int manche) {
		
		// Boite
		sf::RectangleShape boite(sf::Vector2f(window.getSize().x -60, 70));
		boite.setPosition(0, window.getSize().y - 65);
		boite.setFillColor(sf::Color(0, 0, 0));
		window.draw(boite);

		// Texte
		sf::Text kill;
		sf::Text round;
		sf::Text munition;
		sf::Text texteVie;
		sf::Font font;
		if (!font.loadFromFile("./assets/arial.ttf")) { std::cout << "Erreur de chargement de la police arial.ttf" << std::endl; }

		kill.setFont(font);
		kill.setCharacterSize(12);
		kill.setColor(sf::Color::Red);
		kill.setStyle(sf::Text::Bold);
		kill.setString("KILLS: " + to_string(j.m_kill));
		kill.setPosition(window.getSize().x / 2 - 30, 1);
		window.draw(kill);

		// Manche 

		round.setFont(font);
		round.setCharacterSize(14);
		round.setColor(sf::Color::Red);
		round.setStyle(sf::Text::Bold);
		round.setString("MANCHE: " + to_string(manche));
		round.setPosition(window.getSize().x / 2 - 30, window.getSize().y - 60);
		window.draw(round);


		// Munition
		munition.setFont(font);
		munition.setCharacterSize(12);
		munition.setColor(sf::Color::White);
		munition.setStyle(sf::Text::Bold);
		munition.setString("P226: " + to_string(j.getMunition()) + " / UNL");
		munition.setPosition(50, window.getSize().y - 35);
		window.draw(munition);

		// La vie
		sf::RectangleShape vie(sf::Vector2f(j.getVie() * 1.5, 7));
		vie.setPosition(32, window.getSize().y - 50);
		vie.setFillColor(sf::Color(255, 0, 0));
		window.draw(vie);


		// image

		sf::Texture texture_joueur;
		texture_joueur.loadFromFile("./assets/player_face.png");
		sf::Sprite sprite_joueur(texture_joueur);
		sprite_joueur.setPosition(7, window.getSize().y - 65);
		
		window.draw(sprite_joueur);

	

		// Le temps
		sf::Text chrono;
		chrono.setFont(font);
		chrono.setCharacterSize(15);
		chrono.setColor(sf::Color::White);
		chrono.setStyle(sf::Text::Bold);
		int time = int(temps.getElapsedTime().asSeconds());
		int minutes = time / 60;
		int secondes = time;
		if (secondes >= 60) {
			int retirer = 60 * minutes;
			secondes = time - retirer;
		}


		chrono.setString(to_string(minutes) + " : " + to_string(secondes));
		chrono.setPosition(window.getSize().x / 2, window.getSize().y - 25);
		window.draw(chrono);


	}