Simulateur de vie encore un(version corrige)

Soyez le premier à donner votre avis sur cette source.

Vue 7 405 fois - Téléchargée 523 fois

Description


Life v1.1

Auteur:Nevy
Version: 1.1
Remarque: d'apres une idée de Saylar et de plein d'autres
Life.ex_ contient l'executable windows a renomer en Life.exe

Fonctionnement:
Ce programme simule l'evolution de bestiolle (de 1 à 1000 sans problème aprés ca commence à ramer)
(Code couleur Vert Enfant,Rouge Femme,Rose Femme en ovulation,Bleu Homme,Gris Vieux,Noir avec une croix Mort)
Les bestiolles vivent sur une sphere(le bord droit est lié au bord gauche, de meme la bordure basse est lié a la bordure haute)

Chaque bestiolle dispose d'un genome codant ses actions Haut Bas Droite Gauche (Manger Boire Prendre Lacher:pas encore actif)
lors d'une reproduction echange de la moitié des genes pere contre ceux de la mere, et eventuellement une mutation sur un des genes
une reproduction ne peut avoir lieux que entre un homme et une femme enceinte

Un appuis sur les bouton e,f,h,v permet de provoquer une mort subite des Enfant Femme Homme Vieux

Bug connu

La reproduction n'est pas possible si chacune des deux bestiolles est sur une extremitée opposée (corrigé dans version 2)
le compteur de jour et le compteur de reproduction doivent etre lié a la vitesse de simulation

Le principe de base et de simuler l'evolution selon Darwing, donc apres quelque generation on voit apparaitre des comportements de groupe
et des deplacemenst un peu plus marrant que du simple aleatoire (la population initiale est aleatoire) car seul les bestiolles
vivant en groupe ou le hasard peut justifier une recontre et donc une reproduction
dans les prochaines versions l'ajout de la nourriture et de l'eau vont complexifier le probleme (le genome devra etre plus grand)

Evolution Future:

V1.1 a V1.9
-Amelioration du code (optimisation)
-Ajout de la nourriture et de l'eau (complexification des trajectoires)
-Ajout des obstacles et des elements(et gestion de colision sur les obstacles)
-Mise en service des genes Manger Boire Prendre Lacher
-Transformation des constantes en variables et ajout d'un menu de reglage de celles-ci

V2
-Ajout des objets communications (interface entre l'utilisateur et les bestiolle)
-Ajout de la communication entre bestiolle
-Ajout d'une memoire sur les bestiolles (2 à 3 cases memoire)

V3
-Si vous avez des idees

Source / Exemple :


tous est dans le zip

ca utilise sdl et sdl ttf

Conclusion :


je n'ai pas mis cette source pour concurencer saylar mais au contraire pour l'aider a avancer dans la programmation
j'espere que j'ai bien fait.
de plus ca fait un bout de temps que je voulais coder un truc comme ca mais en plus evoluer maintanant que j'ai la base je vais continuer
(Ps: tout as ete reecris ce n'est pas une copie d'un code,sauf la void pour ecrire sur l'ecran je la trouve pratique)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_saylar
Messages postés
103
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
10 février 2008
-
Eh ben ! Bravo :) On a eu l'a même idée (au même moment, j'en sais rien) et en utilisant les mêmes outils lol.

Ton programme explose le miens en matière de design, je vais le tester de suite (Life.ex_ ca me rappel mon programme xd)

Je te donne des conseils pour la suite (je sais pas si tu les appliques déjà) :

Rajouter une partie memoire dans l'entité : Combien à t'il d'enfants...Gérer les couleurs exemple : entité1.couleur noir + entité2.couleur blanc -> enfant.couleur = gris.
Après je verrai ce que je vais rajoutter dans leur mémoire.
J'ai pas encore testé le prog mais déjà, j'aime pas le : vert enfant, rouge femme car en réalité, une femme n'est pas rouge pas plus qu'un enfant n'est vert et moi je suis bleu xd

Ce que je tire de ton programme:
Je ne suis pas assez original vu que ton prog et le miens se ressemble énormément en terme d'interface (tu affiches les "stats", un mort une croix, chez moi : un mort un carré noir)
Il faut que je gère les degrès de vieillesses car moi ca fait : vie -> si temps de vie > temps de vie accordé -> mort.

Je suis super content d'avoir un "rival", tu as utilisé ma fonction void writeTxt ? :)

Encore une fois, félicitation (je vais améliorer le design et ajouter des trucs sympas durant ces vacances)
cs_saylar
Messages postés
103
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
10 février 2008
-
Après test : Les effets lumineux sur les femmes sont amusants :D Mais j'aime pas le fait que les enfants vont ensemble, enfin je ne sais pas pourrais tu m'expliquer pourquoi les enfants marchent ils en groupe ?

Merci d'avance :)
Matertonyc
Messages postés
2
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
1 février 2008
-
Bonjour,

Alors deja je trouve ton programme super. Pour repondre a Saylar, je pense (corrigez moi si je me trompe) que la population totale est representée sur une sphere, qui a mon avis represente la terre, les enfants marchants en groupe cela doit representer un foyer de population fixe non ?
Autrement, j'aimerai te proposer quelques ameliorations, deja, je trouverai interessant qu'il y ai une fonction permettant d'eliminer seuleument un individu pour voir comment survirai une population de seuleument un nombre limité d'individus.
Et puis j'ai un petit probleme, je suis a 935 individus, quasiment tous adultes et ils ne se reproduisent plus. Est-ce normal ?

Matertonyc
PADYVEN
Messages postés
69
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
29 août 2012
-
bon pour repondre dans l'ordre (Saylar)
l'idee ca fais longtemps que je l'avais les outils je les connaissais mais j'avais la flemme de devellopper tu ma
juste aiguiller.Life.exe c'est ton nom mon amis pourquoi appelle rouge un programme qui est vert.par contre regarde le code je pense qu'il est plus propre(en tout cas plus facile a lire) Les couleurs t'a qua changert les dessins du moment qu'il soit en png et du meme nom (PS j'ai aussi piqué la police de caractere).
pour l'evolution j'applique seulement le principe de la vie naissance ,adulte ,vieux ,mort,pourris
les effet lumineux sur les femme sont la pour montrer les periode d'ovulations une femme ne peut ovuler que entre deux deux constante (15eme jour du mois plus ou moins 3jour)

Ls enfants vont ensemble car c'etait un bug je remet la source a jour assez vite.
mais au bout de quelque gneration ca devrai logiquement ce produire puisque les reproductions se font soit sur les individu en groupe soit sur les individus ce suivant soit sur les individu ce croisant pendant des periode de reproduction

Pour Matertonyc oui c'est normal il y a une constante pour definir le nombre max d'individu, sur ta version il est regle a 1000(j'ajoute prochainement le reglage)
donc les adultes ne peuvent plus ce reproduire limite de population, quand ils vont mourrir normalement en masse si ils sont arrivé en meme temps,les enfants vont renaitre (ca marche par cycle
)
PADYVEN
Messages postés
69
Date d'inscription
lundi 10 février 2003
Statut
Membre
Dernière intervention
29 août 2012
-
n'hesitez pas a changer les parametres du fichier constante il est bien commenté je pense et le programme est concu pour etre simple a lire
dans une version prochaine j'essarai de gerer la taille et la couleur d'apres le genome .et j'ajouterai aussi la suppression d'un individu par la souris
avec un curseur marrant.

Saylar je voulais dire aussi que j'ai jetee un oeil une fois sur ton code,ca ma fais peur,j'ai reessaye de meme
alors j'ai tous recode,sinon j'aurais travaillais directement sur le tien

PPS tous est librement piquable.

a++

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.