Buenas tardes, tengo que hacer un juego de cartas llamado siete y medio, pero tengo serios problemas con el mazo. No tengo idea de como sacar una carta y descontarla del mazo.
Hasta ahora he podido hacer esto.
Mod: Arregladas las etiquetas.
Hasta ahora he podido hacer esto.
Código (cpp) [Seleccionar]
#include <iostream>
#include <ctime>
#include <conio.h>
#include<iostream>
#include<stdlib.h>
using namespace std;
int main ()
{
bool game_over;
cout<<"Bienvenido al juego siete y media"<<endl;
cout<<endl;
cout<<"Use tecla -i- para iniciar el juego y recibir una carta"<<endl;
cout<<"Use la tecla -n- para no recibir mas cartas"<<endl;
cout<<"Use la tecla -r- para ver las reglas"<<endl;
cout<<"Use la tecla -s- para salir del juego"<<endl;
cout<<endl;
int mazo [][10] =
{{1,2,3,4,5,6,7,10,11,12},{1,2,3,4,5,6,7,10,11,12},
{1,2,3,4,5,6,7,10,11,12},{1,2,3,4,5,6,7,10,11,12}};
int carta;
int palo;
for (int carta =0; carta<10;carta++){
for(int palo=0; palo<4;palo++)
cout<<mazo[palo] [carta];
cout<<endl;
}
cout<<"La carta es: ";
switch (carta){
case 1:cout<< " 1 de "; break;
case 2:cout<< " 2 de ";break;
case 3:cout<< " 3 de ";break;
case 4:cout<< " 4 de ";break;
case 5:cout<< " 5 de ";break;
case 6:cout<< " 6 de ";break;
case 7:cout<< " 7 de ";break;
case 8:cout<< " 10 de ";break;
case 9:cout<< " 11 de ";break;
case 10:cout<< " 12 de ";break;
}
switch (palo) {
case 0:cout<< "Espada. "<<endl;
case 1:cout<< "Basto. "<<endl;
case 2:cout<< "Oro. "<<endl;
case 3:cout<< "Copa. "<<endl;
}
int valor_medio, valor_carta_entera;
if (carta == 8 || carta == 9 || carta == 10 )
{valor_medio=0.5;}
else {valor_carta_entera = carta;}
int maximo =7.5;
float puntaje_pc;
float puntaje_jugador;
while (game_over == false)
{while(!kbhit()) {
int tecla=getch();
switch(tecla)
{
case 'i': case 'I':
//aca va tirar una carta, sacarla del mazo y preguntar si quiere otra carta sino pasar a la pc y hacer los dos primeros pasos//
cout<<"Usted ha sacado: "<<carta<<endl;
cout<<"Si quiere otra carta ingrese tecla -i-"<<endl;
cout<<"si no quiere otra carta, ingrese tecla -n- y será el turno de la PC."<<endl;
if (puntaje_jugador < maximo)
{
cout<<"A obtenido "<<puntaje_jugador<< " puntos, ahora es el turno de la PC. "<<endl;
}
else if (puntaje_jugador == maximo)
{
cout<<"A obtenido " <<puntaje_jugador<< " puntos, ha ganado, felicidades."<<endl;
game_over = true;}
else
{
cout<<"Usted se ha pasado de 7.5, usted ha perdido."<<endl;
game_over = true;}
case 'n': case 'N':
cout<<"Usted no quiere mas cartas. Su resultado es: "<<puntaje_jugador<<endl;
cout<<"Ahora es el turno de la PC."<<endl;
if (puntaje_pc < puntaje_jugador || (puntaje_pc > maximo));
{
cout<<"La PC ha obtenido este puntaje: "<<puntaje_pc;
cout<<"Usted ha ganado"<<endl;
game_over = true;
}
else ((puntaje_pc == maximo) || (puntaje_pc == puntaje_jugador));
{
cout<<"A obtenido " <<puntaje_pc<< " puntos, ha ganado la pc."<<endl;
game_over = true;
}
case 'r': case 'R':
cout<<"Reglas del juego: "<<endl;
cout<<endl;
cout<<"En este juego de cartas al jugador se le reparte 1 carta."<<endl;
cout<<"El objetivo es acercarse a 7.5, sin pasarse. Si cree que le falta puede pedir todas las cartas que quiera pero si se pasa, pierde."<<endl;
cout<<"Si decide plantarse antes de pasarse de 7 y medio, juega la Computadora que hace lo mismo. Si le empata o gana al jugador, entonces la PC gana."<<endl;
cout<<"Se juega con las cartas españolas, del 1 al 7 y las figuras. Cada carta vale su valor. Las figuras valen 0.5."<<endl;
cout<<"Al apretar tecla -i-, el juego inicia, dando entender que ya conoce estas reglas"<<endl;
cout<<"Si quiere salir del juego presioné la letra s."<<endl;break;
case 's': case 'S':
cout<<"Usted a salido del juego."<<endl;
game_over = true;
}
}
}
return 0;
}
}
Mod: Arregladas las etiquetas.