nicolasb1607 / 42-cub3d

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project cub3D - My First RayCaster with miniLibX

Introduction

The objectives of the "cub3D" project align with the goals of your first year in programming. These objectives include fostering rigor, utilizing C language, implementing basic algorithms, conducting information research, and more. As a graphic design project, "cub3D" will allow you to enhance your skills in areas such as working with windows, colors, events, and filling shapes. In essence, "cub3D" serves as an exciting playground for exploring practical applications of mathematics without needing an in-depth understanding of its intricacies. By leveraging the wealth of resources available on the internet, you will use mathematics as a tool to create elegant and efficient algorithms.

Common Instructions

Here are the common instructions that apply to this project:

  • C Language: Your project must be written in C.

  • Norm Compliance: Ensure that your project adheres to the Norm. Any bonus files/functions are included in the norm check, and norm errors will result in a grade of 0.

  • Stability: Your functions should not cause unexpected program termination (e.g., segmentation fault, bus error, double free) except for undefined behaviors. Such issues will render your project non-functional and receive a score of 0.

  • Memory Management: Properly free all heap-allocated memory space when necessary. Memory leaks will not be tolerated.

  • Makefile: If required by the subject, submit a Makefile that compiles your source files to the required output with the flags -Wall, -Wextra, and -Werror. Use the cc compiler, and ensure that your Makefile does not relink. It should contain at least the rules $(NAME), all, clean, fclean, and re.

  • Bonuses: If applicable, include a rule "bonus" in your Makefile, which adds headers, libraries, or functions forbidden in the main part of the project. Bonus evaluation is separate from the mandatory part.

  • libft Usage: If your project permits the use of your libft, copy its sources and associated Makefile into a "libft" folder. Your project's Makefile should compile the library using its Makefile and then compile the project.

  • Test Programs: While not graded, it's encouraged to create test programs for your project. These tests will help you and your peers validate the correctness of your work during defense.

  • Git Repository: Submit your work to your assigned git repository. The grading will be based on the content within the repository.

By following these instructions, you will work on developing your first RayCaster with miniLibX in the "cub3D" project.

About


Languages

Language:C 85.9%Language:Roff 9.1%Language:Makefile 4.1%Language:Shell 0.7%Language:Perl 0.3%