Bonjour tout le monde !
Vous aurez peut etre vu mon topic qui parle d'une DrawGrid dans ce topic
Je veux desormais afficher des objets aleatoirement sur ma carte
En fait je veux placer des arbres, des montagnes et de l'eau qui sont representes par des rectangles qui font la taille de mes cases.
Donc il faudrait si possible qu'il soit colle par petits groupes.
La personne qui utilise mon programme a la possiblite de choisir le % en quelque sorte du nombre d'objet qu'elle veut grace a des TrackBar.
Donc j'y suis depuis 2h, j'ai essaye beaucoup de possiblite mais le probleme c'est que la plupart du temps ca depasse ma carte et des fois ca me fait des depassements de capacite !
Donc je fais appel a votre aide, car la je bloque
Voici une partie du code qui s'occupe de tout ca : (a vrai dire, il faudrait recommcencer toute la partie a partir du "// On genere les arbres" ...)
Voila, ce code permet de calculer les coordonnes des cases de mes objets et Gen s'occupe de les placer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 //////////////////////////////////////////////////////////////// (* On genere les objets quand on clique sur le bouton generer *) /////////////////////////////////////////////////////////////// Randomize; nb_arbres := Round((GenArbres.Position * 50) / nb_cases); nb_eau := Round((GenEau.Position * 50) / nb_cases); nb_montagnes := Round((GenMontagnes.Position * 50) / nb_cases); // On genere les arbres VarChamp := oArbres; largeur_nb := Random(nb_cases div 2); hauteur_nb := largeur_nb; j := nb_arbres; i := 0; k := 0; while j <> Round(nb_arbres / 10) do begin // On change le x x := largeur_nb + k; y := hauteur_nb; // On affiche l'arbre Gen('arbre',x,y); // On change le y x := largeur_nb; y := hauteur_nb - i; // On affiche l'arbre Gen('arbre',x,y); k := k+1; i := i+1; j := j-1; end;
Merci d'avance pour votre aide
Partager