begin process at 2012 02 11 17:58:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Autre

 > 

conditions ou récursivité?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

conditions ou récursivité?

dimanche 25 juillet 2010 à 14:46:54 | conditions ou récursivité?

moi411

Bonjour à tous,
J'ai une toute petite question mais il faut d'abord que je vous explique mon cas, c'est ça qui risque d'être long!!!

En fait je développe un morpion (10 cases sur 10) ou pour gagné il faut aligner 5 croix ou ronds. Mes cases sont des boutons (dynamiques) que je mets dans un tableau à 2 dimensions "case". Une dimension pour les ligne "i" et une autre pour les colonnes "j".

Mes conditions de victoires disent que:

pour chaque ligne
{
et pour chaque colonne
{
//horizontale
si case[i, j]=case[i, (j+1)]=case[i, (j+2)]=case[i, (j+3)]=case[i, (j+4)] alors gagné

//verticale
si case[i, j]=case[(i+1), j]=case[(i+2), j]=case[(i+3), j]=case[(i+4), j] alors gagné
...
}
}

Bref, il y a en tout 4 grandes conditions à étudier pour chacune des 100 cases (horizontale, verticale, diagonale descendant vers la droite et vers la gauche).

Le problème est que ça rame!!! Ça marche très bien mais c'est long!!! (1 bonne seconde à chaque fois).
Je me suis donc intéressé à la récursivité parce que j'ai entendu dire que c'était "LA" Solution (avec un grand S) mais au final j'aurais le même traitement, par boucle.

D’où ma question (enfin!) est-ce que ça vaut vraiment le coup de remplacer une grande condition par une boucle? Est-ce que je vais vraiment gagner du temps?

Voilà j'espère que vous comprendrez mon problème et que vous pourrez m'aider à le résoudre!

A bientôt.
moi
dimanche 25 juillet 2010 à 16:04:22 | Re : conditions ou récursivité?

Robert33

Membre Club
Réponse acceptée !

Bonjour
en effet quelque soit la methode d'implementation, si tu fais des boucles ça prend un peu de temps.

par contre tu peux sans doute faire autrement et n'évaluer que les cases autour de celle qui vient d'être cliquée.
ça limite fortement le nombre de tests.

Bob
C# is amazing, enjoy it!
dimanche 25 juillet 2010 à 17:06:32 | Re : conditions ou récursivité?

moi411

Salut,
J'ai envie de dire bon sang, mais c'est bien sûr! Je n'y avais pas pensé...
Et bien je vais essayer ça! Je te remercie.

moi
dimanche 25 juillet 2010 à 17:20:48 | Re : conditions ou récursivité?

Robert33

Membre Club
Réponse acceptée !

De rien

à ta place, j'utiliserais des totaux pndérés de colonnes et de lignes
puis avec un masque de bit, je testerais l'existance d'une suite de x bits concecutifs.
cela devrait être quasi immédiat, même si la grille est plus grande, et le nombre de cases gagnantes consécutif plus élévé.
mais chacun sa voie...

Bob.

+l'important ce n'est pas le but, mais le chemin.+
dimanche 25 juillet 2010 à 18:27:06 | Re : conditions ou récursivité?

moi411

Salut,
et bien ça par contre je n'y avais pas pensé!!!
C'est le principe des ECC (dans les barrettes de mémoire).

Sinon le fait de tester uniquement les cases autour de celles sur laquelle je clique marche nickel.

Mais je vais essayer "pour le fun" les totaux pondérés... C'est toujours intéressant de connaître
plusieurs chemin, même pour atteindre le même but! Quoi qu'après réflexion, pour les diagonales ça ne fonctionnera pas...

Enfin bref, tout ça pour te dire merci de m'avoir accorder un peu de ton temps!
moi


Cette discussion est classée dans : case, cases, conditions, récursivité, gagné


Répondre à ce message

Sujets en rapport avec ce message

conditions [ par Kbitnik ] salut, je fais un jeu en c# ou je génére des nombre à chaque foi que j'appuie sur un bonton.et ainsi, un label ajoute a chaque fois son ancien nombre Création labyrinthe [ par ChamY ] Bonjour,Je souhaite réaliser un petit jeux, qui utiliserais un labyrinthe.Mon jeux est pret sauf le laby ^^Je ne vois pas comment le réaliser.Je suis Quel évenement pour une case à coché dans une datagridview ? [ par PegaseJM ] Bonjour,J'ai des cases à cocher dans certaines colonnes de mon DataGridView.j'aimerai ce qu'il faut faire pour déclencher un événement lorsque je coch Resolution d'opérations mathématique [ par iow4 ] Bonjour, j'aimerais creer une fonction qui prend comme parametre un int[] de  nombre et un nombre et qu'elle sorte toutes les opérations possible avec attribution de valeurs de variable aux items d'une liste [ par manuweb_21 ] J'aimerais attribuer une valeur précise (je veux dire arbitraire, sans incrémentation ou décrémentation) a une variable pour chaque choix dans une lis treeview [ par akira3 ] y ai un petit problème avec un treeview.chacun de mes nones ne peut etre cliqué qu'une seule fois.La première fois tt marche à merveille mais la secon gestion de concours [ par remi1456 ] Bonjour à tous, j'ai mis ce message ici car je ne voyais pas dans quelle catégorie il peut aller !Je cherche un algorithme qui me permette de gérer un Gestion de picture Box [ par angelfire0808 ] Bonjour,Je souhaite creer un damier avec des picturebox pour faire des cases. J'ai donc crée ces différentes cases comme le code ci joint maisje voudr Pb d'exception generée [ par angelfire0808 ] Bonjour,Voici mon bout de code qui genere une NullReferenceException lors de la compilation, et je ne comprend pas pourquoi....public Case[,] position Selection d'une ligne dans une DataGrid [ par lolowilou69 ] Bonjour,Voici mon problème:J'ai une datagrid de 3 colonne dans laquelle j'ai enlevé la "RowHeader".Ce que je voudrai c'est que lorsqu'on click sur une


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,902 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales