IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Télécharger C Discussion :

Blob Sallad


Sujet :

Télécharger C

  1. #1
    Robot Forum
    Avatar de forum
    Inscrit en
    Novembre 1999
    Messages
    2 774
    Détails du profil
    Informations forums :
    Inscription : Novembre 1999
    Messages : 2 774
    Points : 2 549
    Points
    2 549
    Par défaut Blob Sallad
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Blob Sallad

    Animation représentant des gouttes, qui rebondissent, se divisent, se réunissent... C'est une application GTK, utilisant les bibliothèques SDL et Cairo.

    Qu'en pensez-vous ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    Une description plus précise du programme est disponible sur le site de l'auteur : http://www.blobsallad.se/

    Il y a également un article qui présente le modèle mathématique sur lequel les gouttes sont contruites : https://dev.opera.com/articles/blob-...nd-javascript/

    Sur le site on peut trouver plusieurs versions de l'application, dont une version en javascript. Le lien vers la version Linux-SDL-Cairo est cassé, mais j'ai pu retrouver l'adresse du fichier et c'est ce fichier que j'ai attaché ici.

    Je pense qu'avec quelques retouches l'application doit pouvoir se compiler sous Windows. Sous Linux un simple make fait l'affaire (si toutes les bibliothèques sont installées).
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  3. #3
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut Version SDL2
    Je me suis trompé en rédigeant la description. C'est une application basée sur la SDL et Cairo. Il y avait dans le dossier une deuxième version basée sur GTK mais inachevée (si je ne me trompe encore). Quelqu'un aurait-il la gentillesse de corriger le premier message de la discussion et par la même occasion d'ajouter l'image ci-jointe ?

    Je viens d'ajouter une version SDL2 du programme.

    • Utilisez les flèches pour déplacer les blobs.
    • Appuyez sur H pour les diviser, sur J pour les réunir.
    • Activez ou désactivez la gravité en appuyant sur G.


    Logiquement le programme devrait fonctionner aussi sous Windows, mais je n'ai pas essayé. Il faudra peut-être retoucher le Makefile.
    Images attachées Images attachées  
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

  4. #4
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 072
    Points : 15 462
    Points
    15 462
    Billets dans le blog
    9
    Par défaut
    J'ai pu (avec deux petites modifications) compiler le programme sous Windows, mais il se plante à l'ouverture.

    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Program received signal SIGSEGV, Segmentation fault.
    0x00406680 in bs_list_add_element_to_front (pList=0x24a3b40, pUserData=0x24a3b68,
        destructor=0x4047e0 <bs_blob_collective_blob_destructor_cb>) at bs_list.c:149
    149         pList->pHead->pPrev = pNode;

    Je suis en train de chercher l'erreur mais je manque de pratique avec les listes chaînées.

    J'attache ci-dessous la version Windows, au cas où quelqu'un voudrait bien y jeter un œil et m'aider à trouver l'erreur.

    Bizarre que l'erreur ne se produise pas sous Linux (chez moi en tout cas). Toutefois, si j'exécute le programme avec valgrind, j'obtiens ceci :

    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    ==120032== Memcheck, a memory error detector
    ==120032== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
    ==120032== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info
    ==120032== Command: ./blobsallad
    ==120032== 
    ==120032== Conditional jump or move depends on uninitialised value(s)
    ==120032==    at 0x40763A: bs_list_add_element_to_front (bs_list.c:147)
    ==120032==    by 0x4069A8: bs_blob_collective_create (bs_blob_collective.c:35)
    ==120032==    by 0x4023CE: main (bs_main.c:144)
    ==120032== 
    ==120032== Conditional jump or move depends on uninitialised value(s)
    ==120032==    at 0x4078A3: bs_list_map_f (bs_list.c:218)
    ==120032==    by 0x406F82: bs_blob_collective_move (bs_blob_collective.c:310)
    ==120032==    by 0x402894: bs_main_update_simulation (bs_main.c:100)
    ==120032==    by 0x4025C6: main (bs_main.c:256)
    ==120032== 
    ==120032== Conditional jump or move depends on uninitialised value(s)
    ==120032==    at 0x40799F: bs_list_map_p (bs_list.c:260)
    ==120032==    by 0x406FE9: bs_blob_collective_sc (bs_blob_collective.c:358)
    ==120032==    by 0x4028A1: bs_main_update_simulation (bs_main.c:102)
    ==120032==    by 0x4025C6: main (bs_main.c:256)
    ==120032== 
    ==120032== Conditional jump or move depends on uninitialised value(s)
    ==120032==    at 0x40799F: bs_list_map_p (bs_list.c:260)
    ==120032==    by 0x407998: bs_list_map_p (bs_list.c:262)
    ==120032==    by 0x4028A1: bs_main_update_simulation (bs_main.c:102)
    ==120032==    by 0x4025C6: main (bs_main.c:256)
    ==120032== 
    ==120032== Conditional jump or move depends on uninitialised value(s)
    ==120032==    at 0x40799F: bs_list_map_p (bs_list.c:260)
    ==120032==    by 0x4028A1: bs_main_update_simulation (bs_main.c:102)
    ==120032==    by 0x4025C6: main (bs_main.c:256)
    ==120032== 
    ==120032== Conditional jump or move depends on uninitialised value(s)
    ==120032==    at 0x40799F: bs_list_map_p (bs_list.c:260)
    ==120032==    by 0x4025C6: main (bs_main.c:256)
    ==120032== 
    ==120032== Conditional jump or move depends on uninitialised value(s)
    ==120032==    at 0x407BA4: bs_list_map_fp (bs_list.c:347)
    ==120032==    by 0x40295F: bs_main_redraw (bs_main.c:82)
    ==120032==    by 0x4025CE: main (bs_main.c:258)
    ==120032==
    Fichiers attachés Fichiers attachés
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

Discussions similaires

  1. Réponses: 17
    Dernier message: 15/05/2006, 12h28
  2. Perte du contenu des blobs
    Par macakou99 dans le forum Débuter
    Réponses: 10
    Dernier message: 22/05/2003, 15h17
  3. Blob (interbase) d'une Database à l'autre
    Par TOM-Z dans le forum XMLRAD
    Réponses: 2
    Dernier message: 18/05/2003, 21h57
  4. faire un insert pour un champ blob
    Par tripper.dim dans le forum InterBase
    Réponses: 10
    Dernier message: 02/05/2003, 16h56
  5. BLOB et INSERT
    Par Thomad dans le forum Débuter
    Réponses: 3
    Dernier message: 25/04/2003, 15h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo