Le jeux des petits carrés

Signaler
Messages postés
2
Date d'inscription
jeudi 2 mars 2006
Statut
Membre
Dernière intervention
12 avril 2006
-
Messages postés
1
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
19 mars 2006
-
Bon j'image que vous connaissez tous le principe : sur un plateau quadrillé, des joueurs et l'ordinateur tracent tour a tour un coté de carré, de facon a former chacun le plus de carrés possibles.

C'est un projet d'étude que je doi réaliser et je ne sais pas trop par ou commencer, j'ai entendu parler du composant drawgrid dans delphi...enfin voila, je suis un peu perdu.

Si vous pouviez me donner ne serai-ce que quelques pistes pour bien démarrer.
Merci.

4 réponses

Messages postés
41
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
31 mars 2006

Bonjour, Si j'ai bien compris; il faut au départ dessiner un carré dans Form1.
Je te donne un exemple ci-dessous:

procedure TForm1.FormPaint(Sender: TObject);
var x1,y1,x2,y2: Integer;
begin
X1:=10; Y1:=10;
X2:=X1+50; Y2:=Y1+50;
Canvas.Pen.Color:=ClWhite;// <<< couleur blanche.
Canvas.Rectangle(X1,Y1,X2,Y2);//<<< carré dessiné.
end;

Et si tu désire faire un quadrillage comme un jeu d'échec, il sufit de créer une boucle pour
incrémenter X1 et Y1.

Voilà, c'est tout simple et moins compliqué qu'un composant ... bonne continuation...

WOLF691300 (( comme d'habitude avec un grand sourire ... pour les commentaires qui vont suivrent ...
Messages postés
3811
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
15 juin 2020
30
Salut,
mais le problème c'est qui ne demande pas à dessiner un carré complet en une fois mais un et un seul coté du carré par action du joueur. Les procédures MoveTo et LineTo sont donc plus appropriées.

Et contrairement à ce que tu crois l'utilisation d'un composant n'est pas plus compliqué.
Je te conseillerai l'utilisation d'une PaintBox ce qui sera plus simple que la méthode proposé par Wolf parce que avec sa méthode tu devras à chaque rafraîchissement redessiner tous les cotés qui ont déjà étés "posés" ce qui risque de devenir très contraignant. Alors qu'avec une PaintBox tu n'as pas ce problème puisque c'est un composant qui est fait pour dessiner.

@+
Cirec
Messages postés
31
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
18 décembre 2006

Salut !

ca me rappelle de longues heures de cours ce jeu !!!!
Je ne sais pas si ca peut t aider mais voici peu etre une piste pour voir ce qu il y a a faire.

Une partie commence,
Tu fait ton cadrillage dans une paintbox grace a MoveTo(x,y) , et LineTo(x,y).
Tu met les scores a 0 et toutes les variables necessaires
Le deroulement du programme :

Tant qu il y a un coup a jouer
C est au tour de l utilisateur X , il clique sur sur un trait de ton cadrillage :
- tu recupere la position de la souris
- tu determine si il click sur trait deja joué ou non :
sinon : tu trace un trait a l endroit, et tu memorise que le trait est utilisé et a qui il appartient.
si oui : alors il doit rejoué.
-tu controle si le trait qu il a fait ferme un carre ou non, tu augmente son score si oui.
-tu controle si il reste un coup a jouer sinon, fin de la partie.
et ca recommence !!

Bon jeu !
Messages postés
1
Date d'inscription
dimanche 26 février 2006
Statut
Membre
Dernière intervention
19 mars 2006

Tu peux utiliser un radiogroup ( avec la propriété items tu crées tes différents bouton)
La propriété itemindex te donne le bouton sélectionné . Tu peux ainsi tracer facilement un trait entre deux boutons