GithubHelp home page GithubHelp logo

treasure-map's Introduction

Treasure-map

Description du projet

Ce projet vise à simuler une chasse au trésor.
Avec une carte contenant des montagnes et des trésors, les aventuriers doivent se déplacer et récupérer des trésors.
Chaque aventurier possède une suite prédéfinie d'actions à réaliser.
Notons que :

  • 2 aventuriers ne peuvent pas se trouver au même endroit
  • Un aventurier ne peut pas se déplacer sur une montagne
  • Un aventurier ne peut pas récupérer tous les trésors présent à sa position, il n'en récupère qu'un seul. Il doit donc repasser sur la case pour récupérer un autre trésor.

Lancement du projet

Avec Intellij IDEA, ouvrir le projet et lancer le main de la classe Main.java

Avec le terminal, se placer à la racine du projet et lancer la commande suivante :

  • mvn package
  • java -jar target/treasure-map-1.0-SNAPSHOT.jar src/main/resources/map.txt (adapter le chemin du fichier map.txt si necessaire)

Données du projet

Carte

La carte contient des plaines, des montagnes et des trésors.

On définit ses dimensions comme suit : C - 3 - 4 => 3 cases de largeur et 4 cases de hauteur On numérote les cases de la carte de la manière suivante : Ouest -> Est Nord -> Sud Tout en commencant à 0

Les montagnes sont définies comme suit : M - 1 - 1 => montagne située à la case (1,1)

Les trésors sont définis comme suit : T - 0 - 3 - 2 => trésor situé à la case (0,3) et contenant 2 trésors

Aventurier

Un aventurier est caractérisé par :

  • son nom
  • sa position
  • son orientation

Initialement, chaque aventurier possède une liste d'actions qu'il executera par la suite. Les actions possibles sont les suivantes :

  • A : avancer
  • D : tourner à droite (rotation et non déplacement)
  • G : tourner à gauche (rotation et non déplacement)

On notera qu'un aventurier ne peut se déplacer sur les montagnes, ni sur une case étant déjà occupée par un autre aventurier.

Un aventurier est défini comme suit :

  • A - Lara - 1 - 1 - S - AADADAGGA => aventurier nommé Lara, situé à la case (1,1) et orienté vers le Sud. Il possède la liste d'actions suivante : AADADAGGA

Exemple d'une chasse au trésor

Début de la chasse au trésor:

. M .
. A .
. . .
T(2) T(3) .

=> en version fichier C - 3 - 4
M - 1 - 0
M - 2 - 1
T - 0 - 3 - 2
T - 1 - 3 - 3
A - Lara - 1 - 1 - S - AADADAGGA

Fin de la chasse au trésor:

. M .
. . .
. . .
A T(2) .

=> en version fichier C - 3 - 4
M - 1 - 0
M - 2 - 1
T - 1 - 3 - 2
A - Lara - 0 - 3 - S - 3

treasure-map's People

Contributors

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