Le jeux des petits carrés

Nico1409 Messages postés 2 Date d'inscription jeudi 2 mars 2006 Statut Membre Dernière intervention 12 avril 2006 - 2 mars 2006 à 13:12
coquinus Messages postés 1 Date d'inscription dimanche 26 février 2006 Statut Membre Dernière intervention 19 mars 2006 - 19 mars 2006 à 08:20
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

wolf691300 Messages postés 41 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 31 mars 2006
2 mars 2006 à 17:54
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 ...
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
2 mars 2006 à 19:08
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
0
picolo5 Messages postés 31 Date d'inscription lundi 9 août 2004 Statut Membre Dernière intervention 18 décembre 2006
2 mars 2006 à 23:09
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 !
0
coquinus Messages postés 1 Date d'inscription dimanche 26 février 2006 Statut Membre Dernière intervention 19 mars 2006
19 mars 2006 à 08:20
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
0
Rejoignez-nous