ealgar-c / SoLong

And thanks for all the fish!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 βš™οΈ

About

And thanks for all the fish!


Languages

Language:C 78.9%Language:Objective-C 19.8%Language:Makefile 1.3%