PG110 : Projet Bombeirbman



Documents pareils
Le langage C. Séance n 4

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Manuel utilisateur. Version 1.6b

LOGICIEL KIPICAM : Manuel d installation et d utilisation

Guide de l utilisateur Mikogo Version Windows

TUTORIEL Qualit Eval. Introduction :

GeoGebra & Microsoft Office 631

USTL - Licence ST-A 1ère année Codage de l information TP 1 :

PARAMETRAGE ET UTILISATION DE L OUTIL DE COLLECTE AUTOMATIQUE

Manuel d utilisation du logiciel Signexpert Paraph

Guide informatique AUDIT EVALUATION DE LA PRATIQUE DE L ANTIBIOPROPHYLAXIE EN MATERNITE

Introduction à Eclipse

Publication dans le Back Office

Sommaire : Pourquoi créer un site web? Qu est-ce qu un site Web? Les différents types de sites. Quelles solutions peuvent être employées?

Guide d utilisation IPAB-ASSOCIATION v5.0 GUIDE D UTILISATION. à destination des associations et organismes sans but lucratif.

SOMMAIRE ÉTAPES OBLIGATOIRES. Récupérer le connecteur... 3

sommaire ÉTAPES OBLIGATOIRES Récupérer le connecteur... 3

PROCÉDURE D AIDE AU PARAMÉTRAGE

Procédure d'utilisation de Password Gorilla

Chap17 - CORRECTİON DES EXERCİCES

Guide d installation du logiciel Proteus V.8 Sous Windows Vista, 7, 8

Assistant d e tablissement de Tableaux

Rappels Entrées -Sorties

Poker. A rendre pour le 25 avril

Chapitre 4 : Guide de Mouvement et Masque

Formation. Module WEB 4.1. Support de cours

MANUEL DE L UTILISATEUR

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation

Rapports d activités et financiers par Internet. Manuel Utilisateur

Reporting et Décisions 100

Direction générale statistique et information économique. Manuel d usage : l application web pour l enquête sur la structure des entreprises

«BONUS MALUS» (exercice exploitant les changements de registre) (D après Académie de Strasbourg)

POKER ET PROBABILITÉ

CREER ET ANIMER SON ESPACE DE TRAVAIL COLLABORATIF

La comptabilité de gestion : Fiche pourquoi?

Leçon N 4 Sauvegarde et restauration

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1

Utilisation du client de messagerie Thunderbird

Import automatique des places de parking - Handicap.fr

Si vous décidez d utiliser un autre chemin, c est ce nouveau chemin qu il faudra prendre en compte pour la sauvegarde. Cf. : Chapitre 9 Sauvegarde

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

Codage d information. Codage d information : -Définition-

LECTURE DES FICHIERS DE FACTURES

PG208, Projet n 3 : Serveur HTTP évolué

LES DECIMALES DE π BERNARD EGGER

Bulletins de notes électroniques avec Nota Bene

CONCEPT. GENRE: Gestion, Tamagotchi. SUPPORT: Téléphones mobiles et tablettes ios/androïd (Windows Phone si possible) AUDIENCE VISEE : Tout Public

Tutoriel D utilisation. Du PGI Open line d EBP

Chapitre 10 Arithmétique réelle

SERVICE TECHNIQUE Module Certissim pour Magento

Prise en main d une Cyberclasse

Utilisation de KoXo Computers V2.1

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

italc supervision de salle

Manuel de mise en page de l intérieur de votre ouvrage

Sextant. RFS Consultants Décembre 2008

Plan du cours. Historique du langage Nouveautés de Java 7

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

MEDIA NAV Guide de téléchargement de contenus en ligne

Guide utilisateur de l application messagerie vocale visuelle pour smartphone

Guide d installation de MySQL

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

NETWORK & SOFTWARE ENGINEERING MANUEL D UTILISATEUR. Logiciel TIJARA. NETWORK AND SOFTWARE ENGINEERING Manuel d'utilisateur "TIJARA" 1

ZOTERO. Installation. Bibliothèque de Pharmacie. Service Formation

Guide d utilisation 2012

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

AIDE à l utilisation du cédérom «L athlétisme à l école» Niveau Primaire SOMMAIRE

Probabilités conditionnelles Exercices corrigés

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Manuel du logiciel PrestaTest.

sommaire Archives... Archiver votre messagerie... Les notes... Les règles de messagerie... Les calendriers partagés Les listes de diffusions...

Installation de Windows 2000 Serveur

Eclipse atelier Java

CALC2QIF Conversion de données OpenOffice au format QIF

PROCÉDURE D'INSTALLATION WINDOWS 7 (32 ou 64 bit)

Aide à l installation et à la migration en HelloDoc 5.60

Conversion d un entier. Méthode par soustraction

Vous y trouverez notamment les dernières versions Windows, MAC OS X et Linux de Thunderbird.

Tropimed Guide d'installation

FAIRE SES COMPTES AVEC GRISBI

INSTALLATION CONFIGURATION D OWNCLOUD. La réponse informatique

Probabilités. I Petits rappels sur le vocabulaire des ensembles 2 I.1 Définitions... 2 I.2 Propriétés... 2

IV- Comment fonctionne un ordinateur?

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

Mise à jour : Octobre 2011

Prospective Manuel D utilisation. Logiciel édité par la société

Suivant les windows, le signal pour indiquer l imprimante par défaut est un petit rond noir ou vers avec un V à l intérieur.

Tutoriel. Votre site web en 30 minutes

Guide d usage pour Word 2007

1 CRÉER UN TABLEAU. IADE Outils et Méthodes de gestion de l information

GUIDE DE PRISE EN MAIN

Guide d utilisation WEBPORTAL CPEM Portail d Applications Web CPEM

Ajout et Configuration d'un nouveau poste pour BackupPC

Comment installer un client Rivalis Devis factures

Prendre en main le logiciel ActivInspire 1.4

Zotero est une extension du navigateur Firefox. Il est possible de télécharger Firefox gratuitement sur le site:

Transcription:

PG110 : Projet Bombeirbman 2013-2014 L objectif du projet de programmation est la réalisation d un jeu 2D en C s inspirant du jeu bomberman. 1 Principes du jeu Le joueur doit traverser les cartes composant les différents niveaux du jeu pour aller délivrer la princesse en se servant de ses bombes. Des portes lui permettent de changer de cartes afin d atteindre un drapeau vert permettant d accéder au niveau suivant. Les portes peuvent être fermées et nécessitent alors de posséder une clef dans l inventaire. Une cellule peut contenir : le joueur ou la princesse des éléments de décors (arbres, pierres...) infranchissables et indestructibles ; des caisses destructibles ; des portes, ouvertes ou fermées, permettant d évoluer entre les cartes ; des clefs pour débloquer les portes fermées ; des bonus ou des malus Figure 1 Carte initiale de l ébauche de jeu fournie 1

2 Travail fourni 2.1 Matériel Nous vous fournissons une première ébauche du jeu, utilisant les bibliothèques SDL (Simple DirectMedia Layer) et son extension SDL_image pour l interface utilisateur et la gestion du 2D. Le programme a été testé sur Linux, MacOS et Windows. Le lancement du jeu fait apparaitre une carte, chargée statiquement en mémoire (Figure 1), dans laquelle le joueur peut se déplacer sans limite dans toutes les directions quelque soit la nature des cellules. L archive contenant les sources du squelette de jeu ainsi qu un Makefile se trouvent à l adresse www.labri.fr/perso/xderoche/teaching/pg110/base/bomberman.zip et le guide d installation de l environnement de travail sur Linux, MacOS et Windows à l adresse www.labri.fr/perso/xderoche/teaching/pg110/base/install.pdf. 2.2 Codage des cartes Une carte de taille Largeur x Hauteur est représentée sous la forme d un tableau à une dimension tel que la cellule de coordonnées (i,j) sur la carte corresponde à l élément d indice (j*largeur + i) dans le tableau. La valeur d un élément du tableau représente le type de la cellule correspondante. Cette valeur est codé par un entier sur 8 bits (char). Le codage de chaque cellule est définit de la manière suivante : b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 Les 4 bits de poids faibles (b 3 - b 0 ) représentent le type de la cellule avec le codage suivant : 0 : Vide 1 : Princesse 2 : Décor (arbres et pierres) ; 3 : Joueur ; 4 : Caisse ; 5 : Bonus / Malus ; 6 : Monstre ; 7 : Bombe ; 8 : Clef ; 9 : Porte. Les 4 bits de poids forts (b 7 - b 4 ) codent le sous-type de la cellule ou des informations complémentaires sur la cellule avec le codage suivant : Sous-type de décors. 0=pierre, 1=arbres ; Contenu des caisses. 0=rien, 0-5=bonus/malus (cf. point suivant), 6=monstre ; Sous-type de bonus/malus. 0=rien, 1=portée+, 2=portée-, 3=bomb+, 4=bomb-, 5=vie+ ; Porte. Le bit b 7 code l état de la porte : 0=fermée, 1=ouverte. Les bits b 6 -b 4 codent le numéro de la carte suivante. 2

3 Travail à fournir Il vous est demandé de compléter l ébauche de jeu fournie, de produire un court rapport, ainsi que de faire une démonstration de votre implantation des fonctionnalités demandées. Le rapport devra contenir, pour chaque fonctionnalité ajoutée, une description de la solution adoptée. Il devra être remis au format PDF. Votre code devra être clairement commenté et indenté. Les fonctions seront nommées en anglais. Les fonctionnalités demandées constituent un cadre obligatoire à partir duquel vous êtes libres d agrémenter le jeu comme vous l entendez. Nous décrivons ci-après les fonctionnalités attendues du jeu. 3.1 Gestion des collisions Les mouvements du joueur sont limités par le cadre de la carte, les éléments de décors, les caisses et les monstres. Les caisses doivent pouvoir être déplacées par le joueur si rien ne gêne dans le sens de la poussée. Une collision avec un monstre déclenche la perte d une vie. Le joueur bénéficie alors d une temporisation pendant lequel il est invulnérable. 3.2 Bonus, Malus Les bonus et malus peuvent être sur la carte ou apparaitre lors de l explosion d une caisse. Il en existe 5 : portée- / portée+ : ajoute/retire 1 à la portée des bombes. La portée ne peut pas être nulle. bomb- / bomb+ : ajoute/enlève une bombe à l inventaire vie+ : ajoute une vie 3.3 Bombes Lorsque le joueur presse la touche [ESPACE], il dépose une bombe sur la case sur laquelle il se trouve, déclenchant une explosion au bout de 4 secondes. La mèche de la bombe diminue à chaque seconde. La portée de la bombe est par défaut de 1 case, en croix (case du dessus, case du dessous, case de gauche, case de droite). Les éléments de décor stoppent la propagation de l explosion dans le sens qu ils obstruent (Fig. 2). Si une caisse est sur le chemin de l explosion, elle disparait pour laisser apparaitre son contenu. Si c est un bonus ou un malus ou un monstre, il disparait. Enfin, si le joueur est sur une cellule touchée par une explosion, il perd une vie. Les explosions n ont aucun effet sur les portes, les clefs ou la princesse. (a) sans obsacle (b) avec obstacle Figure 2 Exemples d explosions d une bombe de portée 1 3

3.4 Gestion des vies Le joueur dispose de 2 vies au démarrage du jeu. Il peut en perdre lors d une collision avec un monstre ou s il se trouve sur une case à portée de l explosion d une bombe. Si le joueur n a plus de vie, la partie se termine. 3.5 Panneau d informations Le panneau d information affiche le nombre de vies, le nombre de bombes et leur portée, la présence d une clef dans l inventaire et le numéro de niveau. 3.6 Monstres Les monstres peuvent être présents dès le chargement de la carte ou apparaitre à l explosion d une caisse. Leurs déplacements sont entièrement aléatoires. 3.7 Fichiers carte et chargement Les cartes sont décrites dans des fichiers dans le dossier data et chargées en mémoire par le programme. Nous définissons les conventions suivantes : Les cartes sont stockées sous forme de fichiers texte afin de pouvoir les créer et les modifier avec un simple éditeur de texte ; Le nom de fichier d une carte est de la forme map_n_c ou N est le numéro de niveau et C le numéro de la carte dans le niveau ; La première ligne du fichier, de la forme width :height, représente la largeur et la hauteur de la carte ; La case en haut à gauche de la carte correspond aux coordonnées (0,0) ; Chaque ligne correspond à une ligne de cellule sur la carte ; Chaque cellule de la carte est définie en respectant le codage défini au début du sujet, en format décimal. L encodage de certaines cases pouvant prendre jusqu à 3 caractères, ex : une porte ouverte donnant accès à la carte 7 d un niveau donne un codage binaire de [1][111][1000] = 249 en décimal (Fig. 3). Chaque entier est suivi d un séparateur (espace, virgule...). 3.8 Pause La touche [P] met le jeu en pause et permet de reprendre la partie. Si une ou plusieurs bombes ont été posées et n ont pas encore explosées lors de la pause, le temps avant leur explosion doit être le même lors de la reprise du jeu. 4

3.9 Sauvegarde / Chargement partie On souhaite pouvoir enregistrer une partie en cours. Il faut sauvegarder l état d avancement du joueur, son nombre de vie et de bombe, sa position sur la carte en cours, la présence ou non d une clef dans son inventaire, l état des cartes du niveau (monstres, décor). Une fois que l enregistrement est effectué, il faut permettre de recharger la partie enregistrée. Le choix du format d enregistrement est libre. Fin de niveau/princesse 1 joueur 3 bonus/malus 5 monstre 6 bombe 7 porte 8 pierre 2 arbre 18 caisse vide 4 caisse contenant bonus portée+ 20 caisse contenant malus portée- 36 caisse contenant bonus bombe+ 52 caisse contenant malus bombe- 68 caisse contenant bonus vie 84 caisse contenant monstre 100 bonus portée+ 21 malus portée- 37 bonus bombe+ 53 malus bombe- 69 bonus vie+ 85 porte vers carte 0 (ouverte / fermée) 8 / 136 porte vers carte 1 (" / ") 24 / 152 porte vers carte 2 (" / ") 40 / 168 porte vers carte 3 (" / ") 56 / 184 porte vers carte 4 (" / ") 72 / 200 porte vers carte 5 (" / ") 88 / 216 porte vers carte 6 (" / ") 104 / 232 porte vers carte 7 (" / ") 120 / 248 Figure 3 Codage décimal des cellules 5