Surfi89 / so_long

42cursus' so_long project. Begin date 18/apr/2022. Finish date 07/may/2021. About 64h of total work.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🎮 so_long

And thanks for all the fish!

GitHub code size in bytes Number of lines of code Code language count GitHub top language GitHub last commit

About · Usage · Testing


💡 About the project

This project is a very small 2D game. Its purpose is to make you work with textures, sprites, and some other very basic gameplay elements.

It’s time for you to create a basic computer graphics project!
so long will help you improve your skills in the following areas:
window management, event handling, colors, textures, and so forth.
You are going to use the school graphical library: the MiniLibX!
This library was developed internally and includes basic necessary tools to open
a window, create images and deal with keyboard and mouse events.
The other goals are similar to every other goal for this first year:
being rigorous, level up in C programming, use basic algorithms, do some
information research, and so forth. 

For more detailed information, look at the subject of this project.

🛠️ Usage

Requirements

The function is written in C language and thus needs the gcc compiler and some standard C libraries to run.

Instructions

1. Compiling

To compile, go to the project path and run:

$ make

or

$ make bonus

If you want the player sprite to be animated and have enemies in the map.

📋 How to play

To play the minigame just need to launch it with the following shell command:

$ ./so_long <map_name>.ber

or

$ ./so_long_bonus <map_name>.ber

I added some maps if you want to test the game.

  • "map1.ber" is a very simple map.
  • "map2.ber" is a bigger map with more collectibles.
  • "map3.ber" has some enemies for playing with the bonus minigame.

Controls

You can use WASD to move UP, LEFT, DOWN or RIGHT respectively. To quit the game press ESC or click on the red cross of window. If you touch an enemy you loose the game. To win its necessary to pick up all collectibles and get back to the exit.

Maps

You can use any map of your choice as long as you follow the next rules:

  • The file extension must be .ber.
  • Its must be rectangular, and the whole map limits must be a 1.
  • It can only have one exit, one player and at least one collectible.
  • Characters allowed:
Character Object
1 Obstacle
0 Empty
C collectible
E exit
P Player starting position
K Enemy position

I added some maps if you want to test the game.

  • "map1.ber" is a very simple map.
  • "map2.ber" is a bigger map with more collectibles.
  • "map3.ber" has some enemies for playing with the bonus minigame.

Example of map2.ber with an enemy:

so_long_42

About

42cursus' so_long project. Begin date 18/apr/2022. Finish date 07/may/2021. About 64h of total work.


Languages

Language:C 79.4%Language:Objective-C 16.5%Language:Makefile 4.1%