1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
|
///////////////////////////////////////////////////////////////////////////////
// $Id: DeckMoveCommand.hxx,v 1.1 1995/01/08 06:41:34 bmott Exp $
///////////////////////////////////////////////////////////////////////////////
//
// DeckMoveCommand.hxx - Command called when a deck has been split and moved
//
//
// Bradford W. Mott
// Copyright (C) 1994
// December 12,1994
//
///////////////////////////////////////////////////////////////////////////////
// $Log: DeckMoveCommand.hxx,v $
// Revision 1.1 1995/01/08 06:41:34 bmott
// Initial revision
//
///////////////////////////////////////////////////////////////////////////////
#ifndef DECKMOVECOMMAND_HXX
#define DECKMOVECOMMAND_HXX
#include "Command.hxx"
#include "Engine.hxx"
#include "Deck.hxx"
class DeckMoveCommandArguments {
public:
Deck* from; // Deck the cards were moved from
Deck* moved; // Plain deck the user moved around
DeckMoveCommandArguments(Deck* f, Deck* m)
: from(f), moved(m)
{ }
};
class DeckMoveCommand : public Command {
private:
Engine* myEngine;
public:
// Protected constructor to prevent instantiation
DeckMoveCommand(Engine* engine) { myEngine = engine; }
// Destructor
virtual ~DeckMoveCommand() { }
// Tell the engine to handle moving the cards
virtual void execute(void* argument)
{
DeckMoveCommandArguments* args = (DeckMoveCommandArguments*)argument;
myEngine->moveCards(args->from, args->moved);
}
};
#endif
|