elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Como implementar unos tetraminós en un juego de tetris en: 28 Junio 2020, 01:14
Hola quiero hacer un juego de tetris, lo que sucede es que no puedo inicializar un arreglo de matrices dentro de un objeto. Me tira el siguiente error: "In constructor 'tetramino_O::tetramino_O()':
error: assigning to array from an initializer list"

Código
  1. typedef bool posicion[3][3];
  2.  
  3.    class tetramino_O{
  4.        int color;
  5.        int pos;
  6.        posicion posiciones[1];
  7.            public:
  8.                tetramino_O(){
  9.                        posiciones = {
  10.  
  11.                         {0,0,0},
  12.                         {1,1,0},
  13.                         {1,1,0}
  14.  
  15.                    }//posiciones
  16.                }//constructor
  17.  
  18.    };
  19.  



Hola, ya lo solucioné en stackoverflow.
Solo tenía que inicializarlo en la declaración por que lo que estaba haciendo era una asignación.

Código
  1. typedef bool posicion[3][3];
  2.  
  3. class tetramino_L{
  4.    int color;
  5.    int pos;
  6.    posicion posiciones[2] = {
  7.                    {
  8.                     {0,1,0},
  9.                     {0,1,0},
  10.                     {1,1,0}
  11.                    },
  12.                    {
  13.                     {1,0,0},
  14.                     {1,1,1},
  15.                     {0,0,0}
  16.                    }
  17.                };//posiciones;
  18.        public:
  19.            tetramino_L(){}//constructor
  20.  
  21. };

MOD: No hacer doble post. Modificar el último mensaje.
2  Programación / Programación C/C++ / Generar numeros aleatorios sin que se repitan en: 17 Octubre 2019, 05:44

Así se pueden generar numeros sin repetirlos.

Explicación:

se genera un numero aleatorio en aux
se recorre el arreglo buscando un numero igual
si se encuentra se genera otro y se inicializa la variable j(la del for interior) para asegurarse de que no haya un repetido.

Recuerda que el limite de la generación no sea menor al tamaño del arreglo eso podría conllevazr a un error.

Código:

const int Max = 100, Limite = 101;
typedef int tArray[Max]


tArray array;
int aux = 0, num = -1;
 
   
 
    for(int i = 0;i<Max;i++){

int aux = 1 + rand()%(Limite - 1);

for(int j = 0;j < i;j++){

if(aux == array[j]){

aux = 1 + rand()%(Limite - 1);
j=0;
}

}

array[i]= aux;

}
Páginas: [1]
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines