Jeu de gomoku avec ia

Soyez le premier à donner votre avis sur cette source.

Vue 10 630 fois - Téléchargée 1 018 fois

Description

Voici un jeu de gomoku avec une intelligence artificielle. Le but du jeu est d'aligner 5 pions plus rapidement que son adversaire

Plusieurs interfaces de jeu sont disponibles, et il est possible d'en créer des nouvelles (en réimplémentant plugin.h, comme je le fait avec default_plugin et plugin_01)

L'IA peut-être assez lente (surtout sous Windows XP).

Ce programme utilise Qt 4.4.3, et est compilable sous Windows XP et Linux 2008. Non compilé sur Windows 2000 ou Windows Vista, mais ne devrait pas poser de problèmes.

Sont fournis dans le zip :
-toutes les sources
-l'exécutable compilé sous windows XP
-l'exécutable compilé sous Linux 2008
-les librairies (*.dll, *.so) des plugins d'affichage compilés sous Windows XP et Linux 2008
-quelques images... pour faire joli :D

Merci de me faire parvenir toutes les modifications que vous pourriez apporter au code.

Source / Exemple :


//Voir le zip.

//Si vous souhaitez compiler les sources, n'oubliez pas de compiler également:
// default_plugin (/plugin/default_plugin)
// plugin_01 (/plugin/plugin_01)

//Si vous voulez compiler sous mac, il doit falloir rajouter :

#ifdef Q_OS_MAC
	QSettings settings(this);
#endif

//(ou quelque chose comme ça)
//après chaque occurrence de  :

#ifdef Q_OS_UNIX
	QSettings settings(this);
#endif
#ifdef Q_OS_WIN
	QSettings settings(QString("%1/Settings/Morpion.conf").arg(QCoreApplication::applicationDirPath()), QSettings::IniFormat);
#endif

// Et rajouter à la ligne 798 (ou environ) de mainwindow.cpp :
#ifdef Q_OS_MAC	
	if(!grille->setPlugin("Plugin", /*"Nom du plugin sous mac"*/, "Default"))
        {
		QMessageBox::critical(this, trUtf8("Erreur"), trUtf8("Impossible de charger le plugin d'affichage par defaut.\nL'application va quitter."), QMessageBox::Ok, QMessageBox::Ok);
		qApp->exit(1);
	}
#endif
//(ou quelque chose comme ça)

// Également, rajouter à la ligne 362 (ou environ) de options.cpp) :
#ifdef Q_OS_MAC
	QStringList plugin = pluginDir.entryList(QStringList() << /*"*.extension des librairie dynamiques sous mac"*/, QDir::Files);
#endif
//(où quelque chose comme ça)

// Il faut également modifier 'main.cpp' :
// rajoutez :
#ifdef Q_OS_MAC
	QCoreApplication::setOrganizationName("Morpion");
	QCoreApplication::setApplicationName("Morpion");
#endif

Conclusion :


Bon jeu à tous !

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
samedi 27 décembre 2008
Statut
Membre
Dernière intervention
9 septembre 2010

je voudrais telecharger gomoku narabe et j'arrive pas on me branche toujours sur telecharger le zip et je n'arrive pas a avoir le logiciel je voudrais des information a ce sujet merci
Messages postés
5
Date d'inscription
dimanche 13 avril 2008
Statut
Membre
Dernière intervention
22 mai 2010

Effectivement, il semble qu'ils manque des fichiers
Messages postés
1
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
21 mai 2010

Bonjour,
Ce programme m'intéresse, particulièrement IA mais je suis face à quelques problèmes.
je ne voie aucun exécutable dans les fichiers (j'ai bien compiler default_plugin et plugin_01).
j'ai essayé de recompiler le code mais a mon avis il manque le fichier Grill.cpp j'ai plein d'undefined de la class Grill (logique sans cpp...).
vu que personne n'a rien dit depuis 1 an je suppose que je doit me tromper donc si quelqu'un pouvait m'éclairer.
Merci.
Messages postés
5
Date d'inscription
dimanche 13 avril 2008
Statut
Membre
Dernière intervention
22 mai 2010

Accélérer l'IA reviendrait... à baisser son niveau, ce qui n'est pas forcement un but.
Je peux par contre proposer plusieurs niveaux de difficulté...
Messages postés
31
Date d'inscription
jeudi 2 août 2007
Statut
Membre
Dernière intervention
19 avril 2009

Bonjour à tous !
J'ai mis un 10 bien que je ne connaisse pas vraiment le c++, mais parce que le code est propre (bien indenté et très bien commenté), qu'il n'y a pas de bug (du moins je n'en ai pas trouvé), et parce que l'ia est vraiment forte !
Je n'ai pas réussi à gagner une seule partie même si j'ai un niveau assez faible au gomoku.
Les améliorations que je propose :
-Afficher la défaite ou la victoire dans une fenêtre (ça se voit difficilement en bas à droite).
-pouvoir exporter ses parties en fichiers texte.
-améliorer la vitesse de l'ia (environ 4 secondes sous windows).
-...voilà je ne trouve rien d'autre...

Bonne continuation pour les nouvelles versions ! ;-)
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.