Amelioration du code ...

Vous avez une idée pour améliorer ou modifier PureBasic ? N'hésitez pas à la proposer.
jerexgrz
Messages : 279
Inscription : dim. 05/juin/2005 20:27

Amelioration du code ...

Message par jerexgrz »

J'aurais aimer que PB respecte le code : c'est à dire si j'ecris ca :

dim Nb_Struct (999)
Nb_Struct(1) <= quand j'ecris ca, Pb sait que j'utilise Nb_Struct et pas nb_struct !! Majuscule / Minuscule.

ou qd j'ecris : i = i + 1 j'aime pas avoir ce genre de truc: i=i +1 (pas de separation) !

de plus, j'aimerais avoir plus de fonctions pour gerer mes tableaux comme conserver leur contenu quand on les redimmensionne, connaitre l'index 1er et l'index dernier !
Aussi, quand on fait une procedure au lieu d'avoir son code dans le prog principal, pourquoi ne pas le mettre dans la colonne de droite et qd on clique sur son nom (ds la colonne) on accede au code de la procedure ? Comme ca, le code reste propre !!

Un truc bizarre : dim tab.l (999)

structure Union
tab [999]
endstructure
Je ne vois pas trop l'interet de mettre des crochets au lieu de mettre des parentheses, mais bon ???

Sinon, a part ca, je trouve que c'est un tres bon logiciel ! Les exemples 3D sont impressionnants, j'espere que dans les nouvelles versions, il y en aura d'autres !!
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

ça en fait des demandes.......
La casse n'est pas respéctée, mais je crois que tu es un des premiers à t'en pleindre

Pour les séparations i = i + 1, tu l'écris comme tu veux, avec ou sans espaces, donc où est le problème ?

Connaître l'index du tableau, tu l'as créé ce tableau, alors tu dois bien pouvoir retrouver l'index non ?
jerexgrz
Messages : 279
Inscription : dim. 05/juin/2005 20:27

Message par jerexgrz »

:) En faite, connaitre les index celà me permet de gerer de façon dynamique mes tableaux : par exemple, je cree un tab de 32*32 dans lequel je vais recuperer les couleurs d'une case par ex:
ensuite je vais reutiliser cette meme fonction mais pour un tab de 16*16. Celà fait donc un gachis de moitié ! Il est possible d'utiliser les chaines listées, mais j'ai besoin de connaitre les index car je les utilise en permanence ( si tu prefere, le code va s'en servir seul pour gerer automatiquement des collisions, des unités, ...).

Par contre, j'aime bien quand c'est structuré parce que dans VB, j'avais ~ 5300 lignes et celà devient vite lourd à gérer (relecture du prog, retrouver des variables, ....). :mad: En gros, c'est le bordel !!
Oliv
Messages : 2117
Inscription : mer. 21/janv./2004 18:39

Message par Oliv »

A mon avis dans ce cas il faut utiliser les pointeurs : @Tableau(), met ta fonction ou envoi la moi en PM, j'essairai de t'expliquer
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Dim Tableau.l(50,30)

Tableau.l(10,24)=@Tableau()+(50*24+10)*4

@Tableau() : adresse du tableau en mémoire
50*24 : 24ème ligne
+10 : 10ème colonne
*4 : Car on est en long codé sur 4 octets

normalement, ça doit ête ceci, de tête :wink: sinon, j'ai inversé les lignes et colonnes

Mais quand on part de ce principe, il suffit simplement d'allouer un espace mémoire, c'est la même chose

de 16*16. Celà fait donc un gachis de moitié !
non, tu gaspilles 3 tableaux de 16*16 en partant d'un 32*32 pour obtenir un 16*16
mais est-ce vraiment génant ?
un tableau de 100*100 en long fait 39ko en mémoire (40000 octect), on peut en faire avant de saturer la mémoire des PC d'aujourd'hui :wink:
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

les () symbolisent les elements dynamiques
(tableaux Dim, listes, fonctions...)

les crochets c pour le statique...

le debat de la casse (majuscules et minuscules) est fini depuis longtemps

les index minimum d un tableau sont toujours 0, le maximum est(sont) le(s) nombre(s) declare dans le Dim

Dri
jerexgrz
Messages : 279
Inscription : dim. 05/juin/2005 20:27

Message par jerexgrz »

C vrai que pour l'index 1er, ce n'est pas tellement problematique. Par contre, comme je redimmensionne les tableaux l'index maxi, je ne le connais pas !
Ex: Quand je lis une carte, je vais mettre 18 gisements d'or. Dans le prog, l'ordi va redimmensionné la variable gisement d'or avec la carte comme ca, les IAs vont savoir ou sont les gisements, quels sont les + proches, ... Par contre, je me sert de l'index comme ca, les IAs peuvent rechercher avec ca ! :P
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

Le plus simple, à mon avis, est de figer la taille des tableaux à un maximum. comme ça, on se s'embête pas avec la gestion de la taille de ceux ci.
Bon, c'est plus gourmand mais le maximum sera bien utiliser à unn moment ou un autre, alors l'avoir tous le temps ou uniquement sur quelque parti du jeu ne change rien
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Répondre