En fait j'ai fait un jeu en VB6, un puissance 4 (donc on a un plateau de 7 en largeur sur 6 en hauteur). Je développe à côté une dll en C++ qui va me gérer mon IA. Donc à partir deVB je lance la fonction IA() avec en parametres mon plateau de jeu, donc une matrice tel que plateau(1 to 7,1 to 6). Donc comme on peut pas recupérer un tableau direct en C++, je passe donc la premiere case du tableau en parametres par adresse. Donc apres je recup ca avec un pointeur et le principe est de parcourir les adresses memoires pour recuperer toutes les valeurs du plateau de jeu. Je reussi a recuperer la plupar des valeurs, mais certaines sont totalement erronées et font planter carrément le soft VB...
Voici le code en C++ :
int _stdcall IA(int *ptr){
//déclaration des variables
int plateau[7][6],i,j,index=1,*adresse,k=0;
char buffer[4];
//récupération des valeurs du plateau
for(j=0;j<6;j++){
for(i=0;i<7;i++){
adresse=ptr+k;
k++;
plateau[i][j]=*adresse;
_itoa(plateau[i][j],buffer,10);
MessageBox(NULL,buffer,"Plateau - 0",MB_ICONINFORMATION);
}
}
/*============================================================
Début de l'algo de choix du jeu
============================================================*/
/*============================================================
Fin de l'algo
============================================================*/
//on retourne l'index où l'on joue
return index;
}