Skip to content

ealgar-c/SoLong

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

So Long

And thanks for all the fish!


📜 PROYECT DESCRIPTION 📜

El proyecto So_Long consiste en la creación un programa en C que sea capaz de cargar mapas aleatorios de un archivo y permita al jugador moverse por el mapa. El objetivo principal es familiarizarte con la manipulación de archivos, el manejo de memoria y la programación en C.

🌲 PROYECT TREE 🌲

.
├── Makefile
├── README.md
├── include/
│   └── solong.h
├── libft/
├── maps/
│   ├── errors/
│   │   ├── map_barriertest.ber
│   │   ├── map_counttest.ber
│   │   ├── map_pathtest.ber
│   │   └── map_shapetest.ber
│   ├── map1.ber
│   ├── map2.ber
│   └── map_medium.ber
├── mlx/
├── objs/
├── sprites/
│   ├── coin.png
│   ├── coin.xpm
│   ├── door.png
│   ├── door.xpm
│   ├── floor.png
│   ├── floor.xpm
│   ├── isaac.png
│   ├── isaac.xpm
│   ├── wall.png
│   └── wall.xpm
└── src/
    ├── check_walls.c
    ├── ingame.c
    ├── main.c
    ├── mapcheck.c
    ├── mapcreation.c
    ├── pathcheck.c
    ├── playermovement.c
    └── windowconfig.c

🚶🏻‍♂️ PROYECT ROADMAP 🚶

🗺 MAP HANDLING

  • Take the map and create a vector of it
  • Check the map shape
  • Check if it's a good map
  • Check if there is at least one path
  • Check if the player is not trapped

🖼 IMAGES CREATION AND SHOWING

  • Choose a theme
  • Search the images and convert them to xpm with the right size
  • Take each xpm file and convert them to images that mlx can show on a window

🤡 MINILIBX MANAGEMENT

  • Create the game window
  • Establish the right configuration for the window
  • Show images in the game window
  • Implement key_hook cases for player movement and closing the window

🕹 IN-GAME EVENTS

  • Implement logic for player movement within the map
  • Allow the player to collect objects placed on the map
  • Keep track of the number of collected objects
  • Keep track of the number of movements

🥬 EXTRA THINGS TO CONSIDER

  • Ensure proper memory deallocation
  • Check that everyting passes norminette
  • Create the Makefile and make sure it doesnt relink

⚙️ PROYECT GENERAL PROCEDURE ⚙️