Git Product home page Git Product logo

so_long's Introduction

so_long

Small 2D Game from 42Seoul Assignment.

Imitation of a classic profile-view game, Super Mario Bros. (Nintendo, 1985)

About this project

Screenshot 2023-11-03 at 14 46 48

This game is imitation of the game Super Mario Bros. (1985)

Movement of Goomba and Mario are implemented.

You can collect coins with your character, Mario by using WASD keys.

Getting Started

Environment

Compatible with M1(ARM) Macs and Intel Macs.

Installation

  1. Clone this repo.
git clone https://github.com/inticoy/so_long.git
  1. Compile so_long with Makefile
make all

Usage

Execution

You need a valid map path for play.

./so_long [map path]

Sample valid maps are in maps/valid/.

./so_long maps/valid/1.ber

Valid map

There are six conditions for valid map below.

You can make your own map that follows these conditions.

  • The map must be rectangular.
  • The map must be closed/surrounded by walls.
  • The map must have only five characters, 0(Space), 1(Wall), P(layer), C(ollectibles, and E(xit).
  • The map must have only one P(layer) and E(xit).
  • The map must have at least one C(ollectibles).
  • You have to check if there's a valid path in the map.

Game play

You are a player Mario. Collect every coins and reach to princess Peach.

Please be carefull, a enemy Goomba is moving around princess Peach.

You can jump and smash the enemy Goomba, but if you meet with Goomba at Goomba's eye level, game will be over.

Instructions

jump - W, S, left - a, right - d, retry - r, quit the game - esc

Please Enjoy!

so_long's People

Contributors

inticoy avatar

Watchers

 avatar

so_long's Issues

Movement requirements

  • The W, A, S, and D keys must be used to move the main character.
  • The player should be able to move in these 4 directions: up, down, left, right.

map validation

  • The map must be rectangular
  • The map must be closed/surrounded by walls
  • You have to check if there's a valid path in the map
  • You must be able to parse any kind of map, as long as it respects the above rules.
  • If any misconfiguration of any kind is encountered in the file, the program must exit in a clean way, and return "Error\n" followed by an explicit message of your choice.

Way to unite block image index and character

Required Blocks

  1. Sky
  2. Ground
  3. Stair
  4. Wall
  5. Item 0 (not collected)
  6. Item 1 (not collected)
  7. Item 2 (not collected)
  8. Item 3 (collected)
  9. Door (Exit)

Current Characters

  • '0' for sky
  • '1' for blocks
  • 'E' for exit
  • 'C' for collectibles
  • 'P' for player

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.