Directx tuto 3 : mieux organiser le code

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 974 fois - Téléchargée 30 fois

Contenu du snippet

Ce petit tuto n'est pas la pour apprendre à programmer .....

Source / Exemple :


petits trucs qui serviront à rendre le code plus lisible, car DirectX c'est beaucoup de code et donc très dur à lire pour quelqu'un qui n'as pas recodé lui-même votre programme.

Le code DirectX doit être dans un module, toujours dans un module pour la clarté du code.

Tous d'abord, comment nommer les variables :
Dans le blit (pour backbuffer.bltfast) vous avez la fonction ddrect(x1,y1,x2,y2)
Par exemple pour dire le x1 de votre fond ne mettez pas fondx1, mais LeftFond1, et pour y1 préféré TopFond1. 
Si vous utilisez le scrolling (déplacement) dans votre jeu, donc vous l'utiliserez forcement, pour la valeur de déplacement en x nommé la OffSetX et non pas déplacementx.
Pour la place dans l'écran c'est Left, Rigth, Top, et Bottom, pour les image c'est Height et Width, donc comme vous le voyez il faut préférer l'anglais au français. Pour deux raison, la première l'anglais et une langue qui est compris par presque tous le monde, donc plus facile à interprété, la seconde car l'anglais est souvent plus court que le français.
Ne déclarez pas les variables comme cela : 
Dim var1, var2, var3 as Long
Car le programme ne le comprendra pas comme il faut pour le type Long, et une technique pour donner des valeurs à vos variables :
Var1 = 1 : Var2 = 2000 : Var3 = « dlkldk »
Les deux point permettent d'ecrire plusieurs instructions sur une seul ligne (d'aprés un commentaire)

Ensuite, en haut du module vous déclarez toutes les variables, en les rangeant par type, ex :

Public DX As New DirectX7    			<==== L'objet DirectX en premier
Public DI As DirectInput    				<==== Puis DirectInput
Public DIdevice As DirectInputDevice		<==== DirectInput le device
Public DIstate As DIKEYBOARDSTATE		<==== Ensuite l'état des touches
Public DD As DirectDraw7				<==== L'objet DirectDraw
Public Primary As DirectDrawSurface7
Public Backbuffer As DirectDrawSurface7
Public bRunning As Boolean				<==== La variable obligatoire
Dim LeftFondX As Long				<==== Ensuite les Left ensemble
Dim LeftScroll1 As Long
Dim TopScroll2 As Long				<==== Les Top ensemble
Dim TopScroll1
Dim WidthScroll1 As Long				<==== Ainsi de suite
Dim ScreenWidth As Long
Dim OffSetX

Puis mettez aussi un système de sub et fonction (function), si votre jeu contient plusieurs niveau, ou si vous avez beaucoup d'élément, le code en sera que plus claire.

Voila, avec c'est quelques aides, votre code devrais déjà être plus lisible ..

Conclusion :


Je remercie Vlad2i pour sont aide sur le chat et sur msn, de plus désoler pour les fautes d'orthographes, je fait de mon mieux .....

A voir également

Ajouter un commentaire

Commentaires

cs_EBArtSoft
Messages postés
4531
Date d'inscription
dimanche 29 septembre 2002
Statut
Modérateur
Dernière intervention
22 avril 2019
4 -
"Ce petit tuto n'est pas la pour apprendre à programmer..."
Alors il est la pour quoi ?

"il faut préférer l'anglais au français"
On pourrais aussi ecrire en esperanto mais c'est pas dans les RFC

"trucs qui serviront à rendre le code plus lisible"
Avec ton systeme celui qui connais pas l'anglais est tres mal barré

"Les deux points permettent de passer d'une variable à une autre"
Elle permette surtout d'ecrire plusieurs instructions sur une seul ligne
et dans ton cas si on a plusieurs dixaine de ligne on est tres tres mal barré (surtout que le nombre de caractere sur une ligne est limité)

"Je remercie Vlad2i pour sont aide"
Ok merci pour lui mais tu aurais pu commencer par lire le mode d'emploi de vb

On est vraiment sur une autre planete !!!
JoePatent
Messages postés
171
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
20 juillet 2008
-
Dim var1, var2, var3 As Long est mal compris ?!

En vb 6 le resultat sera le suivant :
var1 = variant
var2 = variant
var3 = long

En vb net tu auras trois variable declaré en long

Ton tutoriel est vraiment douteux...

"Si vous utilisez le scrolling (déplacement) dans votre jeu, donc vous l'utiliserez forcement, pour la valeur de déplacement en x nommé la OffSetX et non pas déplacementx."

Je ne connais rien au directx... Deplacement pour moi serait nettement plus claire que offset... Si c'est du scrolling, appele le scrolling... Offset ca ne veut plus dire a moins de vraiment bien connaitre le contexte. Et si tu connais bien le contexte, tu te fous du nom de la variable...

Entekas... J'ai le feeling que je n'aurais meme pas du ecrire le present commentaire...dsl
ciberrique
Messages postés
591
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
18 juillet 2010
-
Tous d'abord je vous remercie pour vos commentaires. Avant de critiquer un code on lit la source en entier, donc si vous avez tous lut, c'est que vous ne savez pas lire, car j'ai mis niveau débutant.
Si je dis il faut préféré l'anglais c'est que c'est une langue beaucoup plus parlé que le francais. Quelqu'un qui programme en DirectX utilisera le vocabulaire approprié, et ici je n'utilise aucun vocabulaire sans l'expliquer. Pour ce qui ne connaisse pas l'anglais mais qui programme en DirectX ne seront pas mal barré car ce qui programme useront eux meme de se vocabulaire Anglais. Effectivement j'ai fais une erreur sur les 2 points, d'ailleur je vais la corrigée rapidement.
Pour Joepatent les réponses sont les memes, mais comme je dis tous les commentaires sont les bienvenues et si une source ne plait pas se n'est pas pour une raison ou pour une autre ce n'est pas la peine de la démonter surtout si on n'as pas regarder le niveau de la source ......

Merci encore pour vos commentaires.
ciberrique
Messages postés
591
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
18 juillet 2010
-
Tous d'abord je vous remercie pour vos commentaires. Avant de critiquer un code on lit la source en entier, donc si vous avez tous lut, c'est que vous ne savez pas lire, car j'ai mis niveau débutant.
Si je dis il faut préféré l'anglais c'est que c'est une langue beaucoup plus parlé que le francais. Quelqu'un qui programme en DirectX utilisera le vocabulaire approprié, et ici je n'utilise aucun vocabulaire sans l'expliquer. Pour ce qui ne connaisse pas l'anglais mais qui programme en DirectX ne seront pas mal barré car ce qui programme useront eux meme de se vocabulaire Anglais. Effectivement j'ai fais une erreur sur les 2 points, d'ailleur je vais la corrigée rapidement.
Pour Joepatent les réponses sont les memes, mais comme je dis tous les commentaires sont les bienvenues et si une source ne plait pas se n'est pas pour une raison ou pour une autre ce n'est pas la peine de la démonter surtout si on n'as pas regarder le niveau de la source ......

Merci encore pour vos commentaires.
ciberrique
Messages postés
591
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
18 juillet 2010
-
Dsl j'ai posté en double.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.