Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#926 Le 08/01/2011, à 21:02

Pylades

Re : /* Topic des codeurs couche-tard [3] */

yikes
Doxygen a un nouveau CSS par défaut !


Je vais vous surprendre, mais… j'aime ce nouveau CSS. smile


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#928 Le 08/01/2011, à 23:17

Rolinh

Re : /* Topic des codeurs couche-tard [3] */

Bn smile

Hors ligne

#929 Le 09/01/2011, à 00:29

:!pakman

Re : /* Topic des codeurs couche-tard [3] */

plop les codeurs smile
Je code mon pakman en ce moment !
1er vrai projet en C (comprenez qui à plus de chances que les autres d'aboutir tongue ), pour apprendre à se servir de la SDL (et pour s'amuser aussi !)

Dernière modification par :!pakman (Le 09/01/2011, à 00:31)


...

Hors ligne

#930 Le 09/01/2011, à 00:40

grim7reaper

Re : /* Topic des codeurs couche-tard [3] */

Le C c'est bien (et la SDL aussi) :]

Hors ligne

#931 Le 09/01/2011, à 00:47

:!pakman

Re : /* Topic des codeurs couche-tard [3] */

grim7reaper a écrit :

Le C c'est bien (et la SDL aussi) :]

Wéh ! smile
T'a l'air de bien gérer en SDL grim, esque tu penses que 40 % du CPU utilisé c'est beaucoup ? Lorsque je récupères des évènements SDL mousemotion et que je les traites, mon cpu tournes à 40 %... En même temps, quand on voit le nombre d'évènements produits...

Edit : mon cpu : 2 Ghz mono-cœur, pas très puissant...

Dernière modification par :!pakman (Le 09/01/2011, à 00:54)


...

Hors ligne

#932 Le 09/01/2011, à 00:55

grim7reaper

Re : /* Topic des codeurs couche-tard [3] */

:!pakman a écrit :
grim7reaper a écrit :

Le C c'est bien (et la SDL aussi) :]

Wéh ! smile
T'a l'air de bien gérer en SDL grim

Jme débrouille un peu, j'ai déjà fais 2-3 trucs avec.
Mais je ne suis pas non plus un cador dans ce domaine wink

:!pakman a écrit :

esque tu penses que 40 % du CPU utilisé c'est beaucoup ?

Ça dépend de ce que tu fais comme traitement (et éventuellement de ton CPU) ^_^

:!pakman a écrit :

Lorsque je récupères des évènements SDL mousemotion et que je les traites, mon cpu tournes à 40 %... En même temps, quand on voit le nombre d'évènements produits...

Ouais, c'est ça qui est chiant, tu as un événement par déplacement donc tu es vite spammé hmm
Tu gères les évenements comment ? Avec poll ? Tu régules le framerate ?

Dernière modification par grim7reaper (Le 09/01/2011, à 00:57)

Hors ligne

#933 Le 09/01/2011, à 01:09

:!pakman

Re : /* Topic des codeurs couche-tard [3] */

Pour l'instant, pakman ne bouge pas, je n'ai pas encore commencé à coder le jeu en lui-même.
Je fait l'éditeur de niveaux, qui est presque terminé (l'éditeur en lui me vient d'être terminé, il faut maintenant que j'implémente les fonctions importer et enregistrer).
Je gères donc les évents avec SDL waitEvent.

Mais pour le jeu, ce sera poll event. J'utiliserai sans doute des timers ou SDL Delay...

Dernière modification par :!pakman (Le 09/01/2011, à 01:10)


...

Hors ligne

#934 Le 09/01/2011, à 01:10

grim7reaper

Re : /* Topic des codeurs couche-tard [3] */

C'est bizarre que ça bouffe autant (quoique ça dépend des traitements après, mais bon…).

Tu utilises les SDL_MOUSEMOTION pour quoi ?

Hors ligne

#935 Le 09/01/2011, à 01:11

:!pakman

Re : /* Topic des codeurs couche-tard [3] */

grim7reaper a écrit :

C'est bizarre que ça bouffe autant (quoique ça dépend des traitements après, mais bon…).

Tu utilises les SDL_MOUSEMOTION pour quoi ?

Je les utilises pour le menu, et pour l'éditeur de niveaux.

Edit : Tu veux les sources + l'exe ? Je peux les mettre sur mega upload si tu veux wink
Par contre les sources sont mal commentés (saimoche ! mad)

Dernière modification par :!pakman (Le 09/01/2011, à 01:15)


...

Hors ligne

#936 Le 09/01/2011, à 01:14

grim7reaper

Re : /* Topic des codeurs couche-tard [3] */

Ça je m'en doute ^_^, mais pour faire quoi exactement ?
En gros, tu fais quoi comme traitement quand tu as un SDL_MOUSEMOTION dans ta boucle ?

:!pakman a écrit :

Edit : Tu veux les sources + l'exe ? Je peux les mettre sur mega upload si tu veux wink

Ouais, ça serait plus pratique.
Par contre, les sources suffiront (après je peux compiler chez moi, c'est pas un problème wink).

:!pakman a écrit :

Par contre les sources sont mal commentés (saimoche ! )

Tant que le code est propre (ma ligne de compil' gueuleras le cas échéant tongue)

Dernière modification par grim7reaper (Le 09/01/2011, à 01:17)

Hors ligne

#937 Le 09/01/2011, à 01:20

:!pakman

Re : /* Topic des codeurs couche-tard [3] */

roger !
Je te met les sources en lignes. Elles arrivent...
Tu décompresses, tu te déplace dans le dossier pakman qui contient les ressources et le code, et tu compiles (enfin bon ^^ tu sait faire tout ça, je sait bien, mais par gain de temps... tongue) :
~/Bureau/Pakman$ gcc main.c menu.c editeur.c fonctions_editeur.c begin_editeur.c -o pakman -lSDL -lSDL_image -Wall

Edit: je crois qu'il faut que la sdl et sdl_image soient installées sur ton ordi.

Dernière modification par :!pakman (Le 09/01/2011, à 01:21)


...

Hors ligne

#938 Le 09/01/2011, à 01:22

grim7reaper

Re : /* Topic des codeurs couche-tard [3] */

T'inquiète, j'ai tout ce qu'il faut wink.
J'ai même un Makefile tout prêt pour compiler un projet SDL, j'ai juste à lui donner le nom de l'exécutable à créer et à faire make.

Dernière modification par grim7reaper (Le 09/01/2011, à 01:22)

Hors ligne

#939 Le 09/01/2011, à 01:26

:!pakman

Re : /* Topic des codeurs couche-tard [3] */

Ptit problème avec tar, mais ça vient ça vient ^^ (la honte tongue)
(longtemps que je ne l'ai pas utilisée ^^)

Dernière modification par :!pakman (Le 09/01/2011, à 01:28)


...

Hors ligne

#940 Le 09/01/2011, à 01:28

The Uploader

Re : /* Topic des codeurs couche-tard [3] */

Tu m'as fait penser à cette... chose :

mon esprit dément a écrit :

c'est l'topic des codeurs couche-tar.

C'est nul, je sais. Mais fallait que ça sorte. >_<'


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#941 Le 09/01/2011, à 01:28

grim7reaper

Re : /* Topic des codeurs couche-tard [3] */

@:!pakman : Pour faire un tar.gz de ton dossier de travail.

tar czvf dossier.tar.gz dossier

@The Uploader : toi tu as encore abusé d'ActionScript…
Tu joues avec ta santé tu sais tongue

Dernière modification par grim7reaper (Le 09/01/2011, à 01:30)

Hors ligne

#942 Le 09/01/2011, à 01:29

:!pakman

Re : /* Topic des codeurs couche-tard [3] */

The Uploader a écrit :

Tu m'as fait penser à cette... chose :

mon esprit dément a écrit :

c'est l'topic des codeurs couche-tar.

C'est nul, je sais. Mais fallait que ça sorte. >_<'

On est pas couchés en effet lol (jeu de mot x 2 ^^)

Merci grim smile

Dernière modification par :!pakman (Le 09/01/2011, à 01:32)


...

Hors ligne

#943 Le 09/01/2011, à 01:32

:!pakman

Re : /* Topic des codeurs couche-tard [3] */

Voila ! Laborieux pour un simple tar...
http://www.megaupload.com/?d=HPOK309U

( Tu peux supprimer l'archive v, si tu l'a, à l'intérieur de ton dossier Pakman, c'est un fail ^^)

Edit : J'ai vérifié, tu n'a pas l'archive v en trop, je l'ai supprimée avant l'envoi.

Dernière modification par :!pakman (Le 09/01/2011, à 01:36)


...

Hors ligne

#944 Le 09/01/2011, à 01:37

grim7reaper

Re : /* Topic des codeurs couche-tard [3] */

Pour ceux qui veulent le télécharger, je le mets à dispo ici (ça évite d'avoir le temps d'attente).

Hors ligne

#945 Le 09/01/2011, à 01:40

grim7reaper

Re : /* Topic des codeurs couche-tard [3] */

@:!pakman : Première remarque, les commentaires // c'est pas du C mais du C++ (ou du C99 à la limite).
Comme tu ne codes pas en C99 (sinon tu utiliserais le type bool au lieu de ton enum), il faudra les remplacer par des commentaires /* */

Dernière modification par grim7reaper (Le 09/01/2011, à 01:40)

Hors ligne

#946 Le 09/01/2011, à 01:42

The Uploader

Re : /* Topic des codeurs couche-tard [3] */

grim7reaper a écrit :

@The Uploader : toi tu as encore abusé d'ActionScript…
Tu joues avec ta santé tu sais tongue

Je sais! sad
Mais encore quelques

this.gPaper.GetSprite().addEventListener(Event.MOUSE_CLICK,this.paper_click);

(gPaper étant du type ObjectDisplayer, une classe delegate que j'ai faite pour les sprites pour éviter des copier/coller à chaque fois que j'en utilise...)
et j'aurais fini! \o/
(enfin, pour cette fois...... sad sad )

En fait, j'ai perdu trop de temps à factoriser/nettoyer le code horrible du prof', du coup tout le monde a rendu avant moi. hmm
(et je travaille tout seul dans un groupe de 2)
(et le langage n'aide pas)

Heureusement on repart sur MicroMachines (C+SDL finalement, je trouve que je fais pas assez de C). smile
(je bloque juste pour faire une boucle sur les touches flèches, ça fait une boucle infinie - car je dois gérer l'accélération/décélération de la voiture.. donc les "y = (touches[SDLK_UP]) ? y-1 : y;" ne suffisent plus même si je les trouvai beaux! hmm )

Tiens, tarif de groupe tongue :
tshirtman m'a dégoûté de Ruby (du moins d'une partie de sa communauté) avec le lien qu'il m'a donné. tongue (merci! XD)

Et voici mon super script Gimp qui plante dès le début : (c'est encore un autre projet)

(define (script-fu-comicer filename_in)
    (let* ( (filename_out (string-append filenamein "_cmc"))
        (image (car (gimp-file-load 1 filename_in filename_in)))
        (drawable (car (gimp-image-get-active-layer image))) )    
    (gimp-image-undo-disable image)
    (gimp-image-add-layer image layer1 0)
    (gimp-image-add-layer image layer2 1)
    (gimp-image-add-layer image layer3 2)
    (gimp-threshold layer1 191 255)
    (plug-in-gauss layer2 NON-INTERACTIVE 7.0 1.0 TRUE TRUE)
    (gimp-threshold layer2 191 255)
    (gimp-levels layer2 255 240)
    (gimp-layer-set-mode layer1 MULTIPLY-MODE)
    (gimp-image-raise-layer-to-top image layer3)
    (gimp-add-layer (gimp-layer-copy layer3) layer4 4)
    (gimp-merge-down layer2)
    (gimp-layer-set-mode layer1 COLOR-MODE)
    (gimp-layer-set-mode layer3 SATURATION-MODE)
    (plug-in-blur layer4 NON-INTERACTIVE 2.0 2.0 TRUE TRUE)
    (gimp-merge-down layer1)
    (gimp-merge-down layer3)
    (gimp-displays-flush)
    (gimp-file-save RUN-NONINTERACTIVE image drawable filename_out)

C'est cool Gimp : pas de doc' de l'API + Scheme pas standard = codage dans le noir et maux de têtes et échecs à répétition. >_>

Dernière modification par The Uploader (Le 09/01/2011, à 01:43)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#947 Le 09/01/2011, à 01:42

:!pakman

Re : /* Topic des codeurs couche-tard [3] */

grim7reaper a écrit :

Pour ceux qui veulent le télécharger, je le mets à dispo ici (ça évite d'avoir le temps d'attente).

Sympa, merci ! Pratique en effet d'avoir son propre domaine smile

Sinon, pour l'éditeur de lvls :

-Molette pour faire tourner les blocs bleus (les murs.)
-Petite icone E orange devient un L quand on clique dessus, cela bloque l'edition (c'est un cadenas sur la map)
- Le bloc tout à gauche avec l'ovale bleu et blanc qui ressemble à rien est la gomme... Vous pouvez admirer mes talents de graphiste (toutes les images sont et seront de moi, la police utilisée pour le menu est la police Ubuntu)

C'est tout pour le moment smile


Edit :
D'ac pour les comments wink Mais c'est bizarre, gcc plante pas... Oo

Dernière modification par :!pakman (Le 09/01/2011, à 01:47)


...

Hors ligne

#948 Le 09/01/2011, à 01:45

grim7reaper

Re : /* Topic des codeurs couche-tard [3] */

Pour la molette, j'avais trouvé (c'est plutôt instinctif, du moins pour moi, donc c'est pas mal d'avoir fait comme ça) wink.

Bah le nom de domaine, c'est rien de plus qu'un domaine no-ip, pas de quoi fouetter un chat ^_^


:!pakman a écrit :

Edit :
D'ac pour les comments wink Mais c'est bizarre, gcc plante pas... Oo

Normal (enfin si on veux), par défaut gcc accepte le C99 (ptetr même du GNU C aussi, j'ai jamais essayé).
Mais dès que tu veux compiler en C ANSI, là il te sort des erreurs dessus.
Par défaut, gcc est extrêmement laxiste.

Sinon, c'est bien aussi de ne pas avoir de lignes trop longues (80 caractères c'est un bon maximum je pense, comme ça ça reste facilement lisible), d'où l'intérêt des commentaires multilignes wink

Sinon, il faut éviter au maximum les nombres « magiques » et utiliser des #define et/ou des constantes globales pour rendre le code plus explicite (et plus facilement maintenable/modifiable).
Dans ce bout de code, il y a un peu trop de « magie » à mon goût tongue

            if ((event.button.y >= 80) && (event.button.y <= 580)) // si la souris est quelque part sur la grille
            {
                if ((event.button.x >= 0) && (event.button.x <= 700))
                {
                    x = 0;
                    y = 0;
                    continuerY = True;
                    while ((x < 14) && (continuerY == True)) // on regarde la case a laquelle on se trouve
                    {
                        while ((y < 10) && (continuerY == True))
                        {
                            if ((event.button.x >= posCarre[x][y].x) && (event.button.x <= (posCarre[x][y].x + 50)))
                            {
                                if ((event.button.y >= posCarre[x][y].y) && (event.button.y <= (posCarre[x][y].y + 50)))
                                {
                                    if (tabPos[7] < 7)
                                    {
                                        for (i = 0 ; i < 7 ; i++)
                                        {
                                            if (tabPos[7] == i) // test si c'est une des 7 premieres images
                                            {
                                                if (i == 0) // si user a cliqué sur 1 case de la grille avec la gomme
                                                {
                                                    
                                                    SDL_BlitSurface(image[15], NULL, ecran, &posCarre[x][y]); // effacer case actuelle
                                                    carte[x][y] = lettre[i];
                                                    SDL_BlitSurface(image[13], NULL, ecran, &posCarre[x][y]);

Un peu trop de niveau d'imbrication aussi, mais il faut que je regarde plus en détail.

Petit astuce pour

char lettre[23] = "ABCDEFGHIJKLMNOPQRSTUVW";

Le compilo peut calculer la taille tout seul, donc

char lettre[] = "ABCDEFGHIJKLMNOPQRSTUVW";

fonctionne aussi et évite les erreurs smile

Dernière modification par grim7reaper (Le 09/01/2011, à 01:55)

Hors ligne

#949 Le 09/01/2011, à 01:52

:!pakman

Re : /* Topic des codeurs couche-tard [3] */

D'accord, merci !
Alors, ça te parait bon ou pas, comme début ?
Des trucs à changer ?

Je laisse mon projet avec des libs dynamiques ? Ou je le link avec des statiques (je sait pas faire ça...) ?

grim7reaper a écrit :

Sinon, c'est bien aussi de ne pas avoir de lignes trop longues (80 caractères c'est un bon maximum je pense, comme ça ça reste facilement lisible), d'où l'intérêt des commentaires multilignes wink

Dans certains fichiers, genre fonctions_editeur.c ou begin_editeur.c (qui contiennent chacun des fonctions de editeur.c), certaines des lignes sont trop longues je pense...

Dernière modification par :!pakman (Le 09/01/2011, à 01:56)


...

Hors ligne

#950 Le 09/01/2011, à 01:57

grim7reaper

Re : /* Topic des codeurs couche-tard [3] */

Le code me semble pas trop mauvais visuellement parlant (j'ai vu mieux c'est sûr, mais j'ai aussi vu bien pire ^_^), après faut que je regarde plus en détail.
Sinon graphiquement parlant, c'est plus beau que ce que je suis capable de faire (je suis une sinistre merde en graphisme…).

Pour les bibliothèques, si tu parles de la SDL & cie, je te conseille de laisser en dynamique.

Dernière modification par grim7reaper (Le 09/01/2011, à 01:57)

Hors ligne