QTfrontend/statsPage.cpp
branchexperimental3D
changeset 4343 19cbea33e4d2
parent 4217 721bfa5f4f31
child 4560 5d6c7f88db73
equal deleted inserted replaced
4006:45b63c2a694f 4343:19cbea33e4d2
   175                 team.Rounds++;
   175                 team.Rounds++;
   176                 if(infol[1].toInt() > 0) // might require some better test for winning condition (or changed flag) ... WIP!
   176                 if(infol[1].toInt() > 0) // might require some better test for winning condition (or changed flag) ... WIP!
   177                     team.Wins++; // should draws count as wins?
   177                     team.Wins++; // should draws count as wins?
   178                 //team.SaveToFile(); // don't save yet
   178                 //team.SaveToFile(); // don't save yet
   179             }
   179             }
   180 	    break;
   180             break;
   181         }
   181             }
   182 	
   182 
   183         case 'P' : {
   183         case 'P' : {
   184             int i = info.indexOf(' ');
   184             int i = info.indexOf(' ');
   185 	    playerPosition++;
   185             playerPosition++;
   186 	    QString color = info.left(i);
   186             QString color = info.left(i);
   187 	    quint32 c = color.toInt();
   187             quint32 c = color.toInt();
   188 	    QColor clanColor = QColor(qRgb((c >> 16) & 255, (c >> 8) & 255, c & 255));
   188             QColor clanColor = QColor(qRgb((c >> 16) & 255, (c >> 8) & 255, c & 255));
   189 
   189 
   190 	    QString playerinfo = info.mid(i + 1);
   190             QString playerinfo = info.mid(i + 1);
   191 	    
   191 
   192 	    i = playerinfo.indexOf(' ');
   192             i = playerinfo.indexOf(' ');
   193 
   193 
   194 	    QString kills = playerinfo.left(i);
   194             int kills = playerinfo.left(i).toInt();
   195 	    QString playername = playerinfo.mid(i + 1);
   195             QString playername = playerinfo.mid(i + 1);
   196 	    QString image;
   196             QString image;
   197 
   197 
   198             if (lastColor == c && playerPosition <= 2) playerPosition = 1;
   198             if (lastColor == c) playerPosition--;
   199 	    lastColor = c;
   199             lastColor = c;
   200 
   200 
   201 	    switch (playerPosition)
   201             switch (playerPosition)
   202 	    {
   202             {
   203 	    	case 1:
   203                 case 1:
   204 			image = "<img src=\":/res/StatsMedal1.png\">";
   204                 image = "<img src=\":/res/StatsMedal1.png\">";
   205 			break;
   205                 break;
   206 		case 2:
   206             case 2:
   207 			image = "<img src=\":/res/StatsMedal2.png\">";
   207                 image = "<img src=\":/res/StatsMedal2.png\">";
   208 			break;
   208                 break;
   209 		case 3:
   209             case 3:
   210 			image = "<img src=\":/res/StatsMedal3.png\">";
   210                 image = "<img src=\":/res/StatsMedal3.png\">";
   211 			break;
   211                 break;
   212 		default:
   212             default:
   213 			image = "<img src=\":/res/StatsMedal4.png\">";
   213                 image = "<img src=\":/res/StatsMedal4.png\">";
   214 			break;
   214                 break;
   215 	    }
   215             }
   216 
   216 
   217             QString message;
   217             QString message;
   218 	    QString killstring;
   218             QString killstring = PageGameStats::tr("(%1 kill)", "", kills).arg(kills);
   219 	    if (kills.toInt() == 1)
   219 
   220 	    {
   220             message = QString("<p><h2>%1 %2. <font color=\"%4\">%3</font> ").arg(image, QString::number(playerPosition), playername, clanColor.name()) + killstring + "</h2></p>";
   221 	    	killstring = PageGameStats::tr("(%1 kill)").arg(kills);
   221 
   222 	    } else {
   222             labelGameRank->setText(labelGameRank->text() + message);
   223 	    	killstring = PageGameStats::tr("(%1 kills)").arg(kills);
   223                 break;
   224             }
   224         }
   225 	    
       
   226 	    message = QString("<p><h2>%1 %2. <font color=\"%4\">%3</font> ").arg(image, QString::number(playerPosition), playername, clanColor.name()) + killstring + "</h2></p>";
       
   227             
       
   228 	    labelGameRank->setText(labelGameRank->text() + message);
       
   229             break;
       
   230 	}
       
   231         case 's' : {
   225         case 's' : {
   232             int i = info.indexOf(' ');
   226             int i = info.indexOf(' ');
   233             QString message = "<p><img src=\":/res/StatsMostSelfDamage.png\"> " + PageGameStats::tr("<b>%1</b> thought it's good to shoot his own hedgehogs with <b>%2</b> pts.").arg(info.mid(i + 1), info.left(i)) + "</p>";
   227             int num = info.left(i).toInt();
       
   228             QString message = "<p><img src=\":/res/StatsMostSelfDamage.png\"> " + PageGameStats::tr("<b>%1</b> thought it's good to shoot his own hedgehogs with <b>%2</b> pts.", "", num).arg(info.mid(i + 1)).arg(num) + "</p>";
   234             AddStatText(message);
   229             AddStatText(message);
   235             break;
   230             break;
   236         }
   231         }
   237         case 'S' : {
   232         case 'S' : {
   238             int i = info.indexOf(' ');
   233             int i = info.indexOf(' ');
   239             QString message = "<p><img src=\":/res/StatsSelfKilled.png\"> " + PageGameStats::tr("<b>%1</b> killed <b>%2</b> of his own hedgehogs.").arg(info.mid(i + 1), info.left(i)) + "</p>"; 
   234             int num = info.left(i).toInt();
       
   235             QString message = "<p><img src=\":/res/StatsSelfKilled.png\"> " + PageGameStats::tr("<b>%1</b> killed <b>%2</b> of his own hedgehogs.", "", num).arg(info.mid(i + 1)).arg(num) + "</p>";
   240             AddStatText(message);
   236             AddStatText(message);
   241             break;
   237             break;
   242         }
   238         }
   243         case 'B' : {
   239         case 'B' : {
   244             int i = info.indexOf(' ');
   240             int i = info.indexOf(' ');
   245             QString message = "<p><img src=\":/res/StatsSkipped.png\"> " + PageGameStats::tr("<b>%1</b> was scared and skipped turn <b>%2</b> times.").arg(info.mid(i + 1), info.left(i)) + "</p>";
   241             int num = info.left(i).toInt();
       
   242             QString message = "<p><img src=\":/res/StatsSkipped.png\"> " + PageGameStats::tr("<b>%1</b> was scared and skipped turn <b>%2</b> times.", "", num).arg(info.mid(i + 1)).arg(num) + "</p>";
   246             AddStatText(message);
   243             AddStatText(message);
   247             break;
   244             break;
   248         }
   245         }
   249 
   246 
   250     }
   247     }