home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Freelog 17
/
Freelog017.iso
/
BeOS
/
ababelone
/
Sources
/
DeplacementOrdinateur.h
< prev
next >
Wrap
C/C++ Source or Header
|
2000-11-05
|
2KB
|
51 lines
/*
Copyright (C) 2000 by Hervé PHILIPPE <rv@bemail.org>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#ifndef _DEPLACEMENTORDINATEUR_H_
#define _DEPLACEMENTORDINATEUR_H_
#include "Deplacement.h"
#define COUP_IMPOSSIBLE -32000
class DeplacementOrdinateur : public Deplacement
{
// FONCTIONS
public:
DeplacementOrdinateur(PlateauDeJeuInterne* plateau_de_jeu_interne, PlateauDeJeuGraphique* plateau_de_jeu_graphique, int8 couleur, uint8 profondeur_max = 1);
void Jouer(bool faire_glisser_les_boules = true);
private:
int16 CalculerMeilleurCoupPossible(uint8 prodondeur = 1);
void CalculerCoup(int16& meilleur_coup, PlateauDeJeuInterne* ancien_plateau_interne, PlateauDeJeuInterne* nouveau_plateau_interne, uint8 profondeur, int8 nombre_boules_joueur = 0, int8 nombre_boules_adversaire = 0);
int16 CalculerValeurCoupPoussee(int8 nombre_boules_joueur, int8 nombre_boules_adversaire, bool deplacement_virtuel = false);
int16 CalculerValeurCoupLateral(bool deplacement_virtuel = false);
void SauvegarderMeilleurCoup();
void RestaurerMeilleurCoup();
// VARIABLES ET CONSTANTES
private:
static int16 m_TableauPonderation[TAILLE_TABLEAU_INTERNE][TAILLE_TABLEAU_INTERNE];
uint8 m_ProfondeurMax;
int8 m_PremiereBouleSelectionnee_MeilleurCoup;
int8 m_Direction_MeilleurCoup;
int8 m_NombreBoulesSelectionnees_MeilleurCoup;
int8 m_DirectionLaterale_MeilleurCoup;
};
#endif