`: `; `! `?
programme: c++/go/go.cc
1 Indications de départ
1.1 Variables globales
1.2 Exemple de structure de programme
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.
/*===========================================
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()
{
}