L603 / SpaceClones

Un clon de Space Invaders
GNU General Public License v3.0
0 stars 0 forks source link

Cosas por hacer #2

Open otreblan opened 4 years ago

otreblan commented 4 years ago
Maniac95867 commented 4 years ago

Me gusta este formato de lista de tareas. Buena idea. +1000

Maniac95867 commented 4 years ago

como dibujaria un cuadrado con la biblioteca sfml? ya lo he intendado cuando quiero crear escudos pero no puedo

Maniac95867 commented 4 years ago

intento crear escudos pero no me deja Ya le puse vida y utilice parte del codigo de la clase alien

otreblan commented 4 years ago

intento crear escudos pero no me deja Ya le puse vida y utilice parte del codigo de la clase alien

¿Cuál es el error o qué no funciona?

Maniac95867 commented 4 years ago

no aparecen mis escudos

Maniac95867 commented 4 years ago

les puse un monton de vida, por lo tanto no deberian de desaparecer tan rapido

otreblan commented 4 years ago

no aparecen mis escudos

Implementaste spawn() pero no lo llamas 5bda847

Maniac95867 commented 4 years ago

hice mi primer escudo :3

otreblan commented 4 years ago

no aparecen mis escudos

Lo arreglé en f5e9fba

Maniac95867 commented 4 years ago

Estoy arregando los escudos, ya me sale una linea de escudos

Maniac95867 commented 4 years ago

para que sirve los assets? por q algunas palabras estan en morado? Como va esta parte del codigo?

void Scene::physicsUpdate() { // Esto es O(n^2) // Hay mucho que mejorar for(auto ii = collisionMatrix.begin(); ii != collisionMatrix.end(); ii++) { auto row = ii->second; RigidBody::faction factionA = ii->first;

    for(auto jj = row.begin(); jj != row.end(); jj++)
    {
        RigidBody::faction factionB = jj->first;
        if(jj->second && rigidBodies.size() > 0)
        {
            auto rigidA = rigidBodies.find(factionA);
            auto rigidB = rigidBodies.find(factionB);

            // Si alguno de los vectores de rigidbodies está vacío
            if(rigidA == rigidBodies.end() || rigidB == rigidBodies.end())
            {
                continue;
            }
            auto rigidVectorA = rigidA->second;
            auto rigidVectorB = rigidB->second;

            for(const auto kk: rigidVectorA)
            {
                for(const auto ll: rigidVectorB)
                {
                    kk.lock()->checkCollision(ll);
                }
            }
        }
    }
}

}

Maniac95867 commented 4 years ago

std y sf son clases o bibliotecas? cuando pertenece algo a una clase se pone clase::objeto? o cuando es un constructor::metodo?

Maniac95867 commented 4 years ago

por q no pusiste using namespace std y using namespace sf? xd

otreblan commented 4 years ago

para que sirve los assets? por q algunas palabras estan en morado? Como va esta parte del codigo?

void Scene::physicsUpdate() { // Esto es O(n^2) // Hay mucho que mejorar for(auto ii = collisionMatrix.begin(); ii != collisionMatrix.end(); ii++) { auto row = ii->second; RigidBody::faction factionA = ii->first;

  for(auto jj = row.begin(); jj != row.end(); jj++)
  {
      RigidBody::faction factionB = jj->first;
      if(jj->second && rigidBodies.size() > 0)
      {
          auto rigidA = rigidBodies.find(factionA);
          auto rigidB = rigidBodies.find(factionB);

          // Si alguno de los vectores de rigidbodies está vacío
          if(rigidA == rigidBodies.end() || rigidB == rigidBodies.end())
          {
              continue;
          }
          auto rigidVectorA = rigidA->second;
          auto rigidVectorB = rigidB->second;

          for(const auto kk: rigidVectorA)
          {
              for(const auto ll: rigidVectorB)
              {
                  kk.lock()->checkCollision(ll);
              }
          }
      }
  }
}

}

Eso se encarga de detectar las colisiones

otreblan commented 4 years ago

std y sf son clases o bibliotecas? cuando pertenece algo a una clase se pone clase::objeto? o cuando es un constructor::metodo?

Son namespaces

Maniac95867 commented 4 years ago

me lo podrias explicar plox?

Maniac95867 commented 4 years ago

coalitionmatrix q es? por que tiene un begin y un end?

otreblan commented 4 years ago

coalitionmatrix q es? por que tiene un begin y un end?

Una matriz para indicar que colisiona con que. Y el begin() y el end() son iteradores.

Maniac95867 commented 4 years ago

como funciona esto? std::unordered_map<RigidBody::faction, std::unordered_map<RigidBody::faction, bool>> collisionMatrix;

Maniac95867 commented 4 years ago

es una matriz pero la estas haciendo con mapas desordenados? cual es la diferencia entre usar vectores y usar esto?

Maniac95867 commented 4 years ago

como aparece el marcador en pantalla?

Maniac95867 commented 4 years ago

esto como va? sf::RenderWindow& Scene::getWindow()

otreblan commented 4 years ago

como funciona esto? std::unordered_map<RigidBody::faction, std::unordered_map<RigidBody::faction, bool>> collisionMatrix;

Un mapa con una facción como llave que retorna otro mapa con facción como llave que retorna un booleano como contenido

Maniac95867 commented 4 years ago

render window es de la biblioteca sf y esta funcion la esta trabajando por refencia a el constructor Scene la cual tiene la funcion getWindow()?

otreblan commented 4 years ago

es una matriz pero la estas haciendo con mapas desordenados? cual es la diferencia entre usar vectores y usar esto?

Tiene llaves

otreblan commented 4 years ago

como aparece el marcador en pantalla?

Eso está en la clase puntaje

Maniac95867 commented 4 years ago

es importante que tengan llaves? por q?

otreblan commented 4 years ago

esto como va? sf::RenderWindow& Scene::getWindow()

Retorna una referencia a la ventana de la escena

Maniac95867 commented 4 years ago

q refencia? de quien? por q habria que retornar una referencia?

otreblan commented 4 years ago

es importante que tengan llaves? por q?

El booleano es verdadero si ambas facciones pueden colisionarse y falso si no. Las facciones son miembros de una enumeración y las uso como llaves

otreblan commented 4 years ago

q refencia? de quien? por q habria que retornar una referencia?

Para pintar a la ventana y no a una copia

Maniac95867 commented 4 years ago

osea tu usas la refencia para directamente actualizar la ventana? y sin refencia pintarias la ventana en una copia de la ventana?

Maniac95867 commented 4 years ago

actualize el proyecto, le puse mas comentarios

otreblan commented 4 years ago

osea tu usas la refencia para directamente actualizar la ventana? y sin refencia pintarias la ventana en una copia de la ventana?

yes

Maniac95867 commented 4 years ago

aea +1000 por q no pusite desde un inicio using namespace?