jugador
#include
#include
#include
#include
enum em_CardClass_t
{
_CC_hearts = 0, // Corazones
_CC_Spade, // Picas
_CC_Clubs, // Flores de ciruelo
_CC_Diamonds, // Bloques
_CC_King // Reyes grandes y pequeños
};
struct st_Card_t
{
em_CardClass_t _emCardClass;
UINT _uCardIndex; // Cuando _emCardClass es _CC_King, el valor válido es
// _emCardClass es not_ Cuando CC_King, valores válidos
};
usando el espacio de nombres std;
void InitCard(vector
{
st_Card_t tarjeta;
for( UINT i=0; i<_CC_King; i++ )
{
card._emCardClass = (em_CardClass_t)i;
for( UINT j=1; j<14; j++ )
{
card._uCardIndex = j;
vtCard.push_back(tarjeta);
}
}
card._emCardClass = _CC_King;
card._uCardIndex = 1;
vtCard.push_back(tarjeta);
card._uCardIndex = 2;
vtCard.push_back(tarjeta);
}
//Distribuir tarjetas
void DealCard(vector
vector
{
srand( (unsigned)time( NULL ) );
for( int i = 0; i < 51 ; i++ )
{
int iCard = rand() % vtCard.size();
cambiar( i % 3 )
{
caso 0:
vtPlayer1.push_back(vtCard[iCard]); p>
p>
ruptura;
caso 1:
vtPlayer2.push_back(vtCard[iCard]);
ruptura; p>
predeterminado:
vtPlayer3.push_back(vtCard[iCard]);
descanso;
}
si( iCard != vtCard. tamaño()-1 )
{
vtCard[iCard] = vtCard[vtCard.size()-1];
}
vtCard.pop_back();
}
}
// Oferta
int Oferta(vector
vector
{
srand ( (unsigned) time( NULL ) );
int iBider = rand() % 3; // El postor, es decir, el propietario
vector
cambiar( iBider )
{
caso 0:
pPlayer = &vtPlayer1;
romper ;
caso 1:
pPlayer = &vtPlayer2;
descanso;
valor predeterminado:
pPlayer = &vtPlayer3 ;
descanso;
}
for( UINT i = 0; i < vtCard.size(); i++ )
{
pPlayer->push_back(vtCard[i]);
}
devolver iBider;
}
// Carta completa (ordenada en orden de corazones, espadas, tréboles, diamantes y reyes pequeños, y el mismo palo se ordena de pequeño a grande)
void SortCard(vector
{
st_Card_t tmp;
<p> para( UINT i=0; i { para( UINT j=i+1; j { if( vtPlayer[i]._emCardClass < vtPlayer[j]._emCardClass ) { continuar; } if( vtPlayer[i]._emCardClass == vtPlayer[j]._emCardClass && vtPlayer[i]._uCardIndex < vtPlayer [j]._uCardIndex ) { continuar; } tmp = vtPlayer[i]; vtPlayer[i] = vtPlayer[j]; vtPlayer[j] = tmp; } } } void PrintPlayerCard(const string& sPlayerName, const vector { cout << sPlayerName << " tarjetas:" << endl; for( UINT i=0; i< vtPlayer.size(); i++ ) { switch( vtPlayer [i]._emCardClass ) { caso _CC_hearts: cout << "Corazones"; descanso; p > caso _CC_Spade: cout << "Spade"; descanso; caso _CC_Clubs: cout << "flor de ciruelo"; rotura; caso _CC_Diamonds: cout << "cuadrado"; rotura; p > predeterminado: cout << "Rey"; descanso; } cout << vtPlayer[i]._uCardIndex<< " "; } cout << endl << endl; } void main() { vector vector vector vector InitCard(vtCard); DealCard(vtCard, vtPlayer1, vtPlayer2, vtPlayer3); int iBider = Oferta(vtCard, vtPlayer1, vtPlayer2, vtPlayer3); SortCard(vtPlayer1); SortCard(vtPlayer2); SortCard(vtPlayer3) ); PrintPlayerCard("Player1", vtPlayer1); PrintPlayerCard("Player2", vtPlayer2); PrintPlayerCard("Player3", vtPlayer3); cout <<"El arrendador es Player"<< iBider+1 << endl << endl; }