Dev - C++ - Debo realizar un juego de una matriz de 10*10

 
Vista:
sin imagen de perfil
Val: 3
Ha disminuido su posición en 6 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Debo realizar un juego de una matriz de 10*10

Publicado por Kenji (2 intervenciones) el 24/03/2019 12:14:44
Debo realizar un juego de una matriz de 10*10 en el cual consiste

la matriz almacenara números aleatorios entre 1 y 4;

el usuario elije una fila y una columna y en base a la elección encuentro los
grupos de al menos 3 números iguales;

1|2|4|1
3|3|3|4
1|3|1|2

luego los elimino y los vuelvo cero

1|2|4|1
0|0|0|4
1|0|1|2

después de eliminarlos
hacer que caigan el posición de los ceros
los números que están arriba

0|0|0|1
1|0|4|4
1|2|1|2
no logro hacer que me reconozcan los números que están juntos o al menos no todos y menos como hacer que suban de posición.
les dejo el código que llevo hasta ahora si alguno puede ayudarme o si a alguien en un futuro le sirve lo que llevo acá esta y gracias!


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
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
 
using namespace std;
int mat[10][10];
int coor[2][10];
 
 
 
int estructura()
{
 
    cout << "Suerte! \xBA  x1   x2   x3   x4   x5   x6   x7   x8   x9   x10  \xBA" << endl;		   //imprime informacion de coordenadas x y lineas de arriba del tablero
	cout << "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCE";
    for( int c = 0; c < 52; c++  ){
        cout << "\xCD";}																			//imrpime lineas por debajo de las coordenadas en x
 
    cout << "\xB9" << endl;																			//imprime la division
 
 
	for (int x=1;x<=10;x++){
        for (int y=1;y<=10;y++)
        mat[x][y]=1+ rand()%(5-1);																	//imprime la matriz original aleatoriamente comprendida entre 1 y 4.
                   };
         	  for (int x=1;x<=10;x++){
       cout<<"  "<<x<<".-\t\xBA";																	//imprime la linea final a la matriz
	   for (int y=1;y<=10;y++)
        cout<<" ["<<mat[x][y]<<"] ";
        cout << "  \xBA";																			 //imprime la linea final a la matriz
		cout<<endl;
    }
	cout << "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCA";														//imprime la lineas por debajo del tablero
     for( int c = 0; c < 52; c++  ){
        cout << "\xCD";}																			//imprime la division 
      cout << "\xBC" << endl;}																		//imprime la division
 
 
 
 
 
 
 
 
int progreso()					//limpia la matriz anterior y guarda la matriz con la que se esta trabajando y da vuelta para poder seguir jugando e imprimir los nuevos movimientos echos.
{
	int cnt;
		system ("pause");
		system ("cls");
     cout << "Suerte! \xBA  x1   x2   x3   x4   x5   x6   x7   x8   x9   x10  \xBA" << endl;		//imprime informacion de coordenadas x y lineas de arriba del tablero
	cout << "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCE";
    for( int c = 0; c < 52; c++  ){
        cout << "\xCD";}																			//imrpime lineas por debajo de las coordenadas en x
 
    cout << "\xB9" << endl;																			//imprime la division
 
 
      	 for (int x=1;x<=10;x++){
       cout<<"  "<<x<<".-\t\xBA";																	//imprime la linea final a la matriz
	   for (int y=1;y<=10;y++)
        cout<<" ["<<mat[x][y]<<"] ";
        cout << "  \xBA";																			 //imprime la linea final a la matriz
		cout<<endl;
    }
	cout << "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCA";													//imprime la lineas por debajo del tablero
     for( int c = 0; c < 52; c++  ){
        cout << "\xCD";}																			//imprime la division 
      cout << "\xBC" << endl;}																		//imprime la division
 
 int comparar()
{
	int fila,columna,x,y,a,b,num,cnt;
		cout<<"\n\n                       INICIO DEL JUEGO\n\n "<<endl;							//toma la coordenada que se desea ingresar.
    cout<<"\n                      Ingrese una fila    ";      cin>>fila;
    cout<<"                       ---------------------"<<endl;
    cout<<"\n                      Ingrese una columna ";      cin>>columna;
    cout<<"                       ---------------------"<<endl;
    if(x=fila , y=columna){
        cout<<"                       \nEl numero seleccionado es "<<mat[fila][columna]<<"\n"<<endl; 						//indica el valor seleccionado.
		}
 
	num = mat[fila][columna];
 
 
//x positivo
		for(a=x;a<=10;a++){
		if (mat[a][y]==num)
        {
           	mat[a][y]=0;
           	cnt++;
		}
		else
		{ break; }
		}
//y positivo
		for(b=y;b<=10;b++){
		if (mat[x+1][b]==num)
        {
           	mat[x+1][b]=0;
           	cnt++;
		}
		else
		{ break; }
		}
//x negativo
		for(a=x;a>=1;a--){
		if (mat[a][y-1]==num)
        {
           	mat[a][y-1]=0;
           	cnt++;
		}
		else
		{ break; }
		}
//y negativo
		for(b=y;b>=1;b--){
		if (mat[x-1][b]==num)
        {
           	mat[x-1][b]=0;
           	cnt++;
		}
		else
		{ break; }
		}
//x positivo // y positivo
		for(a=x+1,b=y+1;a<=10 && b<=10;a++,b++){
			if (mat[a][b]==num)
        	{
           		mat[a][b]=0;
           		cnt++;
		}
		else
		{ break; }
		}
//x negativo // y negativo
		for(a=x-1,b=y-1;a>=1 && b>=1;a--,b--){
			if (mat[a][b]==num)
        	{
           		mat[a][b]=0;
           		cnt++;
		}
		else
		{ break; }
		}
//x negativo // y positivo
		for(a=x-1,b=y+1;a>=1 && b<=10;a--,b++){
			if (mat[a][b]==num)
        	{
           		mat[a][b]=0;
           		cnt++;
		}
		else
		{ break; }
		}
//x positivo // y negativo
		for(a=x+1,b=y-1;a<=10 && b>=1;a++,b--){
			if (mat[a][b]==num)
        	{
           		mat[a][b]=0;
           		cnt++;
		}
		else
		{ break; }
		}
}
 
 
int main ()
{
	int columna,fila,x,y,num=0,cnt=0,a=0,b=0;
	estructura ();
	comparar();
	progreso();
	return comparar();
 
}.
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