Jeu de gomoku avec ia

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

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.