Giter VIP home page Giter VIP logo

medievalgame's People

Contributors

alvarodg avatar jesusrosab avatar jsantope avatar

Forkers

jesusrosab

medievalgame's Issues

Problemas con angular y bootstrap

Hemos tenido muchos problemas ya que angular y bootstrap a priori son totalmente complementarios, pero, sin embargo, es algo muy extraño que en algunos ordenadores si funciona sin embargo en otros no, esto nos ha causado muchos dolores de cabeza, ya que hemos cambiado versiones, dependencias, librerías.... Para conseguir finalmente que a todos nos funcionara de igual manera el proyecto viéndolo igual en cualquier ordenador

Mal negocio del mercado en la base de datos

El mercado que está guardado en la base de datos tiene unos valores que causan que a partir de cierto nivel empiece a regalar recursos y no puedo modificar la base de datos en este momento. Que alguien lo cambie a:
{level: 1, name: 'market', upgradeCostWood: [1, 1, 1, 1, 1], upgradeCostGold: [1, 1, 1, 1, 1],
basePurchasePrice: [2, 2], baseSalePrices: [0.5, 0.5], levelGrowth: 0.1, purchaseMod: [1, 1], saleMod: [1, 1]}
(Por ejemplo)

Problemas con la version de angular cli

Al principio no hemos tenido ningún tipo de problema, pero llegamos a un punto en que el proyecto compilaba y funcionaba en unos ordenadores y en otros no, tras darle vueltas pudimos observar que las versiones de angular cli en cada uno era diferente entonces en alguna versión detectaba errores que en otras no, o simplemente en alguna versión pasaba por alto ciertos detalles que en otra versión no.

Esto ocurrió porque lo único que compartíamos era el código fuente y no el archivo packaje.json donde se encuentran todas las dependencias de nuestro proyecto, por lo tanto cada uno tenía su propio packaje.json con sus versiones de angular y de todos los demás módulos que dependían de la versión de angular.

Dependencias y carpeta node_modules

Angular junto a sus componentes es muy potente y puede ofrecer muchas cosas, pero el precio de una herramienta tan completa se paga con un alto nivel en dependencias y paquetes, nosotros solo compartimos el código fuente del proyecto, ya que la carpeta node modules (Carpeta donde están todos los módulos necesarios para que nuestra aplicación funcione correctamente {ej: Boostrap}) ocupada mucho espacio y decidimos no compartirla mediante nuestro repositorio GitHub.
Aparte de eso, cuando un compañero usaba una carpeta node modules de otro, el proyecto no funcionaba o daba algún tipo de error, esto parte de otro problema que hemos tenido comentado también en otro "issue" que es el de tener distintos archivos de configuración.

Por último, esta carpeta no decidimos compartirla ya que a priori no es necesaria ya que con el comando "npm i" el proyecto de angular automáticamente se encarga de instalar todas esas dependencias que tenemos registradas en el archivo packaje.json y así evitar que cuando se quiera clonar el repositorio tengamos que descargar toda esa carpeta de node_modules exponiéndonos a que de algún tipo de fallo .

Valores del mercado tipo float

Los precios de venta de madera y de carne son tipo number que pueden ser enteros o float, sin embargo no encontramos la forma de castear a entero y dejarlo en tipo float queda muy mal

Conflictos en GitHub

En concreto hemos tenido un problema muy grave, que nos costó 1 día entero poder solucionarlo ya que 2 miembros del proyecto estuvimos trabajando a la vez en los mismos archivos (Cosa que no debería de dar problemas), esto ya lo hemos hecho en numerosas ocasiones pero sin embargo una de las veces entre comandos "push”, "pull" pues resulta que se habían borrado numerosos archivos del proyecto y aun sabemos sin saber porque. Tras tratar de arreglarlo de numerosas formas, la última solución y la elegida fue borrar el proyecto entero y subirlo de nuevo gracias a una copia del proyecto que tenía hecho uno de los miembros del grupo, eso también explica un poco porque en las gráficas algún miembro tiene más de 4 millones de líneas añadidas o eliminadas.
Esta decisión acarreo otros problemas que hemos comentado aparte en otros "issues" como por ejemplo que teníamos diferentes versiones de angular cli o que trabajábamos con diferentes archivos de configuración.

Implementación de la persistencia

Cuando estábamos implementando nuestro juego, lo primero que hicimos fue crear las clases con sus respectivos atributos y los métodos que cada clase poseía pensando que no nos daría ningún tipo de problema, a la hora de implementar la persistencia (la hemos implementado con mockapi) no podíamos conectar correctamente con la base de datos, porque solo habría que guardar el modelo de la clase y no todos los métodos que habíamos añadido en esto, por lo tanto, tuvimos que refactorizar todo el código, aislando las clases de los métodos de las mismas en una interfaz aparte. Así ya tenemos un correcto funcionamiento de los métodos get y update de nuestro juego con la base de datos de mockapi.

Problemas con la compatibilidad de angular y html/css

Entre otras cosas me había dedicado a ir arreglando html y css, en una primera versión de nuestro juego, todas las imágenes iban dentro del html referenciadas dentro del routerlink de angular y no había ningún problema todo funcionaba genial hasta que el proyecto empezó a dar fallos y tuvimos que actualizar la versión de angular cli, que es la herramienta que hemos usado para compilar y lanzar nuestro proyecto angular, tras esta actualización de angular cli las imágenes no se veían, entonces yo no podía explicarme como era esto posible que las imágenes si se veían antes y ahora sin haber realizado cambios las imágenes no se vieran, tras muchas vueltas al código, muchas pruebas y muchas horas dedicadas, me di cuenta y no se porque, la nueva versión de angular hay algunas instrucciones de html que no funcionan como era la etiqueta , a parte de esta algunas otras etiquetas también hemos encontrado problemas, pero la que más quebraderos de cabeza nos dio fue este fallo en concreto.
La solución que encontramos fue la de referencias todas las imágenes a

poniendo en cada uno un identificador o una clase, y en dicho identificador su código css tenía un "background-img" con la imagen, de esta forma sí que funcionaba y de la otra no, inexplicablemente es asi, otro de los problemas al hacer este cambio es que no se adaptaba a los pixeles del div, por lo tanto hemos tenido que recortar todas las imágenes hasta el tamaño exacto del div, cuando sin embargo con html automáticamente te lo escalaba a el tamaño del div sin necesidad de recortar o agrandar la imagen.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.