- do not use std:: everywhere, it justs makes the code harder to read

- history.h: use forward declarations to reduce dependencies
 - history.cpp: fixed a compilation warning
This commit is contained in:
Olivier Teulière 2005-12-27 16:54:38 +00:00
parent 9aeeafa61b
commit 3ecf740432
3 changed files with 28 additions and 20 deletions

View file

@ -39,7 +39,7 @@
History::History()
{
Turn* t = new Turn ();
Turn* t = new Turn();
m_history.clear();
m_history.push_back(t);
}
@ -143,7 +143,7 @@ void History::removeLastTurn()
delete t;
}
// now we have the previous played round in back()
// Now we have the previous played round in back()
Turn* t = m_history.back();
t->setNum(0);
t->setPlayer(0);
@ -154,19 +154,19 @@ void History::removeLastTurn()
}
std::string History::toString() const
string History::toString() const
{
unsigned int i;
std::string rs = "";
string rs = "";
#ifdef DEBUG
char buff[20];
sprintf(buff,"%d",m_history.size());
rs = "history size = " + std::string(buff) + "\n\n";
sprintf(buff, "%ld", m_history.size());
rs = "history size = " + string(buff) + "\n\n";
#endif
for (i = 0; i < m_history.size(); i++)
{
Turn *t = m_history[i];
rs += t->toString() + std::string("\n");
rs += t->toString() + "\n";
}
return rs;
}

View file

@ -27,10 +27,16 @@
#ifndef _HISTORY_H
#define _HISTORY_H
#include <string>
#include <vector>
#include "pldrack.h"
#include "round.h"
#include "turn.h"
using std::string;
using std::vector;
class Round;
class Turn;
class PlayedRack;
/**
* History stores all the turns that have been played
@ -39,23 +45,23 @@
* - one for each of the players
*
* A History is never void (getSize() can be used as the is the current turn
* number for the complete game history).
* number for the complete game history).
*
* History starts at zero.
*
* The top of the history is an empty
* Turn until it has been filled and game is up to a new round.
*
* getCurrentRack() can/should be used to store the current played rack.
*
* getCurrentRack() can/should be used to store the current played rack.
* setCurrentRack must be called whenever the current played rack is
* modified.
*
*
* History owns the turns that it stores. Do not delete a turn referenced by History
*/
class History
{
public:
public:
History();
virtual ~History();
@ -82,10 +88,10 @@ class History
void removeLastTurn();
/// String handling
std::string toString() const;
string toString() const;
private:
std::vector < Turn* > m_history;
private:
vector<Turn*> m_history;
};
#endif

View file

@ -36,6 +36,8 @@
#include "duplicate.h"
#include "freegame.h"
#include "player.h"
#include "history.h"
#include "turn.h"
using namespace std;
@ -272,7 +274,7 @@ void CursesIntf::drawHistory(WINDOW *win, int y, int x)
i < m_boxStart + m_boxLines; i++)
{
const Turn& t = m_game->getHistory().getTurn(i);
const Round& r = t.getRound();
const Round& r = t.getRound();
string word = r.getWord();
string coord = r.getCoord().toString();
boxPrint(win, i + 2, x + 2,
@ -280,7 +282,7 @@ void CursesIntf::drawHistory(WINDOW *win, int y, int x)
i + 1, t.getPlayedRack().toString().c_str(), word.c_str(),
string(15 - word.size(), ' ').c_str(),
coord.c_str(), r.getPoints(),
t.getPlayer(), r.getBonus() ? '*' : ' ');
t.getPlayer(), r.getBonus() ? '*' : ' ');
}
mvwvline(win, y + 1, x + 5, ACS_VLINE, min(i + 2 - m_boxStart, m_boxLines));
mvwvline(win, y + 1, x + 16, ACS_VLINE, min(i + 2 - m_boxStart, m_boxLines));