Exemplo n.º 1
0
 bool isPalindrome(string s) {
     // Start typing your C/C++ solution below
     // DO NOT write int main() function
     effectString(s);
     
     if (s.length()==0) return true;
     
     int head = 0;
     int tail = s.length()-1;
     
     while (head<=tail) {
         if (!equalChar(s[head],s[tail])) return false;
         else {
             head++;
             tail--;
         }
     }
     return true;
 }
/**
 * @brief wygenerujOpis		Generuje opis dla danego przedmiotu.
 * @param rzecz
 * @param gracz		Gracz, który miałby dany przedmiot nosić (do stwierdzenia czy może)
 * @param miejsce	QTextBrowser którego tekst ma być podmieniony na wygenerowany opis.
 */
void generateDescription(const Item *item, const Player *player, QTextBrowser *target)
{
	target->clear();

	QString equipped = isEquipped(item, player) ? "Tak" : "Nie";
	QString permitted = isPermitted(item, player) ? "Tak" : "Nie";
	QString minLevel = item->isStrong() ? QString::number(Player::MaxLevel) : "1";
	QString numberOfArtifacts = QString::number(player->equipment()->usedArtifacts().size());
	QString permittedClasses;
	for (int i = 0; i < PlayerRaceCount; ++i)
		if (isAllowedForClass(item, (PlayerClass)i))
			permittedClasses += PlayerClassString[i] + ". ";
	if (permittedClasses.size() > 2)
		permittedClasses.replace(permittedClasses.size() - 2, 2, "");

	//TODO color title acording to item quality
	target->setFontWeight(QFont::Bold);
	target->insertPlainText(item->name() + QString("\n\n"));
	target->setFontWeight(QFont::Normal);

	QString description;

	description += QString("typ: ") + RODZAJE_PRZEDMIOTOW[item->type()] + QString("\n");
	if (item->type() == artefakt)
		description += QString::fromUtf8("Założonych artefaktów: (") + numberOfArtifacts + QString("/") + QString::number(Item::ArtifactLimit) + QString(")\n");

	description += QString::fromUtf8("\ndozwolony od poziomu: ") + minLevel +  QString("\n");
	description += QString::fromUtf8("klasy zdolne używać przedmiotu: ") + permittedClasses +  QString("\n");
	description += QString::fromUtf8("czy dozwolony: ") + permitted +  QString("\n");
	description += QString::fromUtf8("czy założony: ") + equipped +  QString("\n\n");

	description += effectString(item->bonusMelee(), QString::fromUtf8("walka wręcz") );
	description += effectString(item->bonusRanged(), QString::fromUtf8("walka bronią dystansową") );
	description += effectString(item->bonusMagical(),  QString::fromUtf8("walka magiczna") );
	description += effectString(item->bonusDefence(), QString::fromUtf8("defence") );
	description += effectString(item->bonusPerception(), QString::fromUtf8("perception"));
	description += effectString(item->bonusHitPoints(), QString::fromUtf8("zdrowie"));
	description += effectString(item->bonusRegeneration(), QString::fromUtf8("regeneracja"));

	description += QString::fromUtf8("\nwartość kupna:  ") + QString::number(item->value());
	description += QString::fromUtf8("\nwartość sprzedaży:  ") + QString::number(item->value() / 2) + QString("\n");

	target->insertPlainText(description);
}