Dev - C++ - memorma

 
Vista:
sin imagen de perfil

memorma

Publicado por Jorge Mauricio (1 intervención) el 05/12/2015 03:20:20
buenas noches me comunico con ustedes por este medio ya que requiero de ayuda en mi proyecto extra ordinario de programacion que consiste en hacer un memorama con matrizes el lenguaje es c++

EL juego se basa en el uso de dos matrices de caracteres, siendo la primera la encargada de mostrar las “cartas” que el usuario debe encontrar, mientras el segundo muestra las posiciones donde el usuario debe buscar Una vez que se han ocultado las “cartas” el usuario debe adivinar la posición de un par de caracteres, para ello, es necesario pedirla al usuario cuatro posiciones, la fila y columna de la primera carta y la fila y columna de la segunda carta. En caso de que ambas posiciones de la matriz sean iguales, el jugador a encontrado un par, de lo contrario, el usuario no ha encontrado un par y debe perder una vida.El juego continúa mientras el jugador tenga vidas o en su defecto encontró todos los pares de la matriz.

Características del “Memorama”

• El tamaño de la matriz de cartas y signos debe ser de 4X4 o 6X6

• El juego contará con 2 niveles de dificultad Fácil

§ El jugador contará únicamente con 5 vidas para encontrar todos los pares de la matriz.

Difícil El jugador contará únicamente con 2 vidas para encontrar todos los pares de la matriz.

• El juego mostrará una puntuación al final de cada ronda (cuando ganas o pierdes). La puntuación está basada en el numero de vidas con que se finalice la ronda y la dificultad seleccionada por el jugador. En el caso de la dificultad “Fácil”, cada vida tiene un valor de 138 puntos, de tal manera que si el usuario finaliza el juego con una vida, tendría 138 puntos, si termina con 2 vida finalizaría el juego con 276 puntos. En la dificultad

“Difícil” cada vida tiene un valor de 925 puntos.

• Una vez que finalice una ronda, ya sea por haber ganado o perdido, el programa preguntará si el jugador desea iniciar una nueva partida.

Validaciones del “Memorama”

• Si el usuario elige dos veces la misma carta (mismas posiciones de la matriz), no debe considerarse como un par encontrado

• Si el usuario elige una posición inexistente de la matriz, no debe contar como un error para perder una vida, únicamente se le notifica que esa posición no existe.




si podrian mandarm una explicacion de como esta constituido el programa por si mi profesor pregunta entiendase que yo manejo cosas como
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <iostream.h>
//variables globales
//funciones
char cartas [8], signos[8];
 
int i;
void mostrarcartas()
{
	//esta funcion no regresa ningun tipo de  datos y no tiene parametros
 
	//for mostrar lads cartas
	for(i=0; i<8; i++)
	{
 
		//para mostrar de 4 en cuatro
		if(i%4 ==0)
		{
			printf("\n");
		}
		//mostrar el dato
			printf("\t\t%c", cartas[i]);
	}
}
	void mostrarsignos()
{
	//esta funcion no regresa ningun tipo de  datos y no tiene parametros
 
	//for mostrar lads cartas
	for(i=0; i<8; i++)
	{
 
		//para mostrar de 4 en cuatro
		if(i%4 ==0)
		{
			printf("\n");
		}
		//mostrar el dato
			printf("\t\t%c", signos[i]);
	} //termina mostrar signos
 
}
	void encabezado()
	{
		printf("\t\n****************************************************\n");
		printf("\t\n*                                                  *\n");
		printf("\t\n*               bienvenido al memorama              *\n");
		printf("\t\n*                                                  *\n");
		printf("\t\n****************************************************\n");
	}
int main()
{
//le agregamos datos a los arreglos
cartas[0] ='+';
cartas[1] ='*';
cartas[2] ='-';
cartas[3] ='/';
cartas[4] ='+';
cartas[5] ='*';
cartas[6] ='-';
cartas[7] ='/';
//llenamos el arreglos de signos
for(i=0; i<8;i++)
{
	signos[i] = '?';
}
 
//invocO
encabezado();
mostrarcartas();
cout<<"presione cualquier tecla para continuar"<<endl;
//esperamos que se presiones cualquier tecla para continuar
getch();
//borrar la pantalla
system("cls");
//mostrar los signos
encabezado();
mostrarsignos();
//para guardar cuantos pares van
int pares=0;
//cuantos pares hay
int ganar =4;
int vida =3;
//miesntas no encuentres todos los pares
//while(ganar !=4)
	//variable para tomar la posicion indicada por el usuario
	int pos1, pos2;
	while(pares < ganar)
	{
		cout<<" posicion"<<endl;
		cin>>pos1;
		cout<<" posicion"<<endl;
		cin>>pos2;
		if(cartas[(pos1-1)]==cartas[pos2-1])
		{
 
		//voltear las cartas
		//guardamos los datos en los signos
		signos[pos1-1]= cartas[pos1-1];
		signos[pos2-1]= cartas[pos2-1];
		//encontramos un par
		pares = pares +1;
		system("cls");
		//mostramos el encabezado
		encabezado();
		//mostramos los signos
		mostrarsignos();
 
	}
 
	else
	{
		cout<<"pares no cinciden"<<endl;
 
	}
 
	//si no encontro la carta
 
}
 
 getch();
 return 0;
}
// termian la función main()
//creamos una funcion, el dato que regresa, nombre (parametros)

por lo que nesecito que no tenga un nivel de compleguidad muy grande y que sea facil de explicar
de ante mano les agradesco su ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder