begin process at 2012 02 16 04:24:22
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Projet NURMITES

 > NURMITES : DEBUT DE MODULE DU CERVEAU

NURMITES : DEBUT DE MODULE DU CERVEAU


 Information sur la source

Note :
9,75 / 10 - par 4 personnes
9,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Projet NURMITES Classé sous :nurmite, module, cerveau Niveau :Expert Date de création :08/07/2001 Vu / téléchargé :7 788 / 210

Auteur : ToasTy

Ecrire un message privé
Site perso
Commentaire sur cette source (0)
Ajouter un commentaire et/ou une note

 Description

Bon ben voici le debut du module de cerveau que je suis en train de faire...Il est pas tres complet mais je preferai que vous me donniez votre avis avant que je le continue ! J'ai encore pas mal d'idees, genre les maladies infectieuses et autres mais pour ca il faudrai creer d'autres fonctions genre detecter si un autre nurmite est visible par le nurmite, pouvoir detecter l'odeur en + de la direction...bon voila, donnez-moi votre avis avant que je continue !!!

Source

  • 'Voici le module de cerveau tout frais que je viens de faire
  • 'Comme je sais pas la fonction pr se deplacer, j'utilise : Bouge(Nurmite as nurm, Direction as direction)
  • Const NURM_Free = True
  • Const NURM_Action = False
  • Type Nurm
  • XPos As Integer
  • YPos As Integer
  • Age As Integer
  • Generation As Integer
  • Memory As NurmMemoryMatrix
  • State As NurmState
  • WorldVue As Vision
  • Trajectoire As Route
  • Props As Bio
  • End Type
  • Type NurmMemoryMatrix
  • End Type
  • Type NurmState
  • Action As Boolean
  • Action_Type As String
  • Vie As Integer
  • Sommeil As Integer
  • Faim As Integer
  • Soif As Integer
  • Maladie As Integer
  • End Type
  • Type Bio
  • Vie_Max As Integer
  • Intelligence As Integer
  • Resistance As Integer
  • Vue As Integer
  • Odorat As Integer
  • Ouie As Integer
  • End Type
  • Type Vision
  • End Type
  • Type Route
  • End Type
  • 'Cette fonction doit être appelee a chaque changement de cycle absolument !!!
  • Public Function NurmNewCycle(Nurmite As Nurm)
  • Dim tmp As Integer
  • Dim malus As Integer
  • 'Augmente la faim du Nurm
  • tmp = Int(Rnd * 100) + 1
  • Nurmite.State.Faim = Nurmite.State.Faim + tmp
  • 'Augmente la soif du Nurm
  • tmp = Int(Rnd * 100) + 1
  • Nurmite.State.Soif = Nurmite.State.Soif + tmp
  • 'Augmente le sommeil du Nurm
  • tmp = Int(Rnd * 100) + 1
  • Nurmite.State.Sommeil = Nurmite.State.Sommeil + tmp
  • 'Teste la faim, la soif et le sommeil du Nurmite
  • If Nurmite.State.Faim > (Nurmite.Props.Resistance * 100) Then Nurmite.State.Action_Type = "FAIM"
  • If Nurmite.State.Sommeil > (Nurmite.Props.Resistance * 100) Then Nurmite.State.Action_Type = "SOMMEIL"
  • If Nurmite.State.Soif > (Nurmite.Props.Resistance * 100) Then Nurmite.State.Action_Type = "SOIF"
  • 'Teste la maladie qui est due au vent
  • malus = (((Int(Rnd * windspeed) + 3) * 8) - Nurmite.State.Props.Resistance)
  • 'Puis c'est la pluie qui afaiblit le nurmite
  • If IsRaining = True Then
  • malus = malus + (((Int(Rnd * 6) + 3) * 8) - Nurmite.State.Props.Resistance)
  • End If
  • 'S'il n'y a aucun malus, le nurmite reprend des forces
  • If malus <= 0 Then malus = -((Int(Rnd * 5) + 1) * Nurmite.Props.Resistance)
  • 'Ajoute le malus a la valeur de maladie du nurm
  • Nurmite.State.Maladie = Nurmite.State.Maladie + malus
  • 'Execute l'action du Nurm
  • Select Case Nurmite.State.Action_Type
  • Case "FAIM"
  • NurmChercheManger Nurmite, ODEUR_VIANDE
  • Case "SOIF"
  • NurmChercheManger Nurmite, ODEUR_EAU
  • Case "SOMMEIL"
  • NurmDort (Nurmite)
  • End Select
  • End Function
  • 'Fonction appelée quand le Nurm mange
  • 'Je m'occupe pas des fonctions de NurmFood.bas
  • Public Function NurmMange(Nurmite As Nurm)
  • Nurmite.State.Faim = Nurmite.State.Faim - 1500
  • If Nurmite.State.Faim > (Nurmite.Props.Resistance * 100) Then Nurmite.State.Action_Type = "FAIM"
  • End Function
  • 'Quand le Nurm boit...
  • 'Teste aussi s'il a encore soif
  • Public Function NurmBoit(Nurmite As Nurm)
  • Nurmite.State.Soif = Nurmite.State.Soif - 1500
  • If Nurmite.State.Soif > (Nurmite.Props.Resistance * 100) Then Nurmite.State.Action_Type = "SOIF"
  • End Function
  • 'Et là quand il dort
  • Public Function NurmDort(Nurmite As Nurm)
  • Nurmite.State.Sommeil = Nurmite.State.Sommeil - 1500
  • If Nurmite.State.Sommeil > (Nurmite.Props.Resistance * 100) Then Nurmite.State.Action_Type = "SOMMEIL"
  • End Function
  • 'Recherche de nourriture quand il a faim ou soif
  • 'Retourne Vrai si le nurmite a trouve a mange
  • 'Retourne Faux si le nurmite n'a rien trouve...
  • Public Function NurmChercheManger(Nurmite As Nurm, Odeur As Odeur) As Boolean
  • 'Cherche une odeur quelconque
  • Direction = FindNearestOdeur(Nurmite, Odeur)
  • 'S'il trouve l'odeur de la viande
  • If Direction <> "" Then
  • Bouge Nurmite, Direction
  • Else
  • 'S'il ne trouve pas l'odeur de la viande, on va voir s'il est assez intelligent pour en chercher...
  • 'Comme ca ca renforce l'idee de la selection naturelle
  • 'Un nurmite peut mourir de faim s'il est pas assez intelligent pour chercher a manger
  • If Nurmite.Props.Intelligence >= (Int(Rnd * 20) + 1) Then
  • Direction = DetectNouvelleOdeur(Nurmite)
  • End If
  • End If
  • End Function
  • Public Function NurmDort(Nurmite As Nurm)
  • Dim malus As Integer
  • If DuBruit(Nurmite) = True Then malus = Int(Rnd * 100) + 1
  • Nurmite.State.Sommeil = Nurmite.State.Sommeil - (Int(Rnd * 200) + 100)
  • End Function
'Voici le module de cerveau tout frais que je viens de faire
'Comme je sais pas la fonction pr se deplacer, j'utilise : Bouge(Nurmite as nurm, Direction as direction)

Const NURM_Free = True
Const NURM_Action = False

Type Nurm
    XPos As Integer
    YPos As Integer
    Age As Integer
    Generation As Integer
    Memory As NurmMemoryMatrix
    State As NurmState
    WorldVue As Vision
    Trajectoire As Route
    Props As Bio
End Type

Type NurmMemoryMatrix
End Type

Type NurmState
    Action As Boolean
    Action_Type As String
    Vie As Integer
    Sommeil As Integer
    Faim As Integer
    Soif As Integer
    Maladie As Integer
End Type

Type Bio
    Vie_Max As Integer
    Intelligence As Integer
    Resistance As Integer
    Vue As Integer
    Odorat As Integer
    Ouie As Integer
End Type

Type Vision
End Type

Type Route
End Type

'Cette fonction doit être appelee a chaque changement de cycle absolument !!!
Public Function NurmNewCycle(Nurmite As Nurm)
    Dim tmp As Integer
    Dim malus As Integer

    'Augmente la faim du Nurm
    tmp = Int(Rnd * 100) + 1
    Nurmite.State.Faim = Nurmite.State.Faim + tmp

    'Augmente la soif du Nurm
    tmp = Int(Rnd * 100) + 1
    Nurmite.State.Soif = Nurmite.State.Soif + tmp

    'Augmente le sommeil du Nurm
    tmp = Int(Rnd * 100) + 1
    Nurmite.State.Sommeil = Nurmite.State.Sommeil + tmp

    'Teste la faim, la soif et le sommeil du Nurmite
    If Nurmite.State.Faim > (Nurmite.Props.Resistance * 100) Then Nurmite.State.Action_Type = "FAIM"
    If Nurmite.State.Sommeil > (Nurmite.Props.Resistance * 100) Then Nurmite.State.Action_Type = "SOMMEIL"
    If Nurmite.State.Soif > (Nurmite.Props.Resistance * 100) Then Nurmite.State.Action_Type = "SOIF"

    'Teste la maladie qui est due au vent
    malus = (((Int(Rnd * windspeed) + 3) * 8) - Nurmite.State.Props.Resistance)
    'Puis c'est la pluie qui afaiblit le nurmite
    If IsRaining = True Then
        malus = malus + (((Int(Rnd * 6) + 3) * 8) - Nurmite.State.Props.Resistance)
    End If
    'S'il n'y a aucun malus, le nurmite reprend des forces
    If malus <= 0 Then malus = -((Int(Rnd * 5) + 1) * Nurmite.Props.Resistance)

    'Ajoute le malus a la valeur de maladie du nurm
    Nurmite.State.Maladie = Nurmite.State.Maladie + malus

    'Execute l'action du Nurm
    Select Case Nurmite.State.Action_Type
        Case "FAIM"
            NurmChercheManger Nurmite, ODEUR_VIANDE
        Case "SOIF"
            NurmChercheManger Nurmite, ODEUR_EAU
        Case "SOMMEIL"
            NurmDort (Nurmite)
    End Select
End Function

'Fonction appelée quand le Nurm mange
'Je m'occupe pas des fonctions de NurmFood.bas
Public Function NurmMange(Nurmite As Nurm)
    Nurmite.State.Faim = Nurmite.State.Faim - 1500
    If Nurmite.State.Faim > (Nurmite.Props.Resistance * 100) Then Nurmite.State.Action_Type = "FAIM"
End Function

'Quand le Nurm boit...
'Teste aussi s'il a encore soif
Public Function NurmBoit(Nurmite As Nurm)
    Nurmite.State.Soif = Nurmite.State.Soif - 1500
    If Nurmite.State.Soif > (Nurmite.Props.Resistance * 100) Then Nurmite.State.Action_Type = "SOIF"
End Function

'Et là quand il dort
Public Function NurmDort(Nurmite As Nurm)
    Nurmite.State.Sommeil = Nurmite.State.Sommeil - 1500
    If Nurmite.State.Sommeil > (Nurmite.Props.Resistance * 100) Then Nurmite.State.Action_Type = "SOMMEIL"
End Function

'Recherche de nourriture quand il a faim ou soif
'Retourne Vrai si le nurmite a trouve a mange
'Retourne Faux si le nurmite n'a rien trouve...
Public Function NurmChercheManger(Nurmite As Nurm, Odeur As Odeur) As Boolean
    'Cherche une odeur quelconque
    Direction = FindNearestOdeur(Nurmite, Odeur)
    'S'il trouve l'odeur de la viande
    If Direction <> "" Then
        Bouge Nurmite, Direction
    Else
    'S'il ne trouve pas l'odeur de la viande, on va voir s'il est assez intelligent pour en chercher...
    'Comme ca ca renforce l'idee de la selection naturelle
    'Un nurmite peut mourir de faim s'il est pas assez intelligent pour chercher a manger
        If Nurmite.Props.Intelligence >= (Int(Rnd * 20) + 1) Then
            Direction = DetectNouvelleOdeur(Nurmite)
        End If
    End If
End Function

Public Function NurmDort(Nurmite As Nurm)
    Dim malus As Integer
    If DuBruit(Nurmite) = True Then malus = Int(Rnd * 100) + 1
    Nurmite.State.Sommeil = Nurmite.State.Sommeil - (Int(Rnd * 200) + 100)
End Function  

 Conclusion

J'ai cree des caracteristiques pour les nurmites telles que leur intelligence, leur resistance, etc...ces donnees vont de 1 à 20 et pour le codage genetique ca sera bien facile, suffira de mettre les chiffres les uns apres les autres(en les formattant à 2 chiffres) pour donner la chaine "d'ADN"...(ex: 160811 -&gt; 16 en intelligence, 8 en resistance et 11 en je sais pas quoi). Ces caracteristiques sont toutes aussi importantes les unes que les autres et le cerveau commence montre bien la selection naturelle qui se produit...Allez hop, depechez-vous de juger pour que je puisse continuer parce que je suis bourre d'idees !!!!!
@+,
     le Toaster eleveur de nurm(je recommande Pedigree Nurm, la nourriture des champions)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip FONDS COLORÉS DANS LES RICHTEXTBOX

 Sources de la même categorie

Source avec Zip Source avec une capture NURMITE PROJECT 1.2.21 par Mémère
Source avec Zip NURMITE PROJECT par Mémère
MODULE MÉTÉO (NURMITE) par ceyquem
MODULE FOOD (NURMITE) par ceyquem
Source avec Zip MODULE MEMOIRE (NURMITE) par tartempion

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture CREATION D'UN OBJET D'ACCÈS AUX DONNÉES par okosa
Source avec Zip Source avec une capture RENDRE TRANSPARENT VOS FEUILLE -- OPACITE par zulrigh
MODULE MÉTÉO (NURMITE) par ceyquem
Source avec Zip MODULE MÉMOIRE V1 par tartempion
Source avec Zip PROJET NURMITES MODULE ROUTE par Sylderon

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Debut du Module de cerveau [ par ToasTy ] J'ai mis le debut du module de erveau que je suis en train de faire mais je le continuerai que si j'ai des avis positifs...J'ai pas mal d'idees mais s A propos du module de cerveau...(à lire !!!) [ par ToasTy ] Bon j'avais pas tenu compte du module dans le projet, mais maintenant je suis en train d'arranger tout ca.Par contre j'ai besoin de plusieurs chose : Nurmite: le module ROUTE [ par Sylderon ] Bonjour à tous.J'ai vu récemment ce projet et décidé de vous donner un coup de main.Aussi je vous propose de m'occuper du module ROUTE pour élaborer d .: module Abandon :. [ par El Manipulator [Le vrai Le seul L'unique ] ] ben c'est moi, et je vous présente le nouveau module que j'ai mis tant de temps a développer. Le module Abandon.Le concept de base de ce module consis Module ROUTE [ par Sylderon ] Une première intégration de calcul d'itinéraire est dispo en zone download.C'est un début et je continue de travailler dessus.A+ c2i.fr - Module Route : GRRRRRRR...... [ par c2i-Richard Clark ] Je me balade ce dimanche sur ce site du cher Nix.Je vois à ce moment le projet Nurmite dont je trouve l'idée fort sympathique .Je regarde les différen insertion de SQL dans un module [ par Mary ] re-bonjour...je voudrais savoir si l'insertion de SQL dans un module d'un projet en vb6 est possible...en fait vb semble reconnaître le sql qd on l'in Constructeur dans module de classe [ par antho ] Bonjour,Je voudrais savoir s'il est possible de passer des paramètres à un constructeur dans une classe VB. L'événement Class_initialize ne prend pas Encore une question : sur les modules [ par Brodeur ] Bonjour, je sais que je prends beaucoup de place dans ce forum et je suis desole mais je suis tres curieux et tres debutant aussi. Maintenant, je me d Connection Rdo à partir d'un module [ par faf ] URGENT MERCItt d'abord : bonne année, bon siècle, bon millénaire !je cherche à me connecter à une BDD oracle à partir d'une feuille qui appelle une fo


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 2,434 sec (3)

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