Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRIVADO
“TECNOTRONIC”
INFORME DE PROYECTO:
JUEGO SPACE BATTLE EN PYTHON
PRESENTADO POR:
- NUÑEZ MIRANDA HECTOR GUSTAVO
- MAMANI QUISPE ELISABETH
- LIVISE MAMANI JHON ANDERSON
-LUQUE MENDOZA SUSAN DAYSI
- CHOQUE ÑAUPA WILLIAM JOSE
SEMESTRE Y SECCIÓN: I – A
DOCENTE: ING. YEFFERSON ARCADIO AROQUIPA MAMANI
Principalmente dedicamos este trabajo a Dios puesto que nos brinda sabiduría, amor y
paciencia, nos ayuda en los momentos más difíciles brindándonos valores que nos
fortalezcan no solo como trabajo de grupo, sino como personas. A la vez también
dedicamos este trabajo al I.E.S.T.P. TECNOTRONIC por encomendarnos la labor de
realizar el presente informe que amplia nuestra capacidad intelectual, dado que el Ing.
Yefferson Arcadio Aroquipa Mamani, nos brindó su sabiduría en distintos campos del
conocimiento, ayudándonos así en varios aspectos que requerimos para el desarrollo de
nuestro informe.
AGRADECIMIENTO
El presente informe trata del juego Space Battle que fue creado usando el programa Visual
Code y Python en los cuales lo realizamos paso a paso.
OBJETIVO GENERAL
OBJETIVO ESPECIFICO
MARCO TEORICO
PYTHON
Python fue desarrollado por el investigador holandés Guido Van Rossum, quien en
aquellas épocas trabajaba en el centro de investigación CWI (Centrum Wiskunde &
Informática) de Amsterdam.
A Van Rossum le fue asignado un proyecto en el que tenía que desarrollar un sistema
operativo distribuido llamado Amoeba, las condiciones en que se encontraba el CWI, es
que tenía implementado un lenguaje de programación llamado ABC.
Guido decidió crear un nuevo lenguaje para el proyecto Amoeba, para superar las
limitaciones y problemas con los que se encontró. Una vez presentado Python, CWI
decidió liberar el intérprete del lenguaje bajo una licencia open source propia.
En tanto, para inicio del siglo XXI y coincidiendo con la publicación de la versión 1.6, se
tomó la decisión de cambiar la licencia por una que sea compatible con GPL (General
Public Licence). Esta nueva licencia se denominará Python Software Foundation Licence.
El anterior hecho implica que es posible modificar el código fuente y desarrollar código
derivado, sin la necesidad de hacerlo open source. Hasta el momento solo han sido
liberadas tres versiones principales, teniendo cada una de ellas diversas actualizaciones.
A diferencia de otros lenguajes como java o NET, se trata de un lenguaje interpretado, es
decir, que no es necesario compilarlo para ejecutar las aplicaciones escritas en Python,
sino que se ejecutan directamente por el ordenador utilizando un programa denominado
interpretador, por lo que no es necesario “traducirlo” a lenguaje de máquina.
LIBRERIAS DE PYTHON
PYGAME: Sin duda la librería más famosa de Python. Pygame lleva en desarrollo desde
el 2001 por lo que tiene una gran comunidad, publicándose en su propia página web gran
cantidad de juegos y demos con más de 1.000 proyecto registrados. Es multiplataforma a
la perfección y la librería que menos problemas da al portar entre Linux/Windows/Mac,
y es famosa por su facilidad de programación. Utiliza una librería de C llamada SDL,
librería en la que están escritos los juegos 2d más famosos en Linux como Battle for
Wesnoth, SuperTux o StepMania.
PANDA3D: Librería libre centrada en videojuegos 3D escrita para Python y C++. Es una
librería orientada a 3D, y por lo tanto no apta para iniciados. Algunos juegos de Disney
han usado esta librería.
PYMUNK: Librería especializada en crear físicas 2D, como polígonos, colisiones, etc.
Está basada en la famosa librería chipmunk, de la que podéis ver este video de
demostración.
COCOS2D: Este framework es una extensión de Pyglet que añade gran cantidad de
efectos, rotar y manipular sprites, transiciones entre escenas con estilos, etc. Combinando
Pyglet+Cocos2d se pueden realizar juegos de gran calidad.
Inport Os.
• PYGAME
• OS
Visual Studio Code es un editor de código fuente desarrollado por Microsoft para
Windows, Linux y macOS. Es un editor super rápido y liviano que se puede usar para
ver, editar, ejecutar y depurar código fuente para aplicaciones. Es utilizado
principalmente por desarrolladores Front-end. Visual Studio Code es un producto
completamente diferente en comparación con Visual Studio.
DESARROLLO DEL JUEGO
PASO 1.
Creamos una carpeta general para todo el proyecto en esta carpeta guardo el fichero de
main.py es donde vamos a desarrollar nuestro programa y otra
carpeta que se llama assets, en esta carpeta gurdo sonidos e imágenes que vamos a utilizar
en el video juego
PASO 2. En el fichero main escribimos los códigos.
2.2. Creamos dos variables WIDTH y HEIGHT que guardan la anchura y la altura de
la pantalla del jugo que son 900px y 500px.
2.2.1.1.Y le ponemos como título SPACE BATTLE (tú los puedes poner el que
quieras)
3.1.1. Y tenemos un bucle infinito. En este bucle infinito primero llamamos al reloj
3.1.2. Tenemos el bucle FOR que recorre una lista de eventos y ¿cómo recibimos
esa lista de eventos? debemos llamar a la función pygame.even.get.
main.py.
4.2.Ahora dibujamos.
4.2.1. Creamos una función que se llame “draw Windows”en la que básicamente
dibujamos todo sobre el juego tanto como el fondo de pantalla y las
imágenes de juego, las balas, entre otros.
4.2.1.1.Entonces para dibujar algo, ponemos del nombre de la variable que en
este caso se llama “WIN.BLIT” son la función con las que dibujamos.
4.2.1.2.Los parámetros que necesitamos son, la imagen que quieres dibujar y
la posición en la que quieres dibujar la imagen (esta es la parte sencilla
ya que la posición es 0,0).
Podemos ver que ya no nos aparece el mismo fondo de pantalla y esta este
fondo que es mucho mas bonito que antes.
5.2.cargamos las imágenes, las escalamos para que tengan el tamaño correspondiente
y las dibujamos.
La posición fue aleatoria, pero la puse de lado rojo (600,200) la de amarilla (200,200).
PASO 6. Ahora movemos las naves espaciales. Para ello necesitamos crear dos
rectángulos para cada nave espacial (las balas también van a ser un rectángulo)
6.1. Creamos dos rectángulos que representan dos naves espaciales (cuando movamos
las dos naves espaciales estaremos moviendo dichos rectángulos)
Una vez creado tenemos q tener la funcion DRAW dibujado de esta manera:
(esta la pantalla que hemos dibujado, el color que quiero que tenga que es negro
y por ultimo que es el rectangulo)
Ejecutamos el programa
podemos ver el borde que esta dibujado en el medio del mapa, de esta forma el mapa
queda dividido en dos y cuando hagamos los movimientos de las naves espaciales
vamos a hacerlo de tal manera que una nave espacial no puede pasarse al campo de la
otra nave espacial y viceversa.
Del AMARILLO(YELLOW)
DEL ROJO (RED):
NOTA: los signos + y – son para aumentar o quitar los px para que la nave no se
salga.
Ejecutamos el código: vemos que se mueve, tambien que no se sale ni por ariba ni por
abajo y que se puede mover en todas las direcciones
7.1.Para disparar con la nave amarilla vamos a u utilizar a tecla CTRL de la parte
izquierda del teclado y para dispar con la nave roja vamos a untilizar la tecla
CTRL de la derecha- que esta en el teclado , ademas vamos a poner que cada nave
pueda disparar 3 balas ala ves
7.1.1. Para ello creamos una variable que se llame que
guarda el numero de balas maximo, depues de crear esa variable nos
vamos a la funcion main y creamos dos listas q van hacer para las balas de
la nave espacial roja y otra para la amarilla son estos codigos:
Para la nave de color amarilla (esta las Balas, el tamaño y la ubicación para cual lado debe
disparar).
Esta es del rojo. (esta las Balas, el tamaño y la ubicación para cual lado debe disparar).
Ahora que creamos las balas solo falta moverlas y dibujarlas creamos una variable que se
llame
Después de crear esa variable creamos una Función que se llamamos:
entonces tenemos que pasarlo 2 parámetros mas ¿y cuáles son? Son las
listas que guardan las balas que son: red_bullets y yellow_bullets.
7.1.3. Ahora subimos donde esta implementada la función draw_windows
PASO 8. Ponerles vida a las naves espaciales y que la vida se muestre en pantalla.
8.1.Primero inicializar el módulo fon de pygame que nos sirve para crear textos y
después dibujarlos, para inicializarlo llamamos a la función con eso ya se
inicializa.
NOTA: Si no lo sabias en pygame se puede crear propios eventos, igual como los eventos
que pulsamos la X para cerrar la pantalla o que se pulsara alguna tecla. Pues también
podemos crear nuestros propios eventos ¿cómo? Pues con la función
pygame.USEREVENT.
8.2.1. Creamos dos eventos
8.2.1.1.Para cuando la nave amarilla fuera golpeada.
8.2.1.2. Para cuando la nave roja fuera golpeada.
8.2.2. Entonces ponemos el siguiente código en la parte de los fotogramas
Ambas vidas son 10 (si tú quieres ponerle más vida no pasa nada).
Dentro del bucle whil y dentro del for vemos los eventos que sean producido.
Ponemos los siguente: es el evento que nostros hemos creado, “es decir que esto dentro
del juego se cumple y que la nave roja asido golpada por eso le restamos 1”.
Con eso ya creamos las vidas de las naves y que se vean en pantalla.
Ahora lo ejecutamos:
vemos que esta la vida y que tambien cuando las balas chocan con las naves se bajan vida.
Pero lo que no nos dice es, quien es ganador.
8.5.ahora mostraremos quie es el ganador, para ello nos vamos al bucle while y
creamos la variable que se llama winner_tex = “” que la inicializamos vacia
comprovamos si la vida es menor que cero del siguente modo
en caso de que uno de los dos llegue a cero habra ganado la otra nave ponemos el siguente
en la parte de los movimientos creamos una nueva funcion que se llama draw_winner le
pasamos un text (que seria el texto)
PASO 9. Creamos el sonido o ponemos el sonido(pero antes que eso llamanos ala funcion
depues de inicializar el modulo aque cargar los sonidos ponemos la siguente funcion
asi esta la carpeta donde se guarda todos los sonidos que lo tengo.
• El primero es cuando una bala choque con la nave.
• El segundo es de cuando la nave dispare.
Ahora ejecutamos el programa.
SPACE BATTLE
CONCLUCIÓN
Al finalizar este proyecto y repasar los objetivos iniciales puedo afirmar que la mayor
parte de ellos se ha cumplido satisfactoriamente. De hecho, el resultado se asemeja en
gran medida a la idea concebida en un principio. El desarrollo del videojuego, en el cual
puedan jugar dos personas.
También usando esas dos librerías y diversos códigos pudimos crear el juego SPACE
BATLE, en el que dos jugadores podrán divertirse.
RECOMENDACIONES
La práctica de los videojuegos puede traer consigo muchos beneficios, la concepción
moderna del videojuego es la integración con la sociedad, por lo que se debe ver como
una herramienta más y no como una distracción.
BIBLIOGRAFIA
Módulo de Python os (cosmiclearn.com)
¿Qué es Python? | Blog Becas Santander (becas-santander.com)
https://recluit.com/historia-de-un-joven-lenguaje-de-programacion-python/#.Y4-
20HbMLIU
https://elbauldelprogramador.com/programando-videojuegos-en-python/