Source Code (Use browser search to find items of interest.)

Class Index

ksame'StoneFieldState (./kdegames/ksame/StoneField.h:37)

class StoneFieldState {
private:
     StoneField &stonefield;
     unsigned char *field;
   
     int colors;        
     unsigned int board;
     unsigned int score;
     int gameover;

public:
     StoneFieldState(StoneField &stonefield);
     ~StoneFieldState();
     void restore();
};



ksame'StoneFieldState::StoneFieldState() (./kdegames/ksame/StoneField.cpp:23)

StoneFieldState::StoneFieldState(StoneField &stonefield):stonefield(stonefield) {
     field=new unsigned char[stonefield.maxstone];
     for (int i=0;i<stonefield.maxstone;i++)
	  field[i]=stonefield.field[i].color;

     colors=stonefield.colors;
     board=stonefield.board;
     score=stonefield.score;
     gameover=stonefield.gameover;
}


ksame'StoneFieldState::~StoneFieldState() (./kdegames/ksame/StoneField.cpp:34)

StoneFieldState::~StoneFieldState() {
     delete[] field;
}

void

ksame'StoneFieldState::restore() (./kdegames/ksame/StoneField.cpp:39)

StoneFieldState::restore() {
     for (int i=0;i<stonefield.maxstone;i++) {
	  stonefield.field[i].color=field[i];
	  stonefield.field[i].changed=true;
	  stonefield.field[i].marked=false;
     }
     
     stonefield.colors=colors;
     stonefield.board=board;
     stonefield.score=score;
     stonefield.marked=0;
     stonefield.gameover=gameover;
}