/cub3d

Este proyecto está inspirado en el mundialmente famoso juego Wolfenstein 3D, que fue el primer FPS de la historia. Al utilizar la biblioteca MLX42 y nuestro algoritmo de raycasting.

Primary LanguageCOtherNOASSERTION

header cub3d


AboutHow to useMandatoryNorminetteLicense

ABOUT

Este proyecto está inspirado en el mundialmente famoso juego Wolfenstein 3D, que Fue el primer FPS de la historia. Le permitirá explorar la emisión de rayos. Tu objetivo será Crea una vista dinámica dentro de un laberinto, en el que tendrás que encontrar tu camino.

Click aquí para ver el PDF del proyecto.

Click aquí para ver un documento guía del proyecto.

HOW TO USE

Dependencies

Antes de ejecutar el programa, asegúrese de tener instaladas las bibliotecas necesarias:

MacOS

brew update && brew install glfw

si eres estudiate de 42 y no tienes homebrew instalado, ejecuta el siguiente comando para descargarlo como usuario

curl -fsSL https://rawgit.com/kube/42homebrew/master/install.sh | zsh

Linux

sudo apt update && sudo apt install build-essential libx11-dev libglfw3-dev libglfw3 xorg-dev

Compile

Copia y pega este codigo para descargar y copilar el proyecto.

git clone https://github.com/zafraedu/cub3d.git && cd cub3d && make

Makefile rules

  • make - Compila los archivos y genera el ejecutable cub3D;
  • make clean - Eliminas todos los objetos (*.o) generados al compilar;
  • make fclean - Elimina todos los objetos más el ejecutable;
  • make re - usa make fclean + make;

Usage

Al ejecutarlo, especificamos como parámetro el mapa del juego en la carpeta assets/maps/ con la extención .cub

Ejemplo:

./cub3D assets/maps/map.cub

Mandatory

Nombre del programa cub3D
Archivos a entregar Makefile, *.h, *.c
Argumentos un mapa en el formato *.cub
Makefile NAME, all, clean, fclean, re
Elementos autorizados
  • open(), close(), read(), write(), printf(), malloc(), free(), perror(), strerror(), exit()
  • todas las funciones de la libreria math
  • todas las fuciones de la libreria MinilibX
¿Libft permitido? Si
Descripción Debes crear un gráfico 3D “realista” representación del interior de un laberinto desde un perspectiva en primera persona. Tienes que crear esto. representación utilizando los principios de Ray-Casting

Norme

En 42 School, se espera que casi todos los proyectos se escriban de acuerdo con la Norma, que es el estándar de codificación de la escuela.

- No for, do...while, switch, case, goto, ternary operators and variable-length arrays are allowed
- - Each function must be a maximum of 25 lines, not counting the function's curly brackets
- - Each line must be at most 80 columns wide, comments included
- - A function can take 4 named parameters maximum
- - No assigns and declarations in the same line (unless static)
- - You can't declare more than 5 variables per function
- - ...

42 NORMA información sobre las normas de código de 42. PDF

License

Este trabajo se publica bajo los términos de 42 Unlicense.