API - Aleman5/AAA_Highscore GitHub Wiki

AAA_Highscore functions

#include"AAA_HighScore.h"

// Constructor

AAA_Highscore::AAA_Highscore()
{
  ar = maxToMin;
  AAA_Highscore::clearScores();
}

// Constructor with parameter

AAA_Highscore::AAA_Highscore(Arrangement arr)
{
  ar = arr;
  AAA_Highscore::clearScores();
}

// Destructor

AAA_Highscore::~AAA_Highscore()
{
  for (int i = 0; i < tam; i++)
  {
      scores[i].name = "";
      scores[i].score = 0;
  }
}

// Addscore

bool AAA_Highscore::addScore(string name, int score)
{
  if (name != "") 
  {
      switch (ar)
      {
      case maxToMin:
  	    for (int i = 0; i < tam; i++)
  	    {
  		    if (score >= scores[i].score)
  		    {
  			    Score temp = scores[i];
  			    Score temp2;
  			    scores[i].name = name;
  			    scores[i].score = score;
  			    if (i < tam - 1)
  			    {
  			    	    if (i < tam - 2)
  				 	    temp2 = scores[i + 1];
  				    scores[i + 1] = temp;
  			    }
  			    i += 2;
  			    while (i < tam - 1)
  			    {
  				    scores[i] = temp2;
  				    if (i < tam - 2)
  					    scores[i + 1] = temp;
  				    i++;
  			    }
  			    return true;
  		    }
  	    }
  	    break;
      case minToMax:
  	    for (int i = 0; i < tam; i++)
  	    {
  		    if (score <= scores[i].score)
  		    {
  			    Score temp = scores[i];
  			    Score temp2;
  			    scores[i].name = name;
  			    scores[i].score = score;
  			    if (i < tam - 1)
  			    {
  				    if (i < tam - 2)
  				  	    temp2 = scores[i + 1];
  				    scores[i + 1] = temp;
  			    }
  			    i += 2;
  			    while (i < tam - 1)
  			    {
  				    scores[i] = temp2;
  				    if (i < tam - 2)
  					    scores[i + 1] = temp;
  				    i++;
  			    }
  			    return true;
  		    }
  	    }
     }
  }
  return false;
}

// ClearScores

void AAA_Highscore::clearScores()
{
  switch (ar)
  {
  case maxToMin:
      for (int i = 0; i < tam; i++)
      {
  	    scores[i].name = " ";
  	    scores[i].score = 0;
      }
      break;
  case minToMax:
      for (int i = 0; i < tam; i++)
      {
  	    scores[i].name = " ";
  	    scores[i].score = 99999999;
      }
      break;
  }
}

// ShowData

bool AAA_Highscore::showData(int pos, string& name, int& score)
{
  if (pos >= 0 && pos < 10) {
      name = scores[pos].name;
      score = scores[pos].score;
      return true;
  }
  return false;
}

// GetLenght

int AAA_Highscore::getLenght()
{
  return tam;
}

Home