begin process at 2010 02 09 20:42:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Algorithme

 > 

Maths

 > 

Création Intelligence Artificiel pour jeu 2d


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Création Intelligence Artificiel pour jeu 2d

samedi 25 octobre 2008 à 16:40:46 | Création Intelligence Artificiel pour jeu 2d

Mokost

Bonjour a tous,
Il y a peu de temps j'ai mis cette source utilisant gdi sur csharp.fr :
http://www.csharpfr.com/codes/JEU-FAUT-ALIGNER-COULEURS-CASSER-BLOCKS-EXEMPLE-ALGORITHME_48274.aspx

entre temps je l'ai améliorée et passer sous directx :
vous trouverez la source ici
http://sharprojet.fr.cr/Projets/Blocks.zip

dans la liste des amélioration j'y ai ajouté un autre joueur et les blocks  qui vous tombent dessus quand l'adversaire fait des chaines
L'adversaire peu être un joueur ou l'ordinateur.

j'ai crée un type
enum CpuAct : byte { Left = 0, Right = 1, Down = 2, Rotate = 3, None = 4 };
qui permetra d'indiquer les touches a effectuer pour pouvoir voir en temps réel les déplacements de l'ordinateur.

L' IA maintenant, auparavent je n'ai jamais fait d ' ia et c'est pour moi l'occasion de me confronter a ce genre d'algorithme qui me retombera dessus j'en suis sure.

L'ordinateu a un plateau de 9 x 14 Block
les blocks sont comme suit :
        struct Block
        {
            //Renvoie la couleur du block
            public BlockColor Color;
            //Renvoie les liens par rapport aux autres blocks
            public BlockLink Liens;
            //entier pour géré l'effet de clignotement
            public int intBlink;
            //indique si ce block a déjà été verifié
            public bool Checked;
            //indique si ce block va exploser
            public bool WillExplode;

            public sbyte Vie;
            public bool LinkedTo(BlockLink aBlink)
            {
                if ((Liens & aBlink) == aBlink)
                    return true;
                else return false;
            }
            public bool IsEmpty
            {
                get
                {
                    if (Color == BlockColor.Aucun || Color == BlockColor.Incassable && Vie <= 0)
                        return true;
                    else return false;
                }
            }

            public static Block NullBlock()
            {
                Block bl = new Block();
                bl.Color = BlockColor.Aucun;
                bl.Checked = false;
                bl.WillExplode = false;
                bl.intBlink = 0;
                bl.Vie = 0;
                bl.Liens = BlockLink.Aucun;
                return bl;
            }

            public static Block BlockFromByte(byte intBlock)
            {
                Block bl = Block.NullBlock();
                bl.Color = (BlockColor)(intBlock);
                return bl;
            }
            public override string ToString()
            {
                return "Color : " + Color.ToString() + ", Liens :" + Liens.ToString() + ", WillExplode :" + WillExplode.ToString();
            }
        }

Le but :
 L'ia devra prévoir les actions prochaines a effectuer liste de CpuAct en fonction de son plateau de jeu.
 Elle doit etre capable de générer des chaines.

Pour être honnête je ne sais pas comment m'y prendre, j'ai seulement crée une petite ia toute bête qui essaie de mettre les mêmes couleur les une sur les autres.

Merci de vous être arrêté ici et pris le temps de lire. N'hésitez pas si vous voulez, plus d'information j'attends avec impatiente vos aides et vos suggestions
Cordialement
mercredi 26 novembre 2008 à 16:07:40 | Re : Création Intelligence Artificiel pour jeu 2d

ctx_man

Bonjour,
Si tu veux faire une IA "intelligente" qui prend des décision correcte en fonction de la situation, soit tu crains pas les migraines et tu code tout en C#. Ca va être la galère, a base d'étude statistique et tout et tout.
Soit tu passe par un autre language tel que LISP ou PROLOG qui sont des languages à base de liste et de prédicats qui permettent de décrire assez simplement un "univers" au sens "probabilité" du terme pour après poser des question du genre "comment aligner 4 couleur ?" et qui te retournera une liste des possibilité. Mais je te cache pas qu'apréhender ces languages quand on y est pas habitué c'est pas facil du tout et ca demande du temps.

Le travail c'est la santé, ne rien faire c'est la préserver !!!


Cette discussion est classée dans : public, return, bl, color, block


Répondre à ce message

Sujets en rapport avec ce message

Incomprehensible !!!!! [ par Mimoza222 ] Inexplicable : Vola mon code : public string Color         {             get             {   & [C#] RichTextBox et SelectionColor() [ par scoubidou944 ] j'ai des petits soucis de refresh sur les RichText et la coloration de portions immédiate (en différé ca passe).Ce qui fonctionne :------------------- Xml et ma librairie Excel [ par kooroza ] Bonjour,Je veux lire et modifier un fichier XML qui a à peu près la forme suivante.       A1    H Tutoriel classes et programmation objet [ par olibara ] Bonjour Je developpe depuis qq semaine en Csharp et je trouve ce langauage tres agréable et puissant. Je pense maitriser déja pas mal de choses Cepe c# asp encapsulation [ par gatina ] bonjour voila je suis actuellement en stage et je doit utiliser les langage c# et asp mais je ne m'y conné pas du tous et je n'arrive pas a trouver de toggle button rond [ par dan001be ] Bonjour,j'ai trouver un exemple de code pour dessiner des boutons oval etcj'essaie de creer un togglebutton (on/off) en utilisant ce code, cele foncti héberger des contrôles dans des cellules DataGridView Windows Forms [ par 22783208 ] Bonjour à tout le monde. Je souhaite héberger un contrôle qui s'appelle "DataGridViewSearchColumn" dans des cellules DataGridView Windows Forms. C désérialiser un objet qui contient un propriété qui est une liste d'objet [ par mathmax ] je cherche à désérialiser le document xml suivant :      >user1Login>    <font color="#000000" Probleme OleDbDataReader [ par bibibiba ] Bonjour,je suis novice en C# et j'ai une classe BaseAccess qui doit permettre de lire les données d'un utilisateur contenues dans une base,pour ce fai Passage de variables Form / Class [ par ansizak ] Bonjour,Je travaille sur une application dans laquelle ej dispose d'un module de configuration.j'ai deux Form:- la principale- la fenetre de configura


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,374 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales