Giter Site home page Giter Site logo

dsite42 / cub3d Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 1.0 20.4 MB

42 project - cub3D - This project is inspired by the world-famous eponymous 90's game Wolfenstein 3D. It is about configuration file and map parsing, ray-casting principles, efficient use of the mlx library for graphics, handling keyboard and mouse events for navigation, and texture mapping for wall surfaces.

Makefile 3.16% C 85.60% Roff 10.11% Perl 0.31% Shell 0.82%
42 cub3d minilibx ray-casting

cub3d's Introduction

cub3D

This project is inspired by the world-famous eponymous 90's game Wolfenstein 3D, which was the first FPS ever.

It is based in C programming and utilizing the MiniLibX library, is a detailed exercise in creating a 3D maze using ray-casting. This technical project demands understanding of ray-casting principles, efficient use of the mlx library for graphics, handling keyboard and mouse events for navigation, and texture mapping for wall surfaces. It involves direct manipulation of images, pixel-level operations, and managing a window using mlx functions. Additionally, it requires parsing configuration, map, and texture files, integrating these aspects to achieve a functional, visually accurate 3D environment.

cub3D subject table

cub3D map example1

cub3D map example2

cub3D map example3

Subject PDF

cub3d's People

Contributors

dsite42 avatar ankinzin avatar

Watchers

 avatar

Forkers

ankinzin

cub3d's Issues

recognizing duplicate information in .cub file

The "Error Repeated Elements in Map" should also work for repeated colours eg:
F 220,100,0
C 225,30,1
C 225,30,0

And I would say also for two maps like:
1111111111111111111111111
1000000000110000000000001
1011000001110000000000001
1001000000000000000000001
111111111011000001110000000000000
000000000011000001110111111111111
11110111111111011100000010001
11110111111111011101010010001
11000000110101011100000010001
10000000000000001100000010001
00000000000000001101010010001
11000001110101011111011110E0111
11110111 1110101 101111010001
11111111 1111111 111111111111

1111111111111111111111111
1000000000110000000000001
1011000001110000000000001
1001000000000000000000001
111111111011000001110000000000000
000000000011000001110111111111111
11110111111111011100000010001
11110111111111011101010010001
11000000110101011100000010001
10000000000000001100000010001
00000000000000001101010010001
1100000111010101111101111000111
11110111 1110101 101111010001
11111111 1111111 111111111111

◦ If any misconfiguration of any kind is encountered in the file, the program
must exit properly and return "Error\n" followed by an explicit error message
of your choice.

Meaning parsing and spaces

◦ Except for the map, each type of information from an element can be separated
by one or more space(s).

How is this meaning? Should this also work?:
NO ./textures/Dsite42_800x800.xpm SO ./textures/arafa-spider.xpm
WE ./textures/brick_2.xpm
EA ./textures/stonewall000.xpm

--> not needed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.