Se connecter avec
S'enregistrer | Connectez-vous

Aide concernant le puissance 4 ...

Dernière réponse : dans Programmation

Bonjour à tous !!!

Je dois réaliser le jeu puissance 4 (simplifié) sous delphi dans le cadre d'un projet! Etant donné q je débute, j'ai qlq difficultés c pourquoi je vous demanade si il y aurait des personnes qui pourraient m'aider sur certains points... En gros, il s'agit de faire une StringGrid de 16x16 et seules les combinaisons verticales et horizontales sont gagnantes (les diagonales sont ignorées).


Si des personnes sont prêtes à m'aider( ça ne devrait pas prendre beaucoup de temps), je pense q la meilleure solution ce serait de discuter via MSN car ça facilite grandement les explications instantanées!!! Donc voici mon adresse : valentinik1985[at]hotmail.com

Merci d'avance :) 

Autres pages sur : aide concernant puissance

Lassé par la pub ? Créez un compte

Vérifier dans toute la grille s'il y a un alignement gagnant, effectivement, c'est pas simple (ca risque surtout d'être long).

Par contre, regarder si le coup qui vient d'être joué provoque une combinaison gagnante, c'est nettement plus simple :) 
Par rapport à la position jouée, tu recherche à droite le nombre de pions de la même couleur, idem à gauche et tu vois si le total fait 4 :) 
Et pareil pour les 3 autres directions (vertical, diagonale montante, diagonale descendante).

à 2 joueurs !!! et les combinaisons diagonales sont ignorées! Là il me reste + qu'à voir les horizontales et c bon!!! Mais j'ai des questions à faire afin d'améliorer cette version de base :

il faut pouvoir modifier le nb de jetons à aligner pour gagner, les dimensions de la grille et afficher les scores sachant qu'une partie gagnée donne 1 pt et une perdu 0 pt


voila quelques idées :

comme dit par mrbebert il suffit de vérifier si le pion tombé fait une ligne :) 

apres moi je ferai un truc comme sa :

x et y sont les coordonnées ou est tombé le pion et couleur sa couleur ;-)

TailleY = 0;
while( (jeu[x][y-TailleY-1] == couleur) and (y-TailleY-1) >= 0) )
TailleY++;

TailleX = 0;
Distance = 1;
while( (jeu[x-Distance][y] == couleur) and (x-Distance) >= 0) )
{
TailleX++;
Distance++;
}
Distance = 1;
while( (jeu[x+Distance][y] == couleur) and (x+Distance) <= TailleDuJeuX) )
{
TailleX++;
Distance++;
}

if((TailleX >= TaillePourGagner) or (TailleY >= TaillePourGagner))
FaireLaFete;



Voilou il y a peut etre des erreurs, mais c'est deja un début :) 
Lassé par la pub ? Créez un compte