Skip to content

fluffy-willa-42-team/cube3d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cube3d

How does it work ?

The math behind the projet

The map format description

Why does the code look weird ?

norminette

The 42 curriculum asks us to code according to the Norme, this standard forbids us certain control structures (like do while, for, ...), a limit of 25 lines, 5 variables per function, 5 function max per .c and other constraints.

This project has been coded according to the NormeV3 standard.

NormeV3 PDF used in this projetc

Norme repo

Requirements

Clone with submodule

git clone --recurse-submodules git@github.com:fluffy-willa-42-team/cube3d.git

or if you have Oh-My-Zsh

gcl git@github.com:fluffy-willa-42-team/cube3d.git

You need to install some lib before compile

MacOS

First install Brew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

For the 42 mac

rm -rf $HOME/.brew && git clone --depth=1 https://github.com/Homebrew/brew $HOME/.brew && echo 'export PATH=$HOME/.brew/bin:$PATH' >> $HOME/.zshrc && source $HOME/.zshrc && brew update

Install glfw lib

brew install glfw 

Debian/Ubuntu

Install lib dependencies

 apt install build-essential libx11-dev libglfw3-dev libglfw3 xorg-dev libxext-dev zlib1g-dev libbsd-dev

Compile

To compile

make

Compile and run

make exe

Compile with fsanitize=address

make SANI=1

Compile with fsanitize=address and execute a test unit

make test

Execute test unit

make run_test


This work is published under the terms of 42 Unlicense.