Build in progress

Depuis deux semaines, j’ai eu le temps de faire quelques progrès, mais aussi (déjà !) une belle refonte du code.

En effet, c’est bien d’avancer, mais si on ne sait pas où l’on va, on risque de se prendre un mur. Et là où j’en étais, je risquais de le prendre et de complètement abandonner. C’est pourquoi j’ai décidé de remettre les choses bien à plat en me créant un diagramme de classe le plus complet possible. En voici une partie :

Diagramme de classe

Pour ceux ne connaissant rien ou pas grand chose à l’UML et à la programmation, un diagramme de classe sert à décrire l’ensemble des éléments d’un programme, leurs propriétés, les actions qu’ils peuvent effectuer et les interactions avec les autres.

Par exemple en bas à gauche de l’image on retrouve l’élément (la classe) Star. Celle-ci possède une propriété planets, qui est un tableau (une liste) de Planet. Le lien vers la classe Planet est représenté par la flèche située à droite.

Bref, créer ce diagramme m’a permis de déceler quelques problèmes, dans ma conception initiale, mais m’a surtout permis de décrire de façon beaucoup plus précise une grande partie des éléments de mon futur jeu. Il me reste quelques sections (liées aux vaisseaux notamment) à définir mais je repousse ça à un peu plus tard.

Venons en aux avancées du jeu en lui même :
J’ai implémenté une classe me permettant de moduler le nombre de joueurs, d’étoiles, et de planètes au démarrage. C’est très pratique pour faire des tests.
En sélectionnant 3 étoiles et 5 planètes, on obtient ceci :

Trois systèmes solaire

J’ai également ajouté un peu de couleurs : les étoiles sont dorées et les planètes brunes ou verte. Cela me permet de bien distinguer les éléments en attendant de les habiller proprement.

C’est tout pour cette fois, mes prochains objectifs sont :

  • Fixer les problèmes de contrôle du vaisseau
  • Permettre la capture d’une planète
  • Gérer la vie, la destruction et la réapparition du vaisseau