GithubHelp home page GithubHelp logo

lemmings's Introduction

Lemmings

Implementation d'une mini-copie du jeu Lemmings en Haskell en mettant en avant les concepts de la programmation fonctionnelle vu en cours dans le cadre de l'ue Programmation avancée en Fonctionnelle (PAF) vu en Master 1 informatique - Science et Technologie du Logiciel à Sorbonne Université.

Installation

Pour pouvoir l'executer il faut avoir préalabement installé Stack et la bibliothèque SDL.

Puis exécutez les commandes :

$ cd lemmings
$ stack update
$ stack build
$ stack run lib/XXXXX.txt

Où XXXXX.txt correspond à un fichier text de niveau.

(Si la commande stack update n'est pas executée, l'interface risque de ne pas s'afficher.)

Paramètres du jeu

Dans le fichier src/etat.hs, vous trouverez les trois fonctions qui permettent de modifier les paramètres du jeu :

hauteurMax :: Int
hauteurMax = 8          -- Hauteur chute maximale auquelle un Lemming peut survivre

poseMax :: Int
poseMax = 4             -- Nombre de cases dans l'inventaire du Lemming boucheur

nbLemmings :: Int
nbLemmings = 6          -- Nombre initial de Lemmings dans le niveau

Comment jouer

Pour modifier le comportement d'un lemming, faites un click de souris dessus et appuyez sur une des touches :

  • w : le lemming devient un Demineur, dès qu'il passe sur une mine, il la désactive et redevient Marcheur
  • x : le lemming devient un Exploseur, il explose en détruisant toutes les cases en terre qui l'entourent et tue les lemmings qui sont à côté de lui.
  • c : le lemming devient un Creuseur, si la case du bas à côté de lui est en terre il la détruit.
  • v : le lemming devient un Bloqueur, il empêche les autres lemmings de passer pendant 8 tours de jeu.
  • b : le lemming devient un Constructeur, si la case à côté de lui est vide, il pose un bloque en terre.
  • n : le lemming devient un Boucheur, il bouche tout les vides sur lesquels il passe jusqu'à vider son inventaire (pour changer la taille de son inventaire, changer la valeur de retour de poseMax).
  • Esc : pour quitter le jeu.

Compte rendu du projet

Vous trouverez le rapport du projet dans le dossier ./Rapport accessible ici.

lemmings's People

Contributors

sofianebelk 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.