E-magination
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


~ S'évader de la banalité... Et entrer dans l'imaginaire ! ~
 
AccueilGuelnika, le site de E-m !ChatS'enregistrerConnexion
-67%
Le deal à ne pas rater :
Carte Fnac+ à 4,99€ au lieu de 14,99€ (nouveaux clients / ...
4.99 € 14.99 €
Voir le deal

 

 [Tourments] Programmation - Architecture du projet

Aller en bas 
2 participants
AuteurMessage
harusame
Flood Maker Lv 35
Flood Maker Lv 35
harusame


Nombre de messages : 1827
Age : 33

[Tourments] Programmation - Architecture du projet Empty
MessageSujet: [Tourments] Programmation - Architecture du projet   [Tourments] Programmation - Architecture du projet Icon_minitimeVen 24 Fév 2012, 17:31

Ce topic sert à parler de l'architecture du projet au niveau programmation.

-------------------------------------------------------------------
Programmeur principal : harusame
Programmeur éventuel : Yami no Tenshi
-------------------------------------------------------------------

-------------------------------------------------------------------
javadoc slick2d : http://slick.cokeandcode.com/javadoc/
javadoc LWJGL : http://lwjgl.org/javadoc/
javadoc JAVA : http://docs.oracle.com/javase/1.4.2/docs/api/

Wiki slick2d : http://slick.cokeandcode.com/wiki/doku.php
Tutoriels slick2d : http://www.creationjeuxjava.fr/
-------------------------------------------------------------------

-------------------------------------------------------------------
Les classes actuelles du projet :
[Tourments] Programmation - Architecture du projet LesClasses
-Dans le package characters, je met toutes les classes en rapport avec des personnages. Donc pour l'instant, le héros et les PNJ.
-Le package Game est un fourre-tout dans lequel je met les classes seules où celles qui ne sont pas assez nombreuses encore pour nécessiter un package spéciales. Ces classes dans ce package sont amenées à bouger.
-Le package GameStat contient les différentes états du jeu (les écrans en quelque sorte.) Pour l'instant il n'y en a que deux, l'écran titre et le jeu en lui même. (J'ai hésité à faire un état pour le menu, mais ça aurait été comme faire une map différente sur RM pour le menu. On aurait perdu la map en fond d’écran). Dans le futur, il y aura un état pour le menu d'entrée de nom, le menu de chargement, les crédits, et ce qui est du genre cinématique en dessin.
-Le package Items contient comme sont nom l'indique tous les objets du jeu. (La classe Item est abstraite, il y aura aussi les interfaces pour les types d'objets et tous les objets avec leur action spécifique.)
-Le package Launch contient les classes de lancement de l'application. C'est plus pour moi, j'aime bien séparé le point d'entrée du reste du programme et ça me permet de tester différentes configurations de lancement. Le point d'entrée est pour l'instant la classe "LauncherAvance".
-Le package Loaders contient les classes de chargement des ressources qui sont chargées au démarrage du jeu. (les images, les sons...)
-Le package Map contient la classe générique map et les classes l’étendant pour des zones plus spécifique (comme le village qui nécessite plus de couches de mapping). Dans la classe map sont écrites toutes les méthodes analysant ce qui est fait avec Tiled (les attributs et les propriétés...)

A venir dans le futur :
- Un package Ennemis.
- Un package Esprit.
- Un package pour gérer plus précisément les éléments d'interface à l’écran. (HUD, magasin, menus...)
-------------------------------------------------------------------


-------------------------------------------------------------------
Un diagramme de classe pour se faire une petite idée de l'organisation
(rapide, je n'ai pas mis les trop nombreuses méthodes ni les attributs) :
[Tourments] Programmation - Architecture du projet Class_YamHaruDt
Les classes du package Loaders ne sont pas présentes afin de ne pas rendre le diagramme illisible, elle ne sont que des bibliothèques de ressources et
toutes les classes affichant des éléments à l'écran doivent y avoir accès.)


LauncherAvance étend de StateBasedGame (classe slick2d).
Les classe du package GameStats étendent BasicGameState (classe slick2d).
Heros étend de Thread pour gérer la gestion des touches dans un thread séparé de la boucle de jeu.
-------------------------------------------------------------------

Petit plus à savoir :
Pour l'instant la gestion des touches se fait dans la classe Heros, ce sera surement à changer plus tard.


Dernière édition par harusame le Ven 27 Juil 2012, 21:55, édité 1 fois
Revenir en haut Aller en bas
http://jeremy-lebrun.fr/
harusame
Flood Maker Lv 35
Flood Maker Lv 35
harusame


Nombre de messages : 1827
Age : 33

[Tourments] Programmation - Architecture du projet Empty
MessageSujet: Re: [Tourments] Programmation - Architecture du projet   [Tourments] Programmation - Architecture du projet Icon_minitimeLun 12 Mar 2012, 18:06

Tableau des variables avec leur index (pour la sauvegarde) :
Spoiler:
Revenir en haut Aller en bas
http://jeremy-lebrun.fr/
Zunlame
RTP de base Lv 1
RTP de base Lv 1
Zunlame


Nombre de messages : 7
Age : 33

[Tourments] Programmation - Architecture du projet Empty
MessageSujet: Re: [Tourments] Programmation - Architecture du projet   [Tourments] Programmation - Architecture du projet Icon_minitimeMar 23 Oct 2012, 00:09

Architecture v1 pour le système de déplacement sur la mapmonde.

[Tourments] Programmation - Architecture du projet 1165609469
Revenir en haut Aller en bas
Contenu sponsorisé





[Tourments] Programmation - Architecture du projet Empty
MessageSujet: Re: [Tourments] Programmation - Architecture du projet   [Tourments] Programmation - Architecture du projet Icon_minitime

Revenir en haut Aller en bas
 
[Tourments] Programmation - Architecture du projet
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
E-magination :: ~ Forum d'espaces personnels et créations diverses ~ :: Archives :: Archives - Projets en pause :: Tourments-
Sauter vers: