Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

FCSMove Class Reference

Stores information about a move during a game.

#include <FCSMove.h>

Inheritance diagram for FCSMove:

FCSCompactMove FCSDebugMove List of all members.

Public Member Functions

virtual void Copy (FCSMove *Move)=0
 Copy a move object.
virtual unsigned char GetSourceStack ()=0
 Get the source stack used in the move.
virtual unsigned char GetSourceFreecell ()=0
 Get the source freecell used in the move.
virtual unsigned char GetDestStack ()=0
 Get the destination stack used in the move.
virtual unsigned char GetDestFreecell ()=0
 Get the destination freecell used in the move.
virtual unsigned char GetFoundation ()=0
 Get the foundation used in the move.
virtual FCSMoveTypes GetType ()=0
 Get the type of the move.
virtual unsigned char GetNumberOfCardsInSequence ()=0
 Get the number of cards in a sequence that moved (from stack to stack).
virtual unsigned char GetNumberOfCardsFlipped ()=0
 Get the number of cards that were flipped during the move.
virtual void SetSourceStack (unsigned char StackNumber)=0
 Set the source stack used in the move.
virtual void SetSourceFreecell (unsigned char FreecellNumber)=0
 Set the source freecell used in the move.
virtual void SetDestStack (unsigned char StackNumber)=0
 Set the destination stack used in the move.
virtual void SetDestFreecell (unsigned char FreecellNumber)=0
 Set the destination freecell used in the move.
virtual void SetFoundation (unsigned char FoundationNumber)=0
 Set the foundation used in the move.
virtual void SetType (FCSMoveTypes MoveType)=0
 Set the type of the move.
virtual void SetNumberOfCardsInSequence (unsigned char NumberOfCardsInSequence)=0
 Set the number of cards in a sequence that moved (from stack to stack).
virtual void SetNumberOfCardsFlipped (unsigned char NumberOfCardsFlipped)=0
 Set the number of cards that were flipped during the move.
void MoveAsString (char *String)
 Express the move as string explaining what happened during the move.
void MoveAsStringStandardNotation (char *String)
 Express the move as standard notation string explaining what happened during the move.

Static Public Member Functions

static FCSMoveCreate ()
 Create a move object.
static FCSMoveCreateArray (int Size)
 Create an array of move objects.

Detailed Description

Definition at line 26 of file FCSMove.h.


Member Function Documentation

virtual void FCSMove::Copy FCSMove Move  )  [pure virtual]
 

Parameters:
Move is the move object to be copied

Implemented in FCSCompactMove, and FCSDebugMove.

FCSMove * FCSMove::Create  )  [static]
 

Returns:
A pointer to the newly created move object

Definition at line 21 of file FCSMove.cpp.

References GlobalStateType.

Referenced by FCSFreecellSolvingAlgorithm::EmptyStackIntoFreecells(), FCSTalonSolvingAlgorithm::GetCardFromKlondikeTalon(), FCSFreecellSolvingAlgorithm::MoveCardsToADifferentParent(), FCSFreecellSolvingAlgorithm::MoveFreecellCardsToEmptyStack(), FCSFreecellSolvingAlgorithm::MoveFreecellCardsToFounds(), FCSFreecellSolvingAlgorithm::MoveFreecellCardsToTopOfStacks(), FCSFreecellSolvingAlgorithm::MoveNonTopStackCardsToFounds(), FCSFreecellSolvingAlgorithm::MoveSequencesToFreeStacks(), FCSSimpleSimonSolvingAlgorithm::MoveSequenceToFalseParent(), FCSSimpleSimonSolvingAlgorithm::MoveSequenceToFounds(), FCSSimpleSimonSolvingAlgorithm::MoveSequenceToParentOnTheSameStack(), FCSSimpleSimonSolvingAlgorithm::MoveSequenceToTrueParent(), FCSSimpleSimonSolvingAlgorithm::MoveSequenceToTrueParentWithSomeCardsAbove(), FCSSimpleSimonSolvingAlgorithm::MoveSequenceWithJunkSequenceAboveToTrueParentWithSomeCardsAbove(), FCSSimpleSimonSolvingAlgorithm::MoveSequenceWithSomeCardsAboveToTrueParent(), FCSFreecellSolvingAlgorithm::MoveStackCardsToAParentOnTheSameStack(), FCSFreecellSolvingAlgorithm::MoveStackCardsToDifferentStacks(), FCSFreecellSolvingAlgorithm::MoveTopStackCardsToFounds(), FCSSimpleSimonSolvingAlgorithm::MoveWholeStackSequenceToFalseParent(), FCSSimpleSimonSolvingAlgorithm::MoveWholeStackSequenceToFalseParentWithSomeCardsAbove(), FCSMoveStack::Normalize(), FCSFreecellData::ShowSolution(), and FCSMoveStack::SwallowStack().

FCSMove * FCSMove::CreateArray int  Size  )  [static]
 

Returns:
A pointer to the start of the array of move objects

Definition at line 38 of file FCSMove.cpp.

References GlobalStateType.

virtual unsigned char FCSMove::GetDestFreecell  )  [pure virtual]
 

Returns:
Return destination freecell of move

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by ApplyMove(), FCSDebugMove::Copy(), MoveAsString(), MoveAsStringStandardNotation(), and FCSMoveStack::Normalize().

virtual unsigned char FCSMove::GetDestStack  )  [pure virtual]
 

Returns:
Return destination stack of move

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by ApplyMove(), FCSDebugMove::Copy(), MoveAsString(), MoveAsStringStandardNotation(), and FCSMoveStack::Normalize().

virtual unsigned char FCSMove::GetFoundation  )  [pure virtual]
 

Returns:
Return foundation of move

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by ApplyMove(), FCSDebugMove::Copy(), and FCSMoveStack::Normalize().

virtual unsigned char FCSMove::GetNumberOfCardsFlipped  )  [pure virtual]
 

Returns:
Return number of cards flipped

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by FCSDebugMove::Copy(), MoveAsString(), and FCSMoveStack::Normalize().

virtual unsigned char FCSMove::GetNumberOfCardsInSequence  )  [pure virtual]
 

Returns:
Return the number of cards in a sequence that moved

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by ApplyMove(), FCSDebugMove::Copy(), MoveAsString(), and FCSMoveStack::Normalize().

virtual unsigned char FCSMove::GetSourceFreecell  )  [pure virtual]
 

Returns:
Return source freecell of move

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by ApplyMove(), FCSDebugMove::Copy(), MoveAsString(), MoveAsStringStandardNotation(), and FCSMoveStack::Normalize().

virtual unsigned char FCSMove::GetSourceStack  )  [pure virtual]
 

Returns:
Return source stack of move

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by ApplyMove(), FCSDebugMove::Copy(), MoveAsString(), MoveAsStringStandardNotation(), and FCSMoveStack::Normalize().

virtual FCSMoveTypes FCSMove::GetType  )  [pure virtual]
 

Returns:
Return the type of move

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by ApplyMove(), FCSDebugMove::Copy(), MoveAsString(), MoveAsStringStandardNotation(), and FCSMoveStack::Normalize().

void FCSMove::MoveAsString char *  String  ) 
 

Parameters:
String is a pointer to the string

Definition at line 55 of file FCSMove.cpp.

References GetDestFreecell(), GetDestStack(), GetNumberOfCardsFlipped(), GetNumberOfCardsInSequence(), GetSourceFreecell(), GetSourceStack(), and GetType().

Referenced by FCSFreecellData::ShowSolution().

void FCSMove::MoveAsStringStandardNotation char *  String  ) 
 

Parameters:
String is a pointer to the string

Definition at line 114 of file FCSMove.cpp.

References GetDestFreecell(), GetDestStack(), GetSourceFreecell(), GetSourceStack(), and GetType().

Referenced by FCSFreecellData::ShowSolution().

virtual void FCSMove::SetDestFreecell unsigned char  FreecellNumber  )  [pure virtual]
 

Parameters:
FreecellNumber is the number (position) of the freecell

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by FCSFreecellSolvingAlgorithm::EmptyStackIntoFreecells(), FCSFreecellSolvingAlgorithm::MoveCardsToADifferentParent(), FCSFreecellSolvingAlgorithm::MoveFreecellCardsToTopOfStacks(), FCSFreecellSolvingAlgorithm::MoveNonTopStackCardsToFounds(), FCSFreecellSolvingAlgorithm::MoveSequencesToFreeStacks(), FCSFreecellSolvingAlgorithm::MoveStackCardsToAParentOnTheSameStack(), and FCSFreecellSolvingAlgorithm::MoveStackCardsToDifferentStacks().

virtual void FCSMove::SetDestStack unsigned char  StackNumber  )  [pure virtual]
 

Parameters:
StackNumber is the number of the destination stack

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by FCSTalonSolvingAlgorithm::GetCardFromKlondikeTalon(), FCSFreecellSolvingAlgorithm::MoveCardsToADifferentParent(), FCSFreecellSolvingAlgorithm::MoveFreecellCardsToEmptyStack(), FCSFreecellSolvingAlgorithm::MoveFreecellCardsToTopOfStacks(), FCSFreecellSolvingAlgorithm::MoveNonTopStackCardsToFounds(), FCSFreecellSolvingAlgorithm::MoveSequencesToFreeStacks(), FCSFreecellSolvingAlgorithm::MoveStackCardsToAParentOnTheSameStack(), and FCSFreecellSolvingAlgorithm::MoveStackCardsToDifferentStacks().

virtual void FCSMove::SetFoundation unsigned char  FoundationNumber  )  [pure virtual]
 

Parameters:
FoundationNumber is the number (position) of the foundation

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by FCSTalonSolvingAlgorithm::GetCardFromKlondikeTalon(), FCSFreecellSolvingAlgorithm::MoveFreecellCardsToFounds(), FCSFreecellSolvingAlgorithm::MoveNonTopStackCardsToFounds(), FCSSimpleSimonSolvingAlgorithm::MoveSequenceToFounds(), and FCSFreecellSolvingAlgorithm::MoveTopStackCardsToFounds().

virtual void FCSMove::SetNumberOfCardsFlipped unsigned char  NumberOfCardsFlipped  )  [pure virtual]
 

Parameters:
NumberOfCardsFlipped is the number of cards flipped in the move

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by FCSTalonSolvingAlgorithm::GetCardFromKlondikeTalon().

virtual void FCSMove::SetNumberOfCardsInSequence unsigned char  NumberOfCardsInSequence  )  [pure virtual]
 

Parameters:
NumberOfCardsInSequence is the number of cards in a sequence that moved

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by FCSFreecellSolvingAlgorithm::MoveCardsToADifferentParent(), FCSFreecellSolvingAlgorithm::MoveFreecellCardsToTopOfStacks(), FCSFreecellSolvingAlgorithm::MoveNonTopStackCardsToFounds(), FCSFreecellSolvingAlgorithm::MoveSequencesToFreeStacks(), FCSFreecellSolvingAlgorithm::MoveStackCardsToAParentOnTheSameStack(), and FCSFreecellSolvingAlgorithm::MoveStackCardsToDifferentStacks().

virtual void FCSMove::SetSourceFreecell unsigned char  FreecellNumber  )  [pure virtual]
 

Parameters:
FreecellNumber is the number (position) of the freecell

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by FCSFreecellSolvingAlgorithm::MoveFreecellCardsToEmptyStack(), FCSFreecellSolvingAlgorithm::MoveFreecellCardsToFounds(), FCSFreecellSolvingAlgorithm::MoveFreecellCardsToTopOfStacks(), and FCSFreecellSolvingAlgorithm::MoveStackCardsToAParentOnTheSameStack().

virtual void FCSMove::SetSourceStack unsigned char  StackNumber  )  [pure virtual]
 

Parameters:
StackNumber is the number of the source stack

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by FCSFreecellSolvingAlgorithm::EmptyStackIntoFreecells(), FCSFreecellSolvingAlgorithm::FlipTopCard(), FCSFreecellSolvingAlgorithm::MoveCardsToADifferentParent(), FCSFreecellSolvingAlgorithm::MoveFreecellCardsToTopOfStacks(), FCSFreecellSolvingAlgorithm::MoveNonTopStackCardsToFounds(), FCSFreecellSolvingAlgorithm::MoveSequencesToFreeStacks(), FCSSimpleSimonSolvingAlgorithm::MoveSequenceToFounds(), FCSFreecellSolvingAlgorithm::MoveStackCardsToAParentOnTheSameStack(), FCSFreecellSolvingAlgorithm::MoveStackCardsToDifferentStacks(), and FCSFreecellSolvingAlgorithm::MoveTopStackCardsToFounds().

virtual void FCSMove::SetType FCSMoveTypes  MoveType  )  [pure virtual]
 

Parameters:
MoveType is the type of move

Implemented in FCSCompactMove, and FCSDebugMove.

Referenced by FCSFreecellSolvingAlgorithm::EmptyStackIntoFreecells(), FCSFreecellSolvingAlgorithm::FlipTopCard(), FCSTalonSolvingAlgorithm::GetCardFromKlondikeTalon(), FCSFreecellSolvingAlgorithm::MoveCardsToADifferentParent(), FCSFreecellSolvingAlgorithm::MoveFreecellCardsToEmptyStack(), FCSFreecellSolvingAlgorithm::MoveFreecellCardsToFounds(), FCSFreecellSolvingAlgorithm::MoveFreecellCardsToTopOfStacks(), FCSFreecellSolvingAlgorithm::MoveNonTopStackCardsToFounds(), FCSFreecellSolvingAlgorithm::MoveSequencesToFreeStacks(), FCSSimpleSimonSolvingAlgorithm::MoveSequenceToFounds(), FCSFreecellSolvingAlgorithm::MoveStackCardsToAParentOnTheSameStack(), FCSFreecellSolvingAlgorithm::MoveStackCardsToDifferentStacks(), and FCSFreecellSolvingAlgorithm::MoveTopStackCardsToFounds().


The documentation for this class was generated from the following files:
Generated on Sat Nov 5 11:20:17 2005 for Cpp Freecell Solver by  doxygen 1.4.4