Téléchargé 6 fois
Vote des utilisateurs
0
0
Détails
Licence : Non renseignée
Mise en ligne le 1er avril 2024
Plate-forme :
Linux
Langue : Anglais
Référencé dans
Navigation
Blob Sallad
Blob Sallad
Animation représentant des gouttes, qui rebondissent, se divisent, se réunissent... Application basée sur les bibliothèques SDL et Cairo.
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).
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).
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.
Logiquement le programme devrait fonctionner aussi sous Windows, mais je n'ai pas essayé. Il faudra peut-être retoucher le Makefile.
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.
J'ai pu (avec deux petites modifications) compiler le programme sous Windows, mais il se plante à l'ouverture.
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 |
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 |
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== |
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.