Update README day 10
Signed-off-by: Manuel Vergara <manuel@vergaracarmona.es>
@ -1,5 +1,18 @@
|
|||||||
# Día 10 - Programa el juego "Invasión espacial
|
# Día 10 - Programa el juego "Invasión espacial
|
||||||
|
|
||||||
|
Biblioteca pygame https://pypi.org/project/pygame/
|
||||||
|
```python
|
||||||
|
pip install pygame
|
||||||
|
```
|
||||||
|
|
||||||
|
Para descargar iconos: https://www.flaticon.com/
|
||||||
|
|
||||||
|
Rueda RGB: https://www.colorspire.com/rgb-color-wheel/
|
||||||
|
|
||||||
|
Debemos tener en cuenta el ancho y alto de la pantalla creada, respecto el eje x e y, para ubicar objectos en ella.
|
||||||
|
|
||||||
|
![](../img/dia10_01.png)
|
||||||
|
|
||||||
## Índice
|
## Índice
|
||||||
- [Día 10 - Programa el juego "Invasión espacial](#día-10---programa-el-juego-invasión-espacial)
|
- [Día 10 - Programa el juego "Invasión espacial](#día-10---programa-el-juego-invasión-espacial)
|
||||||
- [Índice](#índice)
|
- [Índice](#índice)
|
||||||
@ -9,8 +22,77 @@
|
|||||||
|
|
||||||
## 10.1. - Distancia entre dos puntos
|
## 10.1. - Distancia entre dos puntos
|
||||||
|
|
||||||
|
La fórmula de la distancia es una expresión algebraica utilizada para determinar la distancia entre dos puntos de coordenadas (x1 , y1 ) y (x2 , y2 ).
|
||||||
|
|
||||||
|
![](../img/dia10_02.png)
|
||||||
|
|
||||||
|
Ejemplo de la fórmula:
|
||||||
|
|
||||||
|
![](../img/dia10_03.png)
|
||||||
|
|
||||||
|
D = sqrt[(3 - -1)2 + (4 - 1)2 ]
|
||||||
|
|
||||||
|
D = sqrt[(4 )2 + (3)2 ]
|
||||||
|
|
||||||
|
D = sqrt[16+ 9 ]
|
||||||
|
|
||||||
|
D = sqrt[25 ]
|
||||||
|
|
||||||
|
D = 5
|
||||||
|
|
||||||
|
Esto nos sirve para ajustar las colisiones en el juego, de la bala con el enemigo o del enemigo con el jugador.
|
||||||
|
|
||||||
## 10.2. - Convertir el Juego en un Archivo Ejecutable (.exe)
|
## 10.2. - Convertir el Juego en un Archivo Ejecutable (.exe)
|
||||||
|
|
||||||
|
Este es un manual paso a paso para transformar cualquier programa de Python en un programa independiente, para poderlo ejecutar fuera del IDE.
|
||||||
|
|
||||||
|
Básicamente el proceso consta de 2 grandes pasos:
|
||||||
|
1. Convertir las fuentes de tipo Sting a objetos Bytes
|
||||||
|
2. Utilizar pyinstaller
|
||||||
|
|
||||||
|
Vamos por partes:
|
||||||
|
1. Convertir las fuentes de tipo Sting a objetos Bytes
|
||||||
|
1. Descarga la o las fuentes empleadas en el juego, en este caso FreeSansBold.ttf (https://www.download-free-fonts.com/details/2045/free-sans-bold). Luego guárdala en la carpeta donde se encuentra Invasión_Espacial.py como se muestra en la imagen siguiente:
|
||||||
|
|
||||||
|
![](../img/dia10_04.png)
|
||||||
|
|
||||||
|
2. Crea una función que transforme el nombre de la fuente (“FreeSansBold.ttf”) de string a objeto Bytes. Para eso importamos la librería io, y pasamos como parámetro el nombre de la fuente al almacenar la función en una variable.
|
||||||
|
|
||||||
|
![](../img/dia10_05.png)
|
||||||
|
|
||||||
|
3. Almacena la función en una variable que luego se pasará como objeto Bytes a pygame.font.Font.
|
||||||
|
|
||||||
|
![](../img/dia10_06.png)
|
||||||
|
|
||||||
|
2. Utilizar pyinstaller
|
||||||
|
1. Instala pyinstaller usando:
|
||||||
|
pip installer pyinstaller
|
||||||
|
2. Abre CMD en la carpeta donde se encuentra el archivo Invasión_Espacial.py
|
||||||
|
|
||||||
|
![](../img/dia10_07.png)
|
||||||
|
|
||||||
|
3. Escribe el siguiente comando:
|
||||||
|
```shell
|
||||||
|
pyinstaller --clean --onefile --windowed Invasión_Espacial.py
|
||||||
|
```
|
||||||
|
|
||||||
|
Donde cada expresión significa lo siguiente:
|
||||||
|
|
||||||
|
- `--clean`: elimina todos los archivos temporales y directorios creados por pyinstaller durante la construcción del archivo ejecutable.
|
||||||
|
- `--onefile`: crea un archivo ejecutable que contiene todos los archivos necesarios para ejecutar el script, incluyendo los módulos y bibliotecas utilizadas por el script.
|
||||||
|
- `--windowed`: crea un archivo ejecutable que se ejecuta en una ventana en lugar de en pantalla completa.
|
||||||
|
- `Invasión_Espacial.py`: es el nombre del script Python que se va a convertir en un archivo ejecutable.
|
||||||
|
|
||||||
|
4. Luego de unos segundos se terminará de correr el comando y la consola mostrará el siguiente mensaje:
|
||||||
|
|
||||||
|
![](../img/dia10_08.png)
|
||||||
|
|
||||||
|
Se van a generar dos carpetas, una llamada built y otra llamada dist. En esta última se deberán copiar todos los archivos que son referencias para que el juego funcione:
|
||||||
|
|
||||||
|
![](../img/dia10_09.png)
|
||||||
|
|
||||||
|
¡Y eso es todo! ¡Espero que te sea de gran ayuda para que peudas compartir tus programas con el mundo!
|
||||||
|
|
||||||
## Ficheros y documentación
|
## Ficheros y documentación
|
||||||
|
|
||||||
- [fonts](fonts)
|
- [fonts](fonts)
|
||||||
|
BIN
python-total/img/dia10_01.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
python-total/img/dia10_02.png
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
python-total/img/dia10_03.png
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
python-total/img/dia10_04.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
python-total/img/dia10_05.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
python-total/img/dia10_06.png
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
python-total/img/dia10_07.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
python-total/img/dia10_08.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
python-total/img/dia10_09.png
Normal file
After Width: | Height: | Size: 75 KiB |