algo a comprendre - viendez tester lIA en meme temps [CAML] - C++ - Programmation
Marsh Posté le 22-12-2003 à 15:20:34
c'est quoi le problème ? les 2 derniers paramètres passés à eval_bloc sont les coordonnée du vecteur directeur du parcour.
Code :
|
après, il y a le point de départ des diagonales car le pb est que ta grille est finie :
Code :
|
tester l'alignement des x ne peut se faire qu'en partant de la colone de droite car l'intersection de la diagonale avec la ligne du bas est en dehors du jeu. symétriquement, tester l'alignement de 'o' nécessite de partir de la ligne du bas car l'intersection de cette diagonale avec la première colone est en dehors du jeu.
C'est pour ça que les coordonnées du point de départ de l'alignement qu'on teste sont incluse à la fonction.
Marsh Posté le 22-12-2003 à 17:12:36
non, ça fait les lignes, les colones et 2 fois chaque diagonale (avec un point de départ différent), pour la raison que je t'ai expliquée.
Mais ça parcourt toujours les diagonales dans le même sens, comme tu peux le voir dans les 2 derniers paramètres.
Marsh Posté le 22-12-2003 à 17:27:03
nraynaud a écrit : non, ça fait les lignes, les colones et 2 fois chaque diagonale (avec un point de départ différent), pour la raison que je t'ai expliquée. |
ok c bon now
les deux premieres instructions pour les diagonales font ca :
eval_bloc mat evaluation 0 (col-4) 0 (lig-4) 1 1 ;
eval_bloc mat evaluation 3 (col-1) 0 (lig-4) 1 (-1);
mais je vois pas lutilite de ces 2 la vu que tout a ete balaye :
eval_bloc mat evaluation 1 (lig-4) 0 (col-4) 1 1 ;
eval_bloc mat evaluation 1 (lig-4) 3 (col-1) 1 (-1);
Marsh Posté le 22-12-2003 à 17:42:47
non, les 2 derniers paramètres sont la DIRECTION du balayage pas le point de départ.
eval_bloc m evaluation 0 (col-4) 0 (lig-4) 1 1 ;
Code :
|
(* diagonales partant de la premiere colonne (à droite) *)
eval_bloc m evaluation 1 (lig-4) 0 (col-4) 1 1 ;
Code :
|
(* diagonales partant de la premiere ligne (à gauche) *)
eval_bloc m evaluation 3 (col-1) 0 (lig-4) 1 (-1) ;
Code :
|
(* diagonales partant de la derniere colonne (à gauche) *)
eval_bloc m evaluation 1 (lig-4) 3 (col-1) 1 (-1) ;[/g]
Code :
|
bon, j'ai pris la première ligne en bas, il fallait peut-être la prendre en haut, mais c'est l'esprit.
Marsh Posté le 22-12-2003 à 17:47:26
merci merci
sinon a quoi ca sert de cherchez des diagonales dans le sens / dans les coins haut gauche et bas droit sachant que au plus on pourra connecter 3 pions....
Marsh Posté le 22-12-2003 à 17:53:15
au debut je pensait
eval_bloc m evaluation 0 (col-4) 0 (lig-4) 1 1 ;
Code :
|
mais bon comme je tu mle dit c pas ca
Marsh Posté le 22-12-2003 à 17:54:28
heu passke j'ai pas lu tout le programme, les soustractions (-4) et les point de départ à 3 sont là pour ça ...
Marsh Posté le 22-12-2003 à 18:41:54
l'interface est toute pourrie mais c pas let but non plus
Marsh Posté le 22-12-2003 à 18:45:32
up de quoi ? Comme tu le dis, il va pas tester là où c'est matériellement impossible qu'il y ait 4 pions alignés.
Marsh Posté le 22-12-2003 à 18:59:08
nraynaud a écrit : up de quoi ? Comme tu le dis, il va pas tester là où c'est matériellement impossible qu'il y ait 4 pions alignés. |
ben le lien au dessus du topic
Marsh Posté le 22-12-2003 à 19:11:06
'tain t'as tout changé !
On peut avoir le code ocaml plutôt ? j'ai un mac.
Marsh Posté le 22-12-2003 à 19:14:16
nraynaud a écrit : 'tain t'as tout changé ! |
tu connait le site dou le code est tire?
ya longtemps que tu fait du caml
pour le source il arrive dans 2 sec
Marsh Posté le 22-12-2003 à 19:19:45
/o\ j'ai le bouquin sur mon bureau /o\
J'ai jamais dû lire cette partie.
je sais pas combien de temps ça fait que je connais, peut-être 3-4 ans.
Marsh Posté le 22-12-2003 à 19:21:23
nraynaud a écrit : /o\ j'ai le bouquin sur mon bureau /o\ |
si tarrive a resoudre mon prob total respect
Marsh Posté le 22-12-2003 à 19:22:30
ca fait des semaines que je cherche a le resoudre , le pire c que je doit presenter ca bientot (en janvier) et sy y me fait un coup pareil lors de la presentation
Marsh Posté le 22-12-2003 à 19:25:28
il arrive ce code ?
Marsh Posté le 22-12-2003 à 14:48:29
http://users.skynet.be/fa218598/p4.exe
je conseille le niv 8 ou en dessous
pour ceux qui ont pas confiance : un ptit coup de win32dasm pour sapercevoir quil ny a aucun acces a la base de registre ou aux fichiers
bon la fonction devaluation jme suis un peu inspiré de lalgo ce dessous mais le reste est entirement de moi
voila je c a peu pres ce que ca fait, le probleme c la comprehension de la fonction evaluer (les autres c ok)
en gros ca lance une analyse verticale des lignes (en partant du bas) et aussi horizontale (en partant de la gauche)
le seul probleme c pour les diagonales
1 1 de bas gauche vers haut droite 1 -1 de bas droite vers haut gauche, mais pour le reste je comprend pas trop
cette fonction est sensée évaluer un plateau de jeu puissance 4 pour minmax
Message édité par red faction le 22-12-2003 à 18:43:14