Git Product home page Git Product logo

so_long's Introduction

so_long

Final Grade: 120/ 100%

And thanks for all the fish!

GitHub code size in bytes GitHub top language GitHub last commit

1. About
2. Requirements
3. Installation
4. Running
5. Controls
6. Game Rules

๐Ÿ’ก About

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. :)

You must create a basic 2D game in which a dolphin escapes Earth after eating some
fish. Instead of a dolphin, fish, and the Earth, you can use any character, any 
collectible and any place you want.

I took HEAVY inspiration from Pokemon games that I played as a kid. All sprites were downloaded from Spriters Resource and edited/scaled to meet my requirements.

Games used:

  • Pokemon Fire Red/Leaf Green
  • Pokemon Emerald
  • Pokemon Diamond/Pearl
  • Pokemon HeartGold/SoulSilver

โœ”๏ธ Requirements

  • Linux
  • gcc
  • make
  • MinilibX and it's requirements

๐Ÿ› ๏ธ Installation

Cloning the repository

git clone [email protected]:WudDoo/so_long.git

Compiling

To compile, run make at the root of the so_long directory.


๐Ÿ–ฅ๏ธ Running

Run the executable file followed by a valid map file. I added some basic map files but you can Example:

$ ./so_long maps/map1.ber

Using your own map files

You can run the game with a custom map file as long as it follows the Game Rules.


๐ŸŽฎ Controls

Arrow keys - Movement

Esc key - Closing the program


๐Ÿ“ Game Rules

The executable so_long will receive a map as the only argument, and this map must have a .ber filetype.

The file also must follow these rules:

  • The only accepted characters are:

    • P (player)
    • 1 (wall)
    • 0 (empty)
    • C (collectible)
    • E (exit)
  • The map must be rectangular, i.e. all rows must have the same length

  • There must be only one exit and one player, and at least one collectible in the map

  • The map must be surrounded by walls

  • There must be a valid path the player can take from the starting position, to the exit, collecting all colletibles.


If any of these checks fail, the game will end with Error\n followed by a custom message.

The goal is for the player to collect all the collectibles on the map before going to an exit in the least possible number of moves.

so_long's People

Contributors

mortinso avatar

Watchers

 avatar

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.