Photo by Aziz Acharki on Unsplash
- React Native
- Instalar el entorno de desarrollo
⚠️ utiliza la opción React Native CLI Quickstart NO utilizar Expo
- Instalar el entorno de desarrollo
- Editor de texto
- Elegir un editor para codificar, puede ser Visual Studio Code, o algúno similar.
- Agregar la extensión Prettier para mantener un estilo consistente en tu código
- Instalar ESLint para ayudarte a encontrar y arreglar problemas de tu código
- Agregar la extensión Eslint a tu editor para integrar la funcionalidad de Eslint
- Calidad de código. Para analizar la calidad de tu código necesitarás
- Instalar y configurar DeepScan para analizar tu codigo y mejorar la calidad atendiendo los resultados del análisis
- Instalar y configurar CodeClimate para analizar tu codigo y mejorar la calidad atendiendo los resultados del análisis
Addapted from Coding Dojo
The Game of Life is not your typical computer game. It is a 'cellular automaton', and was invented by Cambridge mathematician John Conway.
This game became widely known when it was mentioned in an article published by Scientific American in 1970. It consists of a collection of cells which, based on a few mathematical rules, can live, die or multiply. Depending on the initial conditions, the cells form various patterns throughout the course of the game.
This Kata is about calculating the next generation of Conway’s game of life, given any starting position.
You start with a two dimensional grid of cells, where each cell is either alive or dead. In this version of the problem, the grid is finite, and no life can exist off the edges. When calcuating the next generation of the grid, follow these rules:
- Any live cell with fewer than two live neighbours dies, as if caused by underpopulation.
- Any live cell with more than three live neighbours dies, as if by overcrowding.
- Any live cell with two or three live neighbours lives on to the next generation.
- Any dead cell with exactly three live neighbours becomes a live cell.
You should write a program that can accept a grid of cells, and will output a similar grid showing the next generation.
- The dimension of the grid of cells must be 10x10
- Make the app work on an grid of cells of an arbitrary dimension.
- Calidad
- Utilizar un estilo de código estandarizado (revisado por Eslint)
- Puntuación Good obtenida en DeepScan
- Puntuación A obtenida en CodeClimate
- Ejecución
- Puede ejecutarse en Android o iOs
- Código fuente
- Orientado a Objetos
- Métodos pequeños
- Aplicar los principios SOLID
En la carpeta img de este repositorio se encuentra el diseño propuest en formato SVG e InVision. Esta es solo una propuesta, pero eres libre de utilizar el diseño que tu quieras siempre y cuando proporcione la misma funcionalidad.
El diseño propuesto tiene:
- Una matriz de 10x10 en la parte superior en donde se muestra la evolución de las celulas
- Un botón para iniciar el juego (start)
- Un botón para avanzar a la siguiente generación o iteración de manera manual (next)
- Un botón para avanzar a las siguientes generaciones o iteraciones de manera automatica (auto)
- Un btón para detener el avance automático (stop)
- Un botón para restablecer el juego a su estado inicial (reset)
- Código fuente en Github
- Incluir en el repositorio la puntuación obtenida () en DeepScan (Se hizo una copia en otro repositorio para hacer las pruebas en deepScan)
- Incluir en el repositorio la puntuación obtenida () en CodeClimate
- Documentar en este archivo los pasos necesarios para ejecutar la App
- Los commits deben se significativos
- Cumplimiento de requerimientos funcionales
- Cumplimiento de requerimientos no funcionales
- Implementacón del diseño solicitado
- Iniciar la App
- Dar click Start para iniciar iniciar el juego y se genera una iteracion de forma aleatoria
- Se muestran dos botones para pasar a la siguiente generación
- Hacer click en Next y el juego continuará a la siguiente generación de forma manual -Hacer click en coninue para avanzar a la siguiente generación
- Hacer click en Auto y el juego continuará a las siguientes generaciones de forma automática o manual
- Si se desea detener el juego dar click en el botón Stop
- Si se desea reiniciar el juego dar click en Reset
Para apoyo de tus actividades utiliza esta lista de recursos recomendados