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!
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


0