Giter VIP home page Giter VIP logo

dunkthebaballe's People

Contributors

louislafontaine avatar yannickalp avatar

Stargazers

 avatar

Watchers

 avatar

dunkthebaballe's Issues

Obstacles empilés

Créer un nouveau genre d'obstacles qui puissent être empilé, et qui puissent tomber si percuté par la balle (comme dans angry birds)

Interaction souris

Modifier le comportement d'interaction entre la souris et la balle.

L'utilisateurs doit cliquer sur la balle, puis déplacer la souris en maintenant le clique appuyé, quand le bouton est relâché :

  1. la balle part avec une vitesse proportionnelle à la distance entre la souris et la balle
  2. Elle part dans une direction selon la droite passant par le centre de la balle et la position de la souris

Créer un objet balle

Créer un objet balle ayant pour attribut :
double x
double y
double v // vitesse

Vitesse maximale

si la norme de la vitesse dépasse une limite, alors la norme de cette vitesse est égale à la limite

Collisions

  • Rendre le système de collisions compatible avec une trajectoire parabolique

  • Empêcher la balle de rester coincé dans une boucle de collisions

Obstacles inclinés

Modifier la class Obstacle pour permettre de placer des obstacles inclinés

Animation Impact

Lorsque la balle percute un obstacle, une animation avec des particules apparaît au niveau du point d'impact

Menu de démarrage

Créer un menu de démarrage dans une nouvelle class qui extends un JPanel

Detection de Collisions

Implémenter la détection de collisions

  • Savoir s'il y a collisions entre deux objet
  • Résoudre la collision

Trou (Zone d'arrivée)

Créer un objet Trou (une zone d'arrivée).
Lorsqu'une Balle la touche (ou est entièrement dans, au choix, l'équipe n'a pas encore explicitement décidée) :

  • Arrête le mouvement de la balle
  • Réinitialise la position de la balle
  • Affiche un message de victoire

Éventuellement Trou sera modifié pour également hériter de la class abstraite Collisions #8

Bug coin collisions

Il arrive que la balle bug après collisions avec le coin d'un obstacle. Elle semble se téléporter à une certaine distance du coin, puis reviens vers celui-ci très vite, ce en boucle

2021-03-22.11.03.21.mov

Obstacles

Créer un objet obstacle qui hérite de la classe Collision, il faut donc que #8 est était réalisée au préalable.

Trajectoire Parabolique

Modifier la méthode updatePosBalle dans Balle pour que la trajectoire de la balle soit parabolique.

Solution privilégiée : Donner un attribut poids à Balle, et utiliser les formules de Newton.

Faire ces modifications dans une branche nommé Trajectoire_Parabolique.

Level Editor

Créer un level editor qui permette de placer et supprimer des obstacles
Placer des boutons en bas de l'écran pour :

  • choisir le mode "level edit"
  • supprimer le dernier objet placé
  • supprimer un obstacle sélectionné à la souris
  • déplacer un obstacle sélectionné

Éventuellement ces boutons seront stylisé avec des images pixel art, e.g.

NB : un level editor primitif existe déjà : Q + souris pour placer un obstacle, W pour les supprimer tous, P pour supprimer le denier obstacle placé, A + souris pour replacer la balle.
Il faut penser à le supprimer.

Image de background

Ajouter une background image au jeu
Fonctionnalités désirées :

  • La fenêtre reste au proportions de l'image (16/9, 4/3. etc…)
  • La fenêtre garde ses proportions quand sa taille est modifié
  • La taille de l'image s'adapte à celle de la fenêtre

Coin arrondi

Rendre les coins des obstacles arrondies pour éviter les problèmes de collisions

Animation

Créer une classe animated de laquelle hérite les objets animés

chaque objet animé possède un timer d'animation qui fait évoluer l'objet

Texture obstacle

Ajouter de textures aux obstacles
Idée :
utiliser une texture et découper dans celle-ci l'obstacle, si l'obstacle est plus grand que la texture, créer une texture intermédiaire dans laquelle la texture initiale est recopié plusieurs fois jusqu'à faire la taille de l'obstacle. Découper alors obstacle dans celle-ci.
L'image est déjà disponible dans le fichier Ressources->Scene
Ground

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.