`: `; `! `?

Jeu de Go

Jeu de Go

programme: c++/go/go.cc

rapport:c++/go/enoncé.lyx

Contents

1  Indications de départ
    1.1  Variables globales
    1.2  Exemple de structure de programme

1  Indications de départ

Remqrque: en plus du tableau T[][] qui est le ``terrain'' on utilise un tableau M[i][j], qui servira à marqué les cases, lorsque l'on cherche à localisé une zone, et les ``respirations''.

M[i][j]=1 si il y a un pion de la zone.

M[i][j]=2 si il y a une respiration de la zone.

1.1  Variables globales

1.2  Exemple de structure de programme

/*===========================================

Jeu de Go

 

codes T[i][j]=0 :vide

              1 :vide et KO

              2 :pion B

              3 :pion N

 

==========================================*/

#include <iostream.h>

 

 

//=========Paramètres ===================

const int Nx(5),Ny(5); //taille du jeu

int T[Nx][Ny]; // terrain

int pris[2]; //nbre de prisonniers: pris[col-2] : prisionniers de couleur col

 

 

int code_pion(1),code_resp(2);

void Cherche_zone(int i,int j,int col,int &n,int &r,int **M);

//========================

int ** Cree_M()

{

// code à écrire

}

//==========================

void Detruit_M(int **M)

{

// code à écrire

}

//----affiche M-----

void Affiche_M(int **M)

{

}

/*==========================================

Fonction qui calcule une zone connexe

entrée:

      (i,j): coord où il y a un pion B ou N

      col :couleur du pion

      Tableau M[i,j]=0  :pion pas marqué

                    !=0 :pion marqué

     

sortie:

      n: nbre de pions de la zone

      r: nbre de respirations (voisins libres) comptés une fois.

      M: tableau de marques

          M[i,j]=code pion

          M[i,j]=code respiration

     

Algo:

   par recherche récursive, en partant du point (i,j) et en marquant

   les pions de la zone et les respirations au fur et à mesure.

*/

void Zone(int i,int j, int col,int &n,int &r)

{

 

}

/*=====================================

 pour recherche recursive

 entree: point (i,j),

         col: code couleur

         n,r :nbre de pions et de respirations

         tableau M des marques

*/

void Cherche_zone(int i,int j,int col,int &n,int &r,int **M)

{

 

}

 

//=======Affiche terrain ==================

void Affiche()

{

 

}

/*=========================================================

Test si la couleur (col)  en (i,j) est étoufé.

si oui, enleve l'adversaire du terrain T, et si n=1 pion, met Ko=+1, dans terrain T.

*/

void Test_etouffe(int i,int j,int col)

{

 

}

 

//=======================================================

void Partie()

{

 

}

//============================================================

main()

{

}


File translated from TEX by TTH, version 2.67.
On 20 Mar 2001, 12:47.