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 !
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.