Skip to content

ING1-Paris/ece-world-paris-ing1-2022-2023-ponctuel

Repository files navigation

marp theme paginate _paginate
true
theme
true
false
<script type="module"> import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.esm.min.mjs'; mermaid.initialize({ startOnLoad: true, theme: 'base', }); </script>

bg left

ING1 Projet d'informatique

ECE World, by Ponctuel


Sommaire

  • Thème et Carte
  • Organisation des jeux
  • Guitar Hero
  • Snake
  • Frogger
  • Bilan

Equipe Ponctuel

bg right:60%

  • DESCHAMPS Hugo
  • TOLEDANO Clément
  • BALAGUER Jules

ECE World

bg right:55% 150%

Thème

  • Terminal windows, bugs graphiques
  • 3 jeux très complets
  • 2 joueurs
  • 5 tickets par joueur

Carte 1/2

Réalisée par : Clément, Jules, Hugo. Fonctionnalités :

  • Choix du style graphique
  • Déplacement sur la carte avec carte des collisions
  • Affichage des scores des joueurs
  • Affichage des tickets restants

Carte 2/2

⚠️ Problèmes rencontrés : -> Des crash inopinés, rendant l'implémentation difficile -> Des bugs à la fin d'un jeu et la gestion des tickets associée


Organisation des jeux

Les jeux ont tous été codés dans des fichiers source indépendants. L'arborescence est telle que :

%%{init: {'theme':'neutral'}}%% flowchart LR Projet --> Assets --> Jeu Projet --> file.c Projet --> file.h

Les jeux ne prennent aucun paramètres et renvoie un entier qui correspond au score du joueur ou dans le cas de frogger quel joueur à gagné.

Pour lancer un jeu, il suffit de diriger son personnage vers l'une des icone de jeu presentes sur le terminal.


bg right:40%

GUITAR HERO

Réalisé par : Jules (100%)

  • Il y'a 4 touches (D, F, J, K) qui correspondent aux 4 cordes de la guitare.
  • Les notes tombent du haut de l'écran vers le bas.
  • Le joueur doit appuyer sur la touche correspondant à la note au bon moment.
  • Si le joueur appuie sur la touche au bon moment, il gagne un point.
  • Si le joueur appuie sur la touche au mauvais moment, il perd et donne la main au joueur suivant.

💡 Remplacez les images par des captures d'écran de votre jeu.


bg right:50%

GUITAR HERO

Structures

  • struct Note
    • int x
    • int y
    • int vitesse
    • int touche
    • int estAppuyee
    • int estAffichee

bg right:50%

Fonctions

  • void initialiserNotes()
  • void afficherNotes()
  • void detecterAppuiTouche()
  • void afficherScore()
  • void afficherGagnant()

Tableaux

  • struct Note notes[20]

bg right:42%

GUITAR HERO

Graphe d'appel


%%{init: {'theme':'neutral'}}%% flowchart LR GuitarHero --> initialiserNotes GuitarHero --> afficherNotes GuitarHero --> detecterAppuiTouche GuitarHero --> afficherScore GuitarHero --> afficherGagnant

bg right:42%

GUITAR HERO

Logigramme


bg right:50%

Snake à 2 joueurs

Réalisé par : Léon (100%)

  • Le jeu se joue à deux joueurs.
  • Géré avec des listes chaînées
  • Les 2 joueurs se voient attribuer chacun un serpent.
  • Le but du jeu est de manger le plus de pommes possible tout en évitant de se mordre la queue, de se prendre un mur ou le corps du serpent adverse.

bg :10%

Snake à 2 joueurs

Graphe d'appel


%%{init: {'theme':'neutral'}}%% flowchart LR snake --> initialiserSerpent initialiserSerpent --> afficherSerpent snake --> deplacerSerpent deplacerSerpent --> detecterCollision detecterCollision --> afficherGagnant afficherGagnant --> afficherScore afficherScore --> afficherGagnant

Structures

  • struct Serpent
    • int x, y
    • int direction
    • int previous_pos_x, previous_pos_y
    • struct Snake *next
    • bool is_head

bg right:55%


Fonctions

bg right:50%

  • void initSNAKE()
  • void initfood()
  • void lib_memoire()
  • void draw_SNAKE()
  • void add_block()
  • void move_SNAKE()
  • void gestion_mouvements()
  • collision_mort()
  • collision_food()

Logigramme

bg right:42%



bg right:40%

FROGGER

Réalisé par : Hugo (100%)

  • Il y'a 5 touches par joueur (Z, Q, S, D, C)(I, J, K, L, N) qui correspondent aux 4 direction vers laquelle peut aller la grenouille ainsi qu'un bouton de saut.
  • Les buches bougent de la gauche de l'écran vers la droite et de la droite de l'écran vers la gauche.
  • Le joueur doit se déplacer au bon moment pour pouvoir monter sur les buches et redescendre sur terre.
  • Si le joueur atteint la ligne d'arrivée, il gagne le jeu et le jeu se ferme.
  • Si le joueur est emporté par une buche vers les côtés de l'écran, il perd et le jeu se ferme si les deux grenouilles disparaissent.

💡 Remplacez les images par des captures d'écran de votre jeu.


bg right:50%

FROGGER

Structures

  • struct Log

    • int x
    • int y
    • int speed
    • BITMAP *sprite
    • BITMAP *collisions
  • struct Log

    • int x
    • int y
    • int alive
    • BITMAP *sprite

bg right:50%

Fonctions

  • void bitmapLoader();
  • void freeBitmap();
  • Log* createLog(int x, int y, int speed, BITMAP *sprite, BITMAP *colisions);
  • void drawLog(Log *log);
  • void moveLog(Log *log, int speed);
  • Frog* createFrog(int x, int y, BITMAP *sprite);
  • void drawFrog(Frog *frog);
  • void moveFrog(Frog *frog);
  • int calculCollisions(int x, int y, BITMAP *colisions);
  • int calculVide(int x, int y, BITMAP *colisions);
  • int conditionVictoire(Frog *frog);
  • int checkVictoire(Frog *frog1, Frog *frog2);

bg right:42%


Les slides suivantes ne seront pas présentées oralement lors de la soutenance mais doivent figurer dans la présentation. Nous les survolerons rapidement.


BILAN

Tâches réalisées (pour chaque membre de l'équipe)

  • ✅ 100% Créer une carte, 2 joueurs et un classement
    • Pour certains jeux, les regles et les scores ne sont pas affichés mais c'est en route.
  • ✅ 100% Terminer les 3 jeux (jeu.c)
    • Tous les jeux sont terminés.
  • ✅ 100% Relier la carte aux jeux (main.c)
    • Les jeux sont reliés à la carte et s'exécutent normalement.

Bilan individuel

Hugo : Projet très intéressant / Bonne cohésion d'équipe / Bonne gestion du temps

Clément : Super projet / Bonne cohésion d'équipe / Bonne gestion du temps

Jules : Beaucoup de plaisir à travailler sur ce projet / Bonne cohésion d'équipe / Bonne gestion du temps


Investissement

Si vous deviez vous répartir des points, comment feriez-vous ?

%%{init: {'theme':'neutral'}}%% pie showData "Hugo" : 33 "Clément" : 33 "Jules" : 33

Récapitulatif des jeux

| Jeu | Avancement | Problèmes / reste |
| | --- | --- | | Frogger | 100% | - | | Guitar Hero | 100% | - | | Snake | 100% | - |


Schémas et Graphes

bg left : 100% Comits et activités des membres de l'équipe


bg left : 100%

Comparaison entre l'ajout des éléments et leurs retraits


bg right : 90%

Comparaison entre les commits et les ajouts de lignes de code dans une periode hebdomadaire


Merci de nous avoir écoutés !

bg right : é0%

About

ece-world-paris-ing1-2022-2023-ponctuel created by GitHub Classroom

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •