RECHERCHER :
COMMUNAUTE MP
Identifiez vous ...
Devenir Membre
J'ai oublié mon MDP
DOMAINE MP
Bavardages
Langages Généraux
Langages Web
Langages DotNet
Autres langages
Dev. Jeux Video
Sécurité
Sys. Exploitation
Graphismes
Logiciels
Réseaux
Bases de données
Méthodologies
Emplois High-tech
Aide juridique
Articles juridiques
FORUM
Index des forums
Ajouter un sujet
Rechercher sujet
Contact Responsable
Devenir modérateur
CHAT MP IRC
Votre pseudo ...
Serv: irc.irc-land.org
Chan: #MoteurProg
PARTICIPER
Plus de 3500 emplois.
Rechercher un job
Déposez votre CV
Emplois High-tech

Visiteur MP

 jeu de dame

Forum : C - CONSOLE
Sous Catégorie : Console
Type du sujet : Sujet Normale
FAQ : FAQ C - CONSOLE

SUIVI DES SUJETS PAR MAIL

SUIVI PAR MAIL INACTIF

RESOLUTION DU SUJET SUJET NON RESOLU
BLOQUAGE DU SUJET SUJET ACTIF
APPARTENANCE A LA FAQ N'APPARTIENT PAS A LA FAQ


PAGE : [1]

POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

FORUM C - CONSOLE

PREMIERE PAGE

PAGE PRECEDENTE

Page précedente

Page suivante

PAGE SUIVANTE

DERNIERE PAGE
marcus
Nouveau membre
Inscrit : 12/02/2007
Messages : 2
Message
#123871
Posté le 12/02/07 à 12:22
Salut quelqu'un pourrait-il m'aider. je suis en train de faire un jeu de dame en C et j'aimerais reupérer et afficher la liste des coups possibles pour un joueur donné, j'utilise une matrice (10*10) pour représenter le damier. j'ai une fonction recursive qui verifie si une prise est possible auquel cas el se rapel ainsi de suite mais elle ne sors jamais de la boucle(recursive).Smiley

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Publicité
Inscrit : X
Messages : X
Message
#Aucun

HAUT DE PAGE

  

daemoth
Superviseur :
- Bavardages
- Java
Modérateur :
- Access
Avatar de daemoth
Inscrit : 15/01/2007
Messages : 731
Message
#123930
Posté le 12/02/07 à 16:58
Tu dois avoir une erreur de logique dans ta condition, Coup possible. Revérifie ton algo. Tu peux toujours aussi nous la copier collé.
__________________________
Celui qui tue un homme est un meurtrier,
Celui qui tue un peuple est un tyran,
Celui qui tue des millions de gens est un dieu.

(Désolé pour les fautes d'orthographe que j'ai commises, et celles que je vais faire!)

--Ombre du Crépuscule--

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

vulkan
Modérateur :
- C
- Algorithmes
Avatar de vulkan
Inscrit : 12/11/2006
Messages : 357
Message
#123951
Posté le 12/02/07 à 19:20
ahh mon dieu..j'aime pas la récursivité.

ca dépend avec quoi tu rappels ta fonction récursive.
Montre nous avec un bout de code ou se trouve ton problème et on t'aidera du mieux qu'on peut.
__________________________
Image

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

daemoth
Superviseur :
- Bavardages
- Java
Modérateur :
- Access
Avatar de daemoth
Inscrit : 15/01/2007
Messages : 731
Message
#123954
Posté le 12/02/07 à 19:42
La récursivité est très pratique pour faire un nombre inderminé d'itération en faisant continuellement les même opération, comme pour la recherche dans un arbre de données, je l'ai aussi uttilisé pour faire l'outils Pot de peinture dans un paint.
__________________________
Celui qui tue un homme est un meurtrier,
Celui qui tue un peuple est un tyran,
Celui qui tue des millions de gens est un dieu.

(Désolé pour les fautes d'orthographe que j'ai commises, et celles que je vais faire!)

--Ombre du Crépuscule--

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

marcus
Nouveau membre
Inscrit : 12/02/2007
Messages : 2
Message
#123991
Posté le 13/02/07 à 09:36
voila la fonction dont je vous parlait, je sais pas quel structure de donnée utiliser pour sauvegarder le chemin d'un pion donné. vous le remarquerez que cette fonction ne sort jamais car elle reprend le même chemin, les pions 'mangé' n'ont pas été marqué.


/****************************************************************/
//Cette fonction vérifie pour un pion donné que celui-ci peut prendre.
//mat[10][10] représente le damier
//i et j sont les indices du pion donné dans la matrice
//jr représente la couleur du joueur
void PeutPrendre(int mat[10][10],int i,int j,int jr)
{
int advers;
int k;

//definition du pion adversaire
//pion noir=1 & pion blanc=9
if(jr==1) advers=9;
else advers=1;

//recherche des autres prises
//haut gauche;
if (i>1 && j>1)
{
if(mat[i-1][j-1]==advers && mat[i-2][j-2]==0)
{
PeutPrendre(mat,i-2,j-2,cpt,jr);
}
}

//haut droite
if(i<8 && j>1)
{
if(mat[i+1][j-1]==advers && mat[i+2][j-2]==0)
{
PeutPrendre(mat,i+2,j-2,cpt,jr);
}
}

//bas gauche
if(i>1 && j<8)
{
if(mat[i-1][j+1]==advers && mat[i-2][j+2]==0)
{
PeutPrendre(mat,i-2,j+2,cpt,jr);
}
}

if(j<8 && i<8)
{
if(mat[i+1][j+1]==advers && mat[i+2][j+2]==0)
{
MessageBox(NULL,"+ +","dep",MB_OK);
PeutPrendre(mat,i+2,j+2,cpt,jr);
}
}
}
/*********************************************************/

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

Czayfaboo
Co-Administrateur
Superviseur :
- Langages Dot.
Modérateur :
- CSharp (C#)
Chef de projet(s) :
- ID3.NET Library
- MoteurProg Work.

Avatar de Czayfaboo
Inscrit : 05/01/2005
Messages : 2853
Message
#123992
Posté le 13/02/07 à 10:36
Pour ton jeu, je dirais que tu as besoin d'au moins deux matrices : une avant et une après... et si tu veux calculer toutes les possibilités de coups (sur le prochain coup uniquement pour l'instant), il te faudra à l'entré une matrice et à la sortie un tableau de matrice (on passe à des tableaux 3D là)...

Voila ce que je ferais pour ce jeu...
__________________________
Sujet résolu ? Pensez à mettre le tag Image
Un problème en C# ? Vérifiez celui-ci n'est pas déjà résolu dans la FAQ et que le sujet n'est pas traité parmis les tutoriaux ou les articles avant de poster dans le forum C#.

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 

daemoth
Superviseur :
- Bavardages
- Java
Modérateur :
- Access
Avatar de daemoth
Inscrit : 15/01/2007
Messages : 731
Message
#123999
Posté le 13/02/07 à 13:44
Premièrement, uttilise la balise code lorsque tu poste du code sur ce site, cela amiliore grandement la lisibilité.

Secondo, tu as juste un petit oublie, tu vérifie correctement si il peuvent se déplace, Mais par la suite tu ne l'est déplace pas! Autrementdit, tu ne change jamais la valeur de la matrice mat!


if (i>1 && j>1) { if(mat[i-1][j-1]==advers && mat[i-2][j-2]==0) { //Adversaire mangé donc = 0 si jai bien compris mat[i-1][j-1] = 0; //Puis efface l'ancienne position du pion et met la nouvelle mat[i][j] = 0; mat[i-2][j-2] = Joueur; PeutPrendre(mat,i-2,j-2,cpt,jr); } }

__________________________
Celui qui tue un homme est un meurtrier,
Celui qui tue un peuple est un tyran,
Celui qui tue des millions de gens est un dieu.

(Désolé pour les fautes d'orthographe que j'ai commises, et celles que je vais faire!)

--Ombre du Crépuscule--

HAUT DE PAGE

PROFIL MEMBRE LUI ECRIRE 
POSTER UN NOUVEAU SUJET REPONDRE A CE SUJET

PREMIERE PAGE

PAGE PRECEDENTE Page précédente

Page suivante

PAGE SUIVANTE DERNIERE PAGE

FORUM C - CONSOLE



    PAGE : [1]



.: Site Web développé par Julien Pichot et l'équipe MPWG avec www.evolvia-web.com :.