Il y a 27 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
 Page :  1  2
Page Suivante 
Auteur Sujet :

puissance 4 vs pc

n°2708
Dr lous
I see old password
Posté le 26-04-2004 à 08:47:02  profilanswer
 
mood
Google
Posté le 26-04-2004 à 08:47:02  profilanswer
 

n°2709
gimly
Quel pseudo de merde !
Posté le 26-04-2004 à 09:33:02  profilanswer
 

>slim => c'est seulement le code C que tu dois mettre entre balises, et pas tout ton message...

n°2710
slim
Posté le 26-04-2004 à 19:58:44  profilanswer
 

ok ok j'suis sature et assez faitigue dsl sinon pa de reponse pour le reste svp faites travailler les meniges l'union fait la force et le pc la divise


---------------
la lumiere est lointaine car le tunnel est long
n°2711
slim
Posté le 27-04-2004 à 07:36:11  profilanswer
 

merci de vpouloir repondre a mes questions sinon merci dr loos sauf que j'veux continuer avec cette algo et cette idee ...


---------------
la lumiere est lointaine car le tunnel est long
n°2713
Dr lous
I see old password
Posté le 27-04-2004 à 14:38:36  profilanswer
 

c ps un algo enfin pas vraiment, ce ke tu as :)

n°2715
slim
Posté le 27-04-2004 à 19:53:10  profilanswer
 

c quoi alors? ca marche mais le probleme c que dans le cas ou il n'y a pas 3 pions alignes alors la le pc aligne ses pions sans tester quoi donc faudra une procedure pion() qui deplace le pion dans la colonne choisie ...
sinon qui pouurait si possible(merci d'avance) m'expliker comment savoir ce qu'il faut passer en parametre formel (dans l'entete de la fonction car pour cette fonction j'hesite entre (int,int j)et (int matrice[i][j])et c la seule erreur lors de la  compilation

Code :
  1. int test diagonale_nord_est (int matrice[i][j])
  2. {
  3. int puissance;
  4. int i,j;
  5. for(i=0;i<taille-3;i++)
  6. for(j=0;j<taille-3;j++)
  7.       if((matrice[i][j]==matrice[i+1][j+1])&&(matrice[i+1][j+1]==matrice[i+2][j+2])
  8.         &&(matrice[i+2][j+2]==matrice[i+3][j+3]))    /*return(4); */
  9.   {
  10.    puissance=4;
  11.   }


merci de m'expliker comment bien saisir cette notion des fois shai pa quoi mettre en entete j'saisis pa bien la subtilite qu'il ya merci


Message édité par slim le 28-04-2004 à 22:28:31

---------------
la lumiere est lointaine car le tunnel est long
n°2730
slim
Posté le 28-04-2004 à 22:29:56  profilanswer
 

comment faire pour savoir ce qu'il fo mettre dans l'entete je sais pa pour le test s'il fo mettre (int matrice[i][j]) ou (int i,int j)merci


---------------
la lumiere est lointaine car le tunnel est long
n°2734
slim
Posté le 29-04-2004 à 11:40:02  profilanswer
 

:pt1cable: slt cryogen fatigue ou koi?
 A mon avis,l'idee du carre ca marche pour le cas ou il ya 3 pions alignes sinon le pc joue ...  
Donc j'fais une fonction tq le pc aligne le pion normalemnt et s'il y en a 3 alignes alignes par le joueur alors la il bloque la progression si y en deja 4 c cuit.
Mais en fait il va toujours gagner ou koi?
Car le carre  balaye bien l'aire de jeu donc c bien efficace j'vois pa comment le battre c pa si limite que ca l'IA
 
merci ok


Message édité par slim le 29-04-2004 à 17:49:06

---------------
la lumiere est lointaine car le tunnel est long
n°2735
CryoGen
Powered by kitkat©
Posté le 29-04-2004 à 12:03:14  profilanswer
 

Tu connais pas les ponctuations et les sauts de lignes car là j'ai du mal à te suivre... désolé :/


---------------
I am the bone of my sword...
n°2736
slim
Posté le 29-04-2004 à 12:21:30  profilanswer
 

voila c + clair
merci et dsl


---------------
la lumiere est lointaine car le tunnel est long
n°2737
lucc
Posté le 29-04-2004 à 12:58:52  profilanswer
 

au fait mon probleme c'est que je dois faire comme projet le jeu puissance 4 (le but c'est d'essayer d'alligner 4 jetons de meme couleur)et il suffit de cliquer sur une colonne ou un bouton qui sera au dessus de chaque colonne pour que le jeton"descend" jusqu'en bas de la colonne en question et pour mon cas j'arrive pas a mettre des jetons mais des ronds et croix et j'aimerai reussir a mettre des jetons de couleurs differentes de ma grille stringgrid
 
mes sources c'etait pour chaque bouton:
 
declaration publique
 
joueur:boolean;
 
i0,..........................................i16:integer(car la grille 16*16)
 
procedure button1click(sender:tobject);
 
if(joueur)then
 
stringgrid.cells[0,i0]:='X'
 
else
 
stringgrid.cells[0,i0]:='O';
 
i0:=i0+1;
 
joueur:=not(joueur);
 
end;
 
et j'espere que vous me reponderai rapidement
 
merci
 
et est ce que que ya moyen que vous m'envoyer votre jeu en delphi 4
je vous remercie d'avanec

n°2740
CryoGen
Powered by kitkat©
Posté le 29-04-2004 à 15:50:11  profilanswer
 

Evidement si l'Ia doit vraiment jouer ca va etre un peu plus compliqué
 
Tu pourrais essayé de lui faire aligner des pions :D
Il n'a qu'a joué à coté d'un de ses pions si disponible sinon un coups au hazard là où il pourrait aligné 4 pions...


---------------
I am the bone of my sword...
n°2743
slim
Posté le 29-04-2004 à 17:56:12  profilanswer
 

voila le code a deux joueurs sans IA (l'IA ca me depasse j"'ai pa l'inspi)sauf que dans le test sud est il bugue shai pa pourquoi  
 

Code :
  1. #include<stdio.h>
  2. #include<graphics.h>
  3. #include<conio.h>
  4. #include<alloc.h>
  5. int matrice[10][10];
  6. # define taille 10
  7. int tour_joueur;
  8. int x;
  9. int y;
  10. int r;
  11. int i;
  12. int j;
  13. int puissance;
  14. int joueur;
  15. int x1,y1,x2,y2;
  16. /*******************************************************************************/
  17. void affichage (int x1,int y1,int x2)
  18. { int j,m;
  19.   int i,k;
  20. m=0;
  21. k=0;
  22. for(j=0;j<taille;j=j+1)
  23. {line(x1,y1+m,x2,y1+m);
  24. m=m+40;
  25. }
  26. for(i=0;i<taille;i=i+1)
  27.   {line(x1+k,y1,x1+k,y2);
  28.    k=k+40;
  29.   }
  30. }
  31. /***********************************************************************************/
  32. /*m---->nombre de lignes */     /*n-->nombre d colonnes*/
  33. void init(int i,int j)
  34. /*initialisation a vide la matrice*/
  35. { for(i=0;i<10;i++)/*i=0--->matrice[0][j] cases 1ere ligne */
  36.        for(j=0;j<10;j++)
  37.    {matrice[i][j]==0;}
  38. }
  39. /************************************************************************************/
  40. void pion( int x,int y,int r)
  41. /*specif:cette procedure dessine le jeton et le place dans la colonne correspondante  */
  42. {
  43.   int i,ligne;
  44.   int col;
  45.   i=taille-1;            /******************i=9**********/
  46.   do {
  47. clrscr();
  48. printf("choisir la colonne" );
  49. scanf("%d",&col);
  50. }
  51. while((col<0)&&(col>taille));
  52. while (matrice[i][j]!=0)
  53. {
  54.   i--;
  55. }
  56.   ligne=i;
  57.   if(joueur==1)
  58.   {   matrice[i][j]=2;
  59.   setcolor(0);
  60.       circle(x+(col*20),y+(ligne*20),r);/*on place le jeton dans la premiere case vide de la colonne choisie*/
  61.   }
  62.   else { matrice[i][j]=1;
  63.      setcolor(15);
  64.          circle(x+(col*20),y+(ligne*20),r);
  65.  }
  66. }
  67. /**********************************************************************************/
  68. int test_vertical()
  69. /*specif:matrice[i][j]==1-->coup du joueur 1 sinon matrice[i][j]=2 alors coup du joueur 2(pc)*/
  70. {
  71. int puissance;
  72. for(i=0;i<=taille-3;i++)
  73.   for(j=0;j<=taille-1;j++)
  74.   {  if ((matrice[i][j]==matrice[i+1][j]) &&( matrice[i+1][j]==matrice[i+2][j])
  75.           && (matrice[i+2][j]==matrice[i+3][j]))
  76.       {
  77.      puissance=4;
  78.       }                       /*puissance 4*/
  79.    /*  else puissance=0 */
  80.   }
  81. return(puissance);
  82. }
  83. /************************************************************************************/
  84. int test_diagonale_nord_est()
  85. {
  86. int puissance;
  87. for(i=0;i<taille-3;i++)
  88. for(j=0;j<taille-3;j++)
  89.       if((matrice[i][j]==matrice[i+1][j+1])&&(matrice[i+1][j+1]==matrice[i+2][j+2])
  90.         &&(matrice[i+2][j+2]==matrice[i+3][j+3]))    /*return(4); */
  91.   {
  92.    puissance=4;
  93.   }
  94. }                          /*else puissance=0;*/
  95. return(puissance);
  96. }
  97. /***********************************************************************************/
  98. int test_diagonale_sud_est()
  99. {
  100. int puissance;
  101. for(i=taille-1;i>=3 ;i--)
  102.    for(j=0;j<taille-3;j++)
  103.    if((matrice[i][j]==matrice[i-1][j+1])&&(matrice[i-1][j+1]==matrice[i-2][j+2])
  104.     &&(matrice[i-2][j+2]==matrice[i-3][j+3])) /*return(4);*/
  105.    { puissance=4;}
  106.    else puissance=0;
  107. return(puissance);
  108. }
  109. /***********************************************************************************/
  110. int test_horizontal()
  111. {
  112. int puissance;
  113. for(i=0;i<=taille-1;i++)
  114. for(j=0;j<=3;j++)
  115.      if ((matrice[i][j]==matrice[i][j+1])&&(matrice[i][j+1]==matrice[i][j+2])
  116.   &&(matrice[i][j+2]==matrice[i][j+3]))
  117.  {
  118.   puissance=4;
  119.  }
  120. else puissance=0;
  121. }
  122. return(puissance);
  123. }
  124. /***********************************************************************************/
  125. int remplie(int matrice[i][j])
  126. { int i,j;
  127. int remplie;
  128. for(i=0;i<=taille-1;i++)
  129. for(j=0;j<taille-1;j++)
  130. {    if(matrice[i][j]!=0)
  131. {      remplie=remplie+1;
  132. /*remplie==0;*/
  133. }
  134. }
  135. return(remplie);
  136. }
  137. /****************************************************************************************/
  138. main()
  139. {
  140. int x1,y1,x2,y2;
  141. int pilote,mode;
  142. clrscr();                    /*efface l'ecran*/
  143. x1=100;
  144. y1=50;
  145. x2=500;
  146. y2=450;
  147. r=20;
  148. detectgraph(&pilote,&mode);
  149. initgraph(&pilote,&mode,"i:\\tc" );
  150. rectangle(x1,y1,x2,y2);
  151. affichage(x1,y1,x2,y2);
  152. circle(x1+20,y1+20,10);              /*jeton dans la premiere case*/
  153. /*setcolor(15)/*blanc--humain*/
  154. init(i,j);
  155. joueur=1;
  156. tour_joueur=1;
  157. do
  158. { clrscr();
  159. while (puissance!=4)
  160. {
  161.   pion(x,y,r);                                   
  162.   joueur=joueur-3;/*alterner les joueurs*/
  163.   test_vertical();
  164.   test diagonale_sud_est();
  165.   test_horizontal();
  166.   test diagonale_nord_est();
  167. }
  168. closegraph();/*clrscr()*/
  169. printf("%d",joueur);
  170. }
  171. while ((remplie(matrice[i][j])==0);
  172. closegraph();
  173. printf("match nul" );
  174. getch();
  175. }


Message édité par slim le 01-05-2004 à 19:06:40

---------------
la lumiere est lointaine car le tunnel est long
n°2749
slim
Posté le 30-04-2004 à 11:00:23  profilanswer
 

A votre avis pourquoitoutes les autres marchent sauf celle de test_diagonale_nord_est(declaration syntax error)
a deux c une etape qui faciliterait le reste j'ai tt essaye et ca marche pa pourtant le test diagonale nord est  :non:  
Merci sinon pour l'IA ,qui aurait  meme un algo?
Je dois le rendre ds ne semaine ce projet :pt1cable:


Message édité par slim le 30-04-2004 à 16:43:54

---------------
la lumiere est lointaine car le tunnel est long
n°2753
slim
Posté le 01-05-2004 à 11:50:27  profilanswer
 

voila ce qui me rend fou  
la igne ou y a la seule erreur du puissance 4 a 2 est celle ci:
int diagonale_nord_est()
message :declaration syntax error  
j'ai beau essaye y arien qui change merci  
sinon pour l'IA y aurait pa qu'elqu'un qui aurait un algo merci le jour j approche et suis a la bourre


---------------
la lumiere est lointaine car le tunnel est long
n°2755
CryoGen
Powered by kitkat©
Posté le 01-05-2004 à 18:20:21  profilanswer
 

il manque des underscore ( _ ) entre test diagonal bla bla non ?


---------------
I am the bone of my sword...
n°2756
slim
Posté le 01-05-2004 à 19:05:37  profilanswer
 

non cryogen j'ai fait int test_diagonale_nord est()
(j'ai pa mis de parametre car j'ai defini matrice[10][10]en globale)
 ca compile et il y a une erreur ds cette ligne  


---------------
la lumiere est lointaine car le tunnel est long
n°2757
CryoGen
Powered by kitkat©
Posté le 01-05-2004 à 19:51:52  profilanswer
 

Je suis pas fous quand meme

Code :
  1. while (puissance!=4)
  2.          {
  3.             pion(x,y,r);                                   
  4.             joueur=joueur-3;/*alterner les joueurs*/
  5.             test_vertical();
  6.             test diagonale_sud_est(); //ici
  7.             test_horizontal();
  8.             test diagonale_nord_est(); //là
  9.          
  10.         }


 
il manque 2 underscrores....


---------------
I am the bone of my sword...
n°2758
slim
Posté le 01-05-2004 à 20:45:39  profilanswer
 

ok cryogen j'ai corrige mais la c pire le compilateur me dit 5 erreurs un pijnnt virgunle dansla fonction remplie serieux la c le comilateur qui deconne  
et ces underscores j'comprends leur utilit puisque ca change rien  
franchement  le code e logique et cette erreur n'a pa lieu d'exister  
sinon pour l'IA j'abandonne on verra la recursion sinon on m'a parle de listes aussi pour detecter l'alignement :pt1cable:  
 mais SVP pour l'erreur au secourrrrrrrrrrrrrrrrrsssssssss


Message édité par slim le 01-05-2004 à 20:46:12

---------------
la lumiere est lointaine car le tunnel est long
n°2759
slim
Posté le 02-05-2004 à 00:03:09  profilanswer
 

y aurait personne ayant un algo recursif pour l'IA  


---------------
la lumiere est lointaine car le tunnel est long
n°2760
CryoGen
Powered by kitkat©
Posté le 02-05-2004 à 15:45:48  profilanswer
 

slim a écrit :

ok cryogen j'ai corrige mais la c pire le compilateur me dit 5 erreurs un pijnnt virgunle dansla fonction remplie serieux la c le comilateur qui deconne  
et ces underscores j'comprends leur utilit puisque ca change rien
 
franchement  le code e logique et cette erreur n'a pa lieu d'exister  
sinon pour l'IA j'abandonne on verra la recursion sinon on m'a parle de listes aussi pour detecter l'alignement :pt1cable:  
 mais SVP pour l'erreur au secourrrrrrrrrrrrrrrrrsssssssss


 
A mons avis c'est toi qui deconne :/ et tu n'as pas compris les bases du C... il n'y a pas d'espaces dans le nom des fonctions... et puis quand tu appel une fonctions avec test_blabla si dans ton code la signature de cette fonction est test blabla il fait comment le compilateur ^^


---------------
I am the bone of my sword...
n°2761
slim
Posté le 02-05-2004 à 17:06:56  profilanswer
 

dsl cryogen mais y a k'a voir les fautes d'ortographe dans le post pour voir ke j'etais hors d'etat de nuire tro ko...
 depasse le cap sinon pour l'IA  j'crois l'idee du carre la seule idee qui correspond a un debutant car les minmax utilise des primitives graphiques et des notions qu'on a pa vu sinon pour la recursion en quoi ca consisterait ? :sarcastic:


Message édité par slim le 02-05-2004 à 17:29:22

---------------
la lumiere est lointaine car le tunnel est long
n°2766
slim
Posté le 03-05-2004 à 19:24:28  profilanswer
 

dsl mais y aurait personne qui aurait une idee d'algo recursif ou n'importe pour l'IA sans notions pointues car c du niveau debutant  
 j'ai fait l'idee du carre mais c un peu tro long et ca fait pa tous les cas ?


---------------
la lumiere est lointaine car le tunnel est long
n°2767
slim
Posté le 03-05-2004 à 19:29:21  profilanswer
 

sinon pour le mode graphique en langage c quelle est l'instruction a faire aau lieu du printf merci


Message édité par slim le 03-05-2004 à 19:31:49

---------------
la lumiere est lointaine car le tunnel est long
mood
Google
Posté le 03-05-2004 à 19:29:21  profilanswer
 

 Page :  1  2
Page Suivante 

Aller à :
Ajouter une réponse
 

Hit Parade