Red de conocimiento informático - Problemas con los teléfonos móviles - Implementación de código fuente vectorial

Implementación de código fuente vectorial

# incluir lttime.h gt

# incluir ltiostream gt

# incluir ltstring gt

# incluir ltvector gt

Enum em_CardClass_t

{

_CC_hearts = 0, // corazones

_CC_Spade, // picas

_CC_Clubs, // tréboles

_CC_Diamonds, // caja

_CC_King //Rey de tamaños

};

Estructura st_card_t

{

em _ CardClass _ t _ emCardClass

UINT _ uCardIndex// _emCardClass es _CC_King, que es un valor válido.

// _emCardClass no es _CC_King, el valor válido es [1, 13].

};

Usar espacio de nombres std

void InitCard(vector lt; st_Card_t gt ampvtCard)

{

st_Card_tcard;

for(UINT I = 0; ilt_CC_Kingi)

{

Tarjeta. _ clase de tarjeta em =(em _ clase de tarjeta _ t)I;

for(UINT j = 1; j lt14; j )

{

tarjeta . _ uCardIndex = j;

vt tarjeta . push _ back(tarjeta);

}

}

Tarjeta. _ emCardClass = _ CC _ Rey

Tarjeta. _ uCardIndex = 1;

tarjeta vt . push _ back(tarjeta

Tarjeta.

_ uCardIndex = 2;

vt card . push _ back(card);

}

//Distribuir tarjetas

nulo trato; card(vector lt; st_Card_t gt ampvtCard, vector ltst_Card_t gt ampvtPlayer1,

vector ltst_Card_t gt ampvtPlayer2, vector ltst_Card_t gt ampvtPlayer3 )

{

srand((unsigned ) time(null));

for(int I = 0; i lt51; i )

{

int iCard = rand() vt card . size();

Cambiar (i 3)

{

Caso 0:

vt jugador 1. push_back(vt card[ iCard]);

Pausa;

Caso 1:

vt player 2 . push _ back(vt card[iCard]); p>Break;

Valor predeterminado:

vt player 3 . push _ back(vt card[iCard]);

Break;

}

if (iCard!= vtCard.size()-1)

{

tarjeta vt[iCard]= tarjeta vt[tarjeta vt . size()-1];

}

tarjeta vt . pop _ back();

}

}

//Oferta

int oferta(vector lt; st _ Card _ t gt ampvtCard , vector ltst_Card_t gt ampvtPlayer1,

Vector ltst_Card_t gt ampvtPlayer2, vector ltst_Card_t gt ampvtPlayer3)

{

srand((unsigned) time(null));

int I bider = rand() 3 //El postor es el postor original .

Vector ltst _ Card _ t gt* pPlayer = NULL

Cambiar (iBider)

{

Caso 0:

pPlayer = ampvt jugador 1;

Pausa;

Caso 1:

pPlayer = ampvtPlayer2

Pausa;

p>

Predeterminado:

pPlayer = ampvtPlayer3

Pausa;

}

for(UINT I = 0; i tarjeta ltvt(); i )

{

pPlayer-gt; /p >

Volver a iBider

}

//La carta completa (ordenada en corazones, espadas, tréboles, diamantes y reyes, el mismo palo es ordenado de pequeño a grande Orden de clasificación)

void SortCard(vector ltst _ Card _ t gt ampvtPlayer)

{

st _ Card _ t tmp

for(UINT I = 0; i ltvt player . size()-1; i )

{

for(UINT j = I 1; j ltvt player . tamaño(); j )

{

if( vtPlayer[i]._ emCardClass ltvtPlayer[j]._emCardClass)

{

Continuar;

}

if( vtPlayer[i]._emCardClass == vtPlayer[j]._ emCardClass amp amp

vtPlayer[i] ._ uCardIndex ltvtPlayer[ j]._uCardIndex)

{

Continuar;

}

tmp = vt player[I];

vt player[I]= vt player[j];

vt player[j]= tmp;

}

}

}

void PrintPlayerCard(const string amp;sPlayerName,

const vector ltst_Card_t gt ampvtPlayer)

{

cout lt ltsPlayerName lt lt"Tarjeta:" lt ltendl

for(UINT I = 0; i ltvt player . size(); i )

{

cambiar(vtPlayer[i].

_emCardClass)

{

Case_cc_redheart:

cout lt lt"corazón";

Romper;

caso _CC_Spade:

cout lt "pala";

romper;

Case_cc_club:

cout lt lt"Flor de ciruelo";

Break;

Case_CC_Diamond:

cout lt lt"square";

Break;

Valor predeterminado:

cout lt lt《王者》;

Pausa;

}

cout lt ltvtPlayer[i]. _ uCardIndex lt lt" ";

}

cout lt ltendl lt ltendl

}

void main()

{

Vector ltst_Card_t gtvtCard

Vector ltst_Card_t gtvt jugador 1;

Vector ltst_Card_t gtvtPlayer2

Vector ltst_Card_t gtvtPlayer2

Vector ltst_Card_t gtvtCard

gtvtPlayer3

tarjeta de inicio(tarjeta vt);

DealCard(vtCard, vtPlayer1, vtPlayer2, vt player 3);

int iBider = Oferta(vtCard, vtPlayer1 , vtPlayer2, vt jugador 3);

ordenar tarjeta (vt jugador 1);

ordenar tarjeta (vt jugador 2);

ordenar tarjeta (vt jugador); 3);

PrintPlayerCard("Jugador1 ", vt jugador 1

PrintPlayerCard("Jugador2 ", vt jugador 2);

PrintPlayerCard("Jugador3); ",vt player 3);

cout lt lt"El anfitrión es el jugador"

}