Pascal/Turbo Pascal - URGENTE, necesito ayuda para terminar un juego de la oca... es para dentro de 4 dias

   
Vista:

URGENTE, necesito ayuda para terminar un juego de la oca... es para dentro de 4 dias

Publicado por Amanda (4 intervenciones) el 25/06/2013 00:35:15
Especificaciones del Juego
Elabore un programa en lenguaje “Pascal” con funciones y procedimientos, pase de parámetros y variables locales, (NO SE PERMITEN VARIABLES GLOBALES, A MENOS QUE SEA ESTRICTAMENTE NECESARIO Y DEBERÁ EXPLICAR EL PORQUE DE SU USO), que implemente el juego de la Oca.
El Juego de la Oca es un juego de mesa que se juega con dos o más jugadores. Al principio del juego usted deberá preguntar cuantas personas van a jugar. Mediante la función random (ustedes deberán investigar su uso) se deberá indicar quien comienza el juego. Cada uno de los jugadores avanza su ficha por un tablero en forma con 64 casillas (matriz de 8 filas y 8 columnas). Las casillas están numeradas del 0 al 63. En su turno cada jugador lanza dos dados que indica el número de casillas que hay que avanzar. Dependiendo de la casilla en la que se caiga se puede lograr avanzar o por el contrario retroceder y en algunas de ellas está indicado un castigo.
a. En las casillas 0,5, 9, 18, 23, 27, 32, 36, 41, 45, 50, 54 y 59, están las ocas. Cuando se cae en una de estas casillas se puede avanzar hasta la siguiente casilla en la que hay una oca y volver a lanzar.
b. En la casilla 19 está una posada, cuando se cae en esta casilla se pierde un turno.
c. El pozo está en la casilla 31, cuando se cae en esta casilla no se puede volver a jugar hasta que no pase otro jugador por esa casilla.
d. En la casilla 42 hay un laberinto, al llegar a esta casilla se está obligado a retroceder a la casilla 30.
e. La cárcel está en la casilla 56, caer en esta casilla significa quedarse dos turnos sin jugar.
f. La casilla 58 es la "casilla de la calavera" al caer en esta casilla hay que volver a la casilla 0.
El juego lo gana el primer jugador que llega a la casilla 63 y deberá mostrar por pantalla: "Me toca, me toca llegué al jardín de la oca" y deberá realizar y mostrar un dibujo alusivo al juego de la oca elaborado con las instrucciones: write, writeln, estructuras de iteración o repetición.
Además del Juego, el menú deberá tener la posibilidad de crear, eliminar, actualizar registros en un archivo de texto que almacene la siguiente información: Número del juego, Apellidos y nombres de cada jugador, iniciales del que ganó, fecha del juego y edad.
A continuación se presenta la forma como debe recorrer la matriz.
0 1 2 3 4 5 6 7
15 14 13 12 11 10 9 8
16 17 18 19 20 21 22 23
31 30 29 28 27 26 25 24
32 33 34 35 36 37 38 39
47 46 45 44 43 42 41 40
48 49 50 51 52 53 54 55
63 62 61 60 59 58 57 56

Su programa debe utilizar un procedimiento que le muestre al usuario un menú con las diversas opciones que considere puede tener este juego, en donde se debe incluir la posibilidad de terminarlo.

Su proyecto debe realizarse SIN UTILIZAR VARIABLES GLOBALES (A MENOS QUE SEA ESTRICTAMENTE NECESARIO Y DEBERÁ EXPLICAR EL PORQUE DE SU USO), es decir, debe realizarse con procedimientos y/o funciones y pase de parámetros por valor y/o referencia.

Para la primera entrega del proyecto deberán estar finalizadas las siguientes actividades:

1. Menú principal (con todas las opciones solicitadas) sino está lista la función o procedimiento de la opción que se presente “En construcción”.
2. Indicar quien comienza primero mediante la función random.
3. Deberá mostrar el dibujo alusivo al juego con las instrucciones
4. de: write, writeln, estructuras de iteración o repetición.
5. Deberá mostrar el tablero de una manera agradable y amigable.

ANEXO TAMBIEN LO Q LLEVO HECHO:
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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
Program juego_De_La_Oca;
uses crt;
 const
      x = 8;
      max = 4;
 type
     matriz = array[1..x,1..x] of integer;
     vector = array [1..max] of string;
var
   N,A:integer;   // Utilie vaiables globales ya q las necesito en todo el programa y no solo en una parte.
   V: vector;
   M:matriz;
 
   Procedure nombreDelJuego;
   begin
   textcolor(9);
      writeln('IIII               II               IIIIII      IIIIIIII         II');
      writeln('IIII              IIII             II    II    IIIIIIIII        IIII');
      writeln('IIII             II  II           II      II   II              II  II');
      writeln('IIII            IIIIIIII         II        II  II             IIIIIIII');
      writeln('IIII           IIIIIIIIII         II      II   II            IIIIIIIIII');
      writeln('IIIIIIIIII    II        II         II    II    IIIIIIIII    II        II');
      writeln('IIIIIIIIII   II          II         IIIIII      IIIIIIII   II          II');
      writeln;
      writeln(' Bienvenid@. Para comenzar por favor presione ENTER');
      readln;
   end;
 
   Procedure DibujoDeOca;
   var
      i:integer;
   begin
   CLRSCR;
   textcolor(3);
        writeln('                  OOO');
        writeln('                A      A');
        writeln('               A   O     A');
        writeln('               A A        A');
        writeln('              A  A        A');
        writeln('            A   A         A ');
        writeln('         A A AA A A       A');
        writeln('                  A       A');
               For i:=1 to 8 do
        writeln('                   A      A');
        writeln('                   A       A');
        writeln('                   A          A');
        writeln('                   A            A');
        writeln('                   A          *   A');
        writeln('                  A    *  *   * *   A');
        writeln('                 A      *  *    * *   A');
        writeln('                 A       * *     * *   A');
        writeln('                 A        *  *     * *   A');
        writeln('                 A          *  * * * * *    A');
        writeln('                 A            *  * *  *  *     A A A  A A');
        writeln('                  A             * * *  * * * *       A');
        writeln('                   A                               A  ');
        writeln('                     A                           A');
        writeln('                        A                       A');
        writeln('                           A                   A');
        writeln('                              A              A');
        writeln('                                A  A A A A A ');
               For i:=1 to 3 do
        writeln('                                **         **');
        writeln('                            ******      *****');
        writeln('                           *******     ******');
   end;
 
   Procedure leerJugadores(var N:integer);
   begin
        writeln('Indique el numero de personas que van a jugar');
        readln(N);
        while((N <= 0) or (N > max)) do
        begin
             writeln('ERROR. Numero invalido, por favor ingrese otro');
             readln(N);
        end;
   end;
 
   Procedure asignarNombres(var nom: vector);
   var
      i:integer;
   begin
        for i:=1 to N do
        begin
             writeln('Indique un nombre');
             readln(nom[i]);
             writeln;
        end;
   end;
 
   Procedure indicarPrimerJugador(N:integer; var V: vector);
   var
      i:integer;
   begin
        writeln('El orden de los jugadores es: ');
        randomize;
        i:=random(N)+ 1;
         for i:=1 to N do
         begin
              write('   ',i,' :');
              writeln(V[i]);
              writeln;
         end;
   end;
 
   Procedure llenarM(var M:matriz);
     var
        i,elemento,inicio,fijo,tope,aux: integer;
     begin
          elemento:=0;
          inicio:=1;
          tope:=x;
          aux:=inicio;
 
          while (elemento < (x*x)) do
          begin
               fijo:=aux;
 
               For i:=inicio to tope do
               begin
                    M[fijo,i]:=elemento;
                    elemento:=elemento+1;
               end;
               fijo:=aux+1;
 
               For i:=tope downto inicio do
               begin
                    M[fijo,i]:=elemento;
                    elemento:=elemento+1;
               end;
               aux:=aux+2;
          end;
     end;
 
     Procedure mostrarM(M:matriz);
     var
        i,j:integer;
     begin
     clrscr;
     textcolor(3);
          For i:=1 to x do
          begin
               For j:=1 to x do
               begin
                    write('   ',M[i,j]:3);
               end;
               writeln;
               writeln;
          end;
   end;
 
   Procedure Dados;
   var
      i,j: integer;
   begin
        write('Dado1: ');
        randomize;
        i:=random(6)+ 1;
        writeln(i);
        writeln;
        write('Dado2: ');
        j:=random(6)+ 1;
        writeln(j);
    end;
 
   Procedure menu;
   var
      D:integer;
     begin
     textcolor(5);
     clrscr;
             writeln;
             writeln;
             writeln('  ** MENU PRINCIPAL ** ');
     writeln;
     writeln('  1.- SELECCION DE JUGADORES');
     writeln;
     writeln('  2.- JUGAR');
     writeln;
     writeln('  3.- SALIR');
     writeln;
     write('   SELECCIONE UNA OPCION:');
     readln(A);
 
               while (A<1) OR (A>3) do
                     begin
                          writeln('Opcion invalida, por favor ingrese una opcion valida');
                          readln(A);
                     end;
 
                     If A = 1 then
                     begin
                     clrscr;
                          writeln('  1.- Seleccion de jugadores');
                          writeln;
                          leerJugadores(N);
                          writeln;
                          asignarNombres(V);
                          writeln;
                          indicarPrimerJugador(N,V);
                          readln;
                          menu;
                     end
 
                     else
                         if A = 2 then
                         begin
                         clrscr;
                              llenarM(M);
                              mostrarM(M);
                              writeln('1.- Mostrar Dibujo');  //El se dibujo se enuentra en este lugar demanera provisional,
                              writeln;
                              writeln('2.- Lanzar dados');
                              readln(D);                        //por ser la pre entrega. En la entrega final se mostrara cuando
                              If D = 1 then                //haya un ganador
                                 DibujoDeOca;
                              readln;
                              mostrarM(M);
                              readln;
                              If D = 2 then
                                 Dados;
                              readln;
                              menu;
                         end
                         else
                             if A = 3 then
                         begin
                              exit;
                         end;
   end;
 
begin
     nombreDelJuego;
     menu;
     readln;
end.
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

URGENTE, necesito ayuda para terminar un juego de la oca... es para dentro de 4 dias

Publicado por ramon (2072 intervenciones) el 25/06/2013 22:58:38
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
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
{A ver si esto te ayuda algo}
 
Program juego_De_La_Oca;
 uses
   crt;
 const
      x = 8;
      max = 4;
 type
     matriz = array[1..(x * x)] of integer;
     pantalla = array[1..x,1..x] of integer;
     vector = array [1..max] of string;
     pos = array[1..max] of integer;
 var
   N, A : integer; { Utilie vaiables globales ya q las necesito en todo el
                      programa y no solo en una parte.}
   V : vector;
   M : matriz;
   pant : pantalla;
   Modoorigen : Integer;  {para el retorno del modo de pantalla original}
 
   Procedure nombreDelJuego;
   begin
      clrscr;
      textcolor(12);
      writeln;
      writeln('        *********** Este Es El Juego De La Oca *************');
      writeln;
      for n := 1 to 20 - 6 do
      writeln;
      textcolor(9);
      writeln('     IIII               II           IIIIII      IIIIIIII         II');
      writeln('     IIII              IIII         II    II    IIIIIIIII        IIII');
      writeln('     IIII             II  II       II      II   II              II  II');
      writeln('     IIII            IIIIIIII     II        II  II             IIIIIIII');
      writeln('     IIII           IIIIIIIIII     II      II   II            IIIIIIIIII');
      writeln('     IIIIIIIIII    II        II     II    II    IIIIIIIII    II        II');
      writeln('     IIIIIIIIII   II          II     IIIIII      IIIIIIII   II          II');
      writeln;
      writeln;
      writeln;
      textcolor(3);
      writeln('            Bienvenid@. Para comenzar por favor presione ENTER');
      textcolor(15);
      readln;
   end;
 
   Procedure DibujoDeOca;
   var
      i:integer;
   begin
       CLRSCR;
        textcolor(3);
        writeln;
        writeln;
        writeln('                  OOO');
        writeln('                A      A');
        writeln('               A   O     A');
        writeln('               A A        A');
        writeln('              A  A        A');
        writeln('            A   A         A ');
        writeln('         A A AA A A       A');
        writeln('                  A       A');
        for n := 1 to 4 do
        writeln('                   A      A');
        writeln('                   A       A');
        writeln('                   A          A');
        writeln('                   A            A');
        writeln('                   A          *   A');
        writeln('                  A    *  *   * *   A');
        writeln('                 A      *  *    * *   A');
        writeln('                 A       * *     * *   A');
        writeln('                 A        *  *     * *   A');
        writeln('                 A          *  * * * * *    A');
        writeln('                 A            *  * *  *  *     A A A  A A');
        writeln('                  A             * * *  * * * *       A');
        writeln('                   A                               A  ');
        writeln('                     A                           A');
        writeln('                        A                       A');
        writeln('                           A                   A');
        writeln('                              A              A');
        writeln('                                A  A A A A A ');
        for n := 1 to 8 do
        writeln('                                **         **');
        writeln('                            ******      *****');
        writeln('                           *******     ******');
        writeln;
        textcolor(14);
        writeln('           ====== Me toca, me toca llegue al jardin de la oca =====');
        textcolor(15);
   end;
 
   Procedure leerJugadores(var N:integer);
   var
     tec : char;
   begin
        writeln('    Indique el numero de personas que van a jugar ');
        repeat
            tec := readkey;
        until tec in['1'..'4'];
        n := ord(tec) - 48;
        clrscr;
   end;
 
   Procedure asignarNombres(var nom: vector);
   var
      i:integer;
   begin
        textcolor(15);
        writeln('****** Entrada Monbres Jugadores *******');
        writeln;
        textcolor(14);
        for i := 1 to N do
        begin
             write('     Indique un nombre Jugador Num [',i,'] : ');
             readln(nom[i]);
        end;
        textcolor(15);
   end;
 
   Procedure indicarPrimerJugador(var jue : integer;N : integer; var V : vector);
   var
      d, i : integer;
   begin
        writeln(' *** El orden de los jugadores es ***');
        writeln;
        randomize;
        i := random(N) + 1;
         writeln('     Inica El Juego El Jugador = ',V[i]);
         jue := i;
         for d := 1 to N do
         begin
          if d <> i then
          writeln('     Le sigen Los Jugador      = ',V[d]);
         end;
         textcolor(15);
   end;
 
   Procedure llenarM(var pant : pantalla);
     var
        i,elemento,inicio,fijo,tope,aux: integer;
     begin
          elemento := 0;
          inicio := 1;
          tope := x;
          aux := inicio;
          while (elemento < (x * x)) do
          begin
               fijo := aux;
               For i := inicio to tope do
               begin
                    pant[fijo,i] := elemento;
                    elemento := elemento + 1;
               end;
               fijo := aux + 1;
               For i := tope downto inicio do
               begin
                    pant[fijo,i] := elemento;
                    elemento := elemento+1;
               end;
               m[elemento] := elemento;
               aux := aux + 2;
          end;
     end;
 
     Procedure mostrarM(pant : pantalla; po : integer);
     var
        i,j:integer;
     begin
     clrscr;
     textcolor(3);
          For i := 1 to x  do
          begin
               For j := 1 to x  do
               begin
                    if pant[i,j] = po then
                       textcolor(14)
                    else
                       textcolor(3);
                    write('   ',pant[i,j]:3);
               end;
               writeln;
               writeln;
          end;
          textcolor(15);
   end;
 
 
   function dados : integer;
   begin
       randomize;
       dados := random(6) + 1;
   end;
 
   Procedure menu;
   var
      pasa1, pasa2, uu, salio, num, D : integer;
      ssa, salir : boolean;
      dad, tt : char;
      po : pos;
     begin
     salir := false;
     repeat
     textcolor(5);
     clrscr;
             writeln;
             writeln;
             writeln('  ** MENU PRINCIPAL ** ');
     writeln;
     writeln('  1.- SELECCION DE JUGADORES');
     writeln;
     writeln('  2.- JUGAR');
     writeln;
     writeln('  3.- SALIR');
     writeln;
     write('   SELECCIONE UNA OPCION:');
     repeat
         tt := readkey;
     until tt in['1','2','3'];
    case tt of
  '1' :  begin
           clrscr;
             writeln('  ****** Seleccion de jugadores *******');
             writeln;
             leerJugadores(N);
             writeln;
             asignarNombres(V);
             writeln;
             indicarPrimerJugador(num, N,V);
         end;
  '2' : begin
            llenarM(pant);
            clrscr;
            mostrarM(pant,po[1]);
            fillchar(po,sizeof(po),0);
            salio := 0;
            pasa1 := 0;
            pasa2 := 0;
          repeat
             writeln('      El Balor Fue : ',salio);
             writeln('      Lanza El Jugador Num. : ',num);
             writeln('      Pulse Espacio Para Lanzar Dado Esc Termina Juego');
             writeln('      Posicion del jugador num ',num,'   ',po[num]);
             repeat
             dad := readkey;
             until dad in[#32,#27];
             if dad <> #27 then
             begin
                 salio := dados;
                 po[num] := po[num] + salio;
            case  po[num] of
          0,5,9,18,23,27,32,36,41,45,50,54,59 : begin
          ssa := false;
          uu := 0;
          repeat
              uu := uu + 1;
              if po[num + uu] in[0,5,9,18,23,27,32,36,41,45,50,54,59] then
              ssa := true;
          until ssa = true;
          po[num] := po[num] + uu;
           end;
       19 : num := num + 1;
       31 : pasa1 := 1;
       42 : po[num] := po[num] - 12;
       56 : pasa2 := 1;
       58 : po[num] := 0;
         end;
                 if po[num] > (x * x) - 1 then
                 po[num] := ((x * x) - 1) - (po[num] - ((x * x) - 1));
             end;
             clrscr;
             mostrarM(pant,po[num]);
             if pasa1 > 0 then
             begin
                num := num + 1;
                pasa1 := 0;
             end;
             if pasa2 in[1..2] then
             begin
                num := num + 1;
                pasa2 := pasa2 + 1;
                if pasa2 > 2 then
                pasa2 := 0;
             end;
             num := num + 1;
             if num > n then
             num := 1;
          until (dad = #27) or (po[num] = (x * x) - 1) ;
          if po[num] = (x * x) - 1 then
          begin
             DibujoDeOca;
             writeln;
             writeln('   Ganador = ',v[num]);
             writeln('   Pulse Una Tecla');
             readkey;
          end;
          end;
  '3' :  salir := true;
     end;
     until salir = true;
   end;
 
begin
     modoorigen := lastmode; {tomo modo pantalla}
     textmode(C80 + Font8x8);{cambio a mas lineas}
     textcolor(15);
     nombreDelJuego;
     menu;
     textmode(modoorigen);{dejo como la encontré}
     textcolor(15);
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

URGENTE, necesito ayuda para terminar un juego de la oca... es para dentro de 4 dias

Publicado por Amanda (4 intervenciones) el 26/06/2013 03:08:43
SI ME SIRVIÓ GRACIAS... LE FALTAN ALGUNAS COSAS PERO YO LAS ARREGLO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

URGENTEEE!!!, necesito ayuda para terminar un juego de la oca... es para dentro de 4 dias

Publicado por Amanda (4 intervenciones) el 26/06/2013 04:39:40
AYUDAAAAAAA URGENTE POR FAVOR
GRACIAS PERO ME FALTA AUN ESTA PARTE: (NO LO SE HACER SON DOS DADOS NO UNO Y LAS CONDICIONES Q DICE ABAJO NO SE LAS SE COLOCAR):
En su turno cada jugador lanza dos dados que indica el número de casillas que hay que avanzar.
Dependiendo de la casilla en la que se caiga se puede lograr avanzar o por el contrario retroceder y en algunas de ellas está indicado un castigo.
a. En las casillas 0,5, 9, 18, 23, 27, 32, 36, 41, 45, 50, 54 y 59, están las ocas. Cuando se cae en una de estas casillas se puede avanzar hasta la siguiente casilla en la que hay una oca y volver a lanzar.
b. En la casilla 19 está una posada, cuando se cae en esta casilla se pierde un turno.
c. El pozo está en la casilla 31, cuando se cae en esta casilla no se puede volver a jugar hasta que no pase otro jugador por esa casilla.
d. En la casilla 42 hay un laberinto, al llegar a esta casilla se está obligado a retroceder a la casilla 30.
e. La cárcel está en la casilla 56, caer en esta casilla significa quedarse dos turnos sin jugar.
f. La casilla 58 es la "casilla de la calavera" al caer en esta casilla hay que volver a la casilla 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

URGENTEEE!!!, necesito ayuda para terminar un juego de la oca... es para dentro de 4 dias

Publicado por ramon (2072 intervenciones) el 26/06/2013 13:35:38
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{ Mira coloca esta otra function debajo de la ya existente.
 
function dados2 : integer;
   begin
       randomize;
       dados2 := random(6) + 1;
   end;
 
  y esto otro aquí
 
   if dad <> #27 then
             begin
                 salio := dados;
                 salio := salio + dados2;
                 po[num] := po[num] + salio;
                 salio := 0;
 
  debajo de esto tienes implementado lo se las posiciones
  ejecuta el programa y lo veras.
  Fíjate que es tu programa retocado un poquito espero te sirva.}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

URGENTEEE!!!, necesito ayuda para terminar un juego de la oca... es para dentro de 4 dias

Publicado por Amanda (4 intervenciones) el 28/06/2013 02:37:06
GRACIAAAASSSSSS!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar