cs_Nebula
Messages postés787Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 7 juin 20072 6 nov. 2004 à 15:01
C'est juste pour rendre la main au système, çà ne bloque pas l'appli et çà permet à Windows de faire autre chose... Le 1 durera en fait bien plus longtemps, le temps que le système change de processus et en exécute éventuellement d'autres. C'est un peu comme appeler yield(), sauf que y'a pas sous Windows, à ma connaissance (d'où la bidouille avec Sleep).
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 6 nov. 2004 à 14:46
Sleep(1) me parait court...je sé pas si ca changea qqch. 100 serait mieux non?
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 6 nov. 2004 à 13:32
un minimax, pour une ia de ce style, c'ets vrai qu'il y a bcps de coups...
selon ce que j'ai compris c'est un minimax sur 3... c'ets pas bon faut toujours un nombre pair de coups... et 3 c'est vraiment peu...
sinon une fonction d'éval se ferait plutot comme ceci :
+1 point par pion de sa couleur
-1 point par pion ennemi
-5 points par pion de ca couleur sur les lignes et colones 2 et 7
+5 points par pion ennemi dur les lignes et colones 2 et 7
+10 points par pions de sa couleur sur les bords
-10 points par pions ennemi sur les bords
+500 points ennemis aux coins
-500 points par pion ennemi aux coins
cs_Nebula
Messages postés787Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 7 juin 20072 6 nov. 2004 à 13:09
Tu mets Sleep(1) dans ta boucle principale (j'ai vu pas mal de while dans ton code, j'ai fait que survoler)... Il est déclaré dans windows.h mais y'a des équivalents sous les autres systèmes.
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 6 nov. 2004 à 12:15
exacte Nbula j'ai oublier le cas ou personne ne peut jouer je vais le rajouter mais tu peut me dire comment tu veux reduire la consommation prosseseur avec un "sleep" ?
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 6 nov. 2004 à 12:09
Oui coucou t'a en partie raison : au niveau 1 c'est la case qui peut en retourner le plus qui est choisi SAUF si il peut jouer un angle.
Au niveau 3 -j'ai enlever des points aux trois cases pres des angles(5 et 7)
-j'ai enlever 1 point pour toutes les cases pres des bords
-j'ai ajouter 1 point pour les cases des bords
-et bien sur +700 point pour les angles(comme au niveau 1)
Et j'ai fait tourner l'IA contre le'Ia pour optimiser les points.
Bon maintenant vous ne pouvez plus perdre contre mon IA
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 4 nov. 2004 à 18:48
"(trois parties se sont terminées à zéro pions pour elle)"=> ça m'est aussi arrivé contre un humain...
t'as fait quoi comme IA ? (selon ce que j'ai compis, tu joue la case ou tu as le plus de pions, or c'est pas terrible car les coins et les bors sont très importants, et il faut éviter de jouer les coups à deux cases des bords... sauf quand on a les bords...) sinon, si t'es pret a faire un pti truc plus compliqué (IA imbatable...) alros cherches AB....
cs_Nebula
Messages postés787Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 7 juin 20072 4 nov. 2004 à 18:33
Bon après avoir fait des tests plus poussés :
-> le coup de la fenêtre blanche est très frustrant ;-)
-> une fois qu'on a saisi l'IA, on l'anihile en deux coups de cuiller à pot (trois parties se sont terminées à zéro pions pour elle)
-> faudrait gérer le cas ou plus personne ne peut jouer, sinon le jeu reste bloqué
Niveau code, j'ai pas tout bien regardé mais tu peux remplacer le moche while(2==2) par un while(1). Il faudrait aussi voir si on peut caser un Sleep(1) dans la boucle principale, pour réduire la consommation processeur (mais c'est crade, le mieux serait d'adapter le jeu avec une WinMain et une vraie fenêtre, et de traiter les messages Windows).
Début encourageant, j'espère qu'il y aura des mises à jour ! ;-)
cs_Nebula
Messages postés787Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 7 juin 20072 4 nov. 2004 à 17:41
Hum un truc auquel je n'avais pas fait gaffe, c'est sa fantastique utilisation processeur... 80% sur mon PC ! :(
cs_Nebula
Messages postés787Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 7 juin 20072 4 nov. 2004 à 17:39
Salut, l'IA est assez forte en effet (testé en level 3). Un truc de dommage : si une autre fenêtre recouvre la fenêtre de jeu, elle ne se repeint pas (on a donc une grosse zone blanche)... Et pourquoi avoir gardé la fenêtre console ?
Sinon c'est un bon petit jeu, j'adore Othello ;-)
Pistol_Pete
Messages postés1053Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 9 juillet 20137 4 nov. 2004 à 11:44
tout d'abord merci pour tes compliments. Ca me fait plaisir de voir que mon IA pose des problemes.Mais je sais qu'elle n'utilise pas toutes les possibilites d'un PC. L'IA joue instentanement...
CMUGRAPHICS est une lib que j'ai eu par mon école mais je sais que l'on peut la trouver sur le net.
En fait c'est quoi la version "release"
Et Pistol-Pete c'est le surnom du meilleur joueur de tennis du monde PETE SAMPRAS (bande d'ignorant lol)
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 3 nov. 2004 à 21:54
et dis voir, pistol pete c'est pas un gars dans Mafia?
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 3 nov. 2004 à 21:53
géniale, l'IA!! bravo!! j'ai eu du mal a la battre
(mais je l'ai qd meme eue, niark niark)
C'st quoi CMU graphics? jamais entendu parler...ca fait partie de windows'apparement non ca VC++ ne trouve pas le header.
Par contre tu devrait te dépécher de mettre la version release au lieu de la debug, moi je me suis déja fait rebrousser le poil par brunews ;)
Et, encore une fois, je ne comprend pas comment on peut gére une source de 600 lignes... enfin ya pire.
6 nov. 2004 à 15:01
6 nov. 2004 à 14:46
6 nov. 2004 à 13:32
selon ce que j'ai compris c'est un minimax sur 3... c'ets pas bon faut toujours un nombre pair de coups... et 3 c'est vraiment peu...
sinon une fonction d'éval se ferait plutot comme ceci :
+1 point par pion de sa couleur
-1 point par pion ennemi
-5 points par pion de ca couleur sur les lignes et colones 2 et 7
+5 points par pion ennemi dur les lignes et colones 2 et 7
+10 points par pions de sa couleur sur les bords
-10 points par pions ennemi sur les bords
+500 points ennemis aux coins
-500 points par pion ennemi aux coins
6 nov. 2004 à 13:09
6 nov. 2004 à 12:15
6 nov. 2004 à 12:09
Au niveau 3 -j'ai enlever des points aux trois cases pres des angles(5 et 7)
-j'ai enlever 1 point pour toutes les cases pres des bords
-j'ai ajouter 1 point pour les cases des bords
-et bien sur +700 point pour les angles(comme au niveau 1)
Et j'ai fait tourner l'IA contre le'Ia pour optimiser les points.
Bon maintenant vous ne pouvez plus perdre contre mon IA
4 nov. 2004 à 18:48
t'as fait quoi comme IA ? (selon ce que j'ai compis, tu joue la case ou tu as le plus de pions, or c'est pas terrible car les coins et les bors sont très importants, et il faut éviter de jouer les coups à deux cases des bords... sauf quand on a les bords...) sinon, si t'es pret a faire un pti truc plus compliqué (IA imbatable...) alros cherches AB....
4 nov. 2004 à 18:33
-> le coup de la fenêtre blanche est très frustrant ;-)
-> une fois qu'on a saisi l'IA, on l'anihile en deux coups de cuiller à pot (trois parties se sont terminées à zéro pions pour elle)
-> faudrait gérer le cas ou plus personne ne peut jouer, sinon le jeu reste bloqué
Niveau code, j'ai pas tout bien regardé mais tu peux remplacer le moche while(2==2) par un while(1). Il faudrait aussi voir si on peut caser un Sleep(1) dans la boucle principale, pour réduire la consommation processeur (mais c'est crade, le mieux serait d'adapter le jeu avec une WinMain et une vraie fenêtre, et de traiter les messages Windows).
Début encourageant, j'espère qu'il y aura des mises à jour ! ;-)
4 nov. 2004 à 17:41
4 nov. 2004 à 17:39
Sinon c'est un bon petit jeu, j'adore Othello ;-)
4 nov. 2004 à 11:44
CMUGRAPHICS est une lib que j'ai eu par mon école mais je sais que l'on peut la trouver sur le net.
En fait c'est quoi la version "release"
Et Pistol-Pete c'est le surnom du meilleur joueur de tennis du monde PETE SAMPRAS (bande d'ignorant lol)
3 nov. 2004 à 21:54
3 nov. 2004 à 21:53
(mais je l'ai qd meme eue, niark niark)
C'st quoi CMU graphics? jamais entendu parler...ca fait partie de windows'apparement non ca VC++ ne trouve pas le header.
Par contre tu devrait te dépécher de mettre la version release au lieu de la debug, moi je me suis déja fait rebrousser le poil par brunews ;)
Et, encore une fois, je ne comprend pas comment on peut gére une source de 600 lignes... enfin ya pire.