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.

#1351 Le 19/07/2010, à 20:17

tshirtman

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

grim7reaper a écrit :

Donc au final je ne suis pas sûr d'aller beaucoup plus vite que toi smile (mais le plus important ce n'est pas de sortir le truc le plus vite, c'est de sortir le truc le plus complet possible wink). Faut prendre son temps, développez à La Rache donne rarement de bon résultat (ça peut fonctionner, mais au moindre changement ça risque de péter).

En fait, si, sortir quelque chose, rapidement c'est important, mais ce n'est pas de la rache, c'est de l'agile, bien définir les features les plus importantes, que dis-je, les plus indispensables, et les coder, avoir un truc qui marche, même si ça ne fait pas tout ce qu'on veux, juste un ensemble qui ait un sens et soit fonctionnel.

Pour le moment je me concentre sur l'interface car ça sert à rien de commencer le jeu si je ne peux pas faire de tests. Et des tests sans rien pour faire le rendu c'est pas top, d'où l'intérêt de commencer par l'interface (bon je fait pas l'interface définitive tout de suite, juste un truc basique qui me permettra de tester le jeu).

En fait les tests les plus importants ne sont pas les tests graphiques, tu peux tout à fait être certain que ton moteur est tout à fait fonctionnel sans avoir jamais lancé de partie, si chaque élément est testé face à tous les cas de bords et généraux, et que tous les tests passent…

Et donc oui, tu peut faire des tests avant d'avoir une interface qui tourne… c'est aussi de l'agile.

(bon, je n'a absolument pas appliqué cette deuxième partie de l'agile, pourtant indispensable, pour mon jeu, mais promis, je m'en mors souvent les doigts)

Hors ligne

#1352 Le 19/07/2010, à 20:44

grim7reaper

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

tshirtman a écrit :

En fait, si, sortir quelque chose, rapidement c'est important, mais ce n'est pas de la rache, c'est de l'agile, bien définir les features les plus importantes, que dis-je, les plus indispensables, et les coder, avoir un truc qui marche, même si ça ne fait pas tout ce qu'on veux, juste un ensemble qui ait un sens et soit fonctionnel.

Je connais quand même la différence entre les méthodes agiles et La Rache roll. Oui, le développement par itérations c'est bien, ça je suis d'accord. Mais ce n'est pas une raison pour pondre un truc fonctionnel en 2h et se rendre compte 2 semaines plus tard que tout est à jeter car ça ne s'imbrique pas comme il faut avec l'ensemble.
Ce que je veux dire, c'est qu'il vaut mieux prévoir un minimum (pas tout, bien évidemment) son architecture avant d'implémenter quoique ce soit. Je n'ai jamais voulu dire qu'il fallait tout coder d'une traite (c'était peut-être ambigu, je le reconnais).

En fait les tests les plus importants ne sont pas les tests graphiques, tu peux tout à fait être certain que ton moteur est tout à fait fonctionnel sans avoir jamais lancé de partie, si chaque élément est testé face à tous les cas de bords et généraux, et que tous les tests passent…

Dans le cas général : je suis d'accord. Dans le cas présent : non.
Le truc c'est que je ne fais pas juste un Tower Defense (TD) là. Je développe aussi un embryon de toolkit en parallèle, et le TD sera une sorte de test grandeur nature pour voire s'il y a moyen de faire un truc sympa (au final, les deux n'étant qu'une mise en pratique de mon C++) ou s'il vaut mieux passer à autre chose.
Donc pour le moment, la logique veut que je commence par l'interface. Une fois qu'elle sera fonctionnelle j'attaquerai le jeu en lui-même.

Au passage, rien n'oblige à commencer par le moteur de jeu. Dans la mesure du possible, le jeu et l'interface doivent être indépendants. Un exemple parmi d'autre : NetHack (le jeu en lui même) possède de nombreuses interfaces différentes, interfaces qui utilisent des bibliothèques bien distinctes (CLI, Xlib, GTK, SDL, Qt).
Il n'y a donc aucune raison de commencer l'un avant l'autre (si on est plusieurs on peut même développer le jeu et son interface en parallèle). Cela n'est bien sûr pas valable pour tous les types de jeux.

Et donc oui, tu peut faire des tests avant d'avoir une interface qui tourne… c'est aussi de l'agile.

Ça, je suis tout a fait d'accord.

Dernière modification par grim7reaper (Le 19/07/2010, à 21:03)

Hors ligne

#1353 Le 19/07/2010, à 21:12

helly

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

Ça peut se faire un constructeur qui fait rien ?
Pour les bestioles à détruire, j'ai une classe mère « Unite » dont dérivent les classes filles des bestioles.
Et j'ai rien à mettre dans mon constructeur de « Unite » hmm
Et dans ce cas je peux déclarer ce constructeur en virtual ?

Dernière modification par helly (Le 19/07/2010, à 21:13)


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#1354 Le 19/07/2010, à 21:14

grim7reaper

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

helly a écrit :

Ça peut se faire un constructeur qui fait rien ?
Pour les bestioles à détruire, j'ai une classe mère « Unite » dont dérivent les classes filles des bestioles.
Et j'ai rien à mettre dans mon constructeur de « Unite » hmm

Tu parle bien d'un constructeur qui ne fait rien ?
Parce que constructeur qui ne fait rien != constructeur vide (liste d'initialisation inside).

Si le constructeur ne fait rien alors ne le met pas, laisse faire celui généré automatiquement par le compilo.
Ta classe Unite c'est une classe abstraite ?

Dernière modification par grim7reaper (Le 19/07/2010, à 21:15)

Hors ligne

#1355 Le 19/07/2010, à 21:18

helly

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

Non, ce n'est pas une classe abstraite.
(outch, j'ai encore du mal en héritage tongue)


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#1356 Le 19/07/2010, à 21:21

grim7reaper

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

Ok, c'était juste une question comme ça. Ce que j'ai dit avant reste valable wink.

Dernière modification par grim7reaper (Le 19/07/2010, à 21:21)

Hors ligne

#1357 Le 19/07/2010, à 21:27

tshirtman

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

si c'était une classe abstraite, lever une exception si le constructeur était appelé aurait pu être une bonne pratique.

mais ce n'est pas le cas smile

Hors ligne

#1358 Le 19/07/2010, à 21:36

grim7reaper

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

tshirtman a écrit :

si c'était une classe abstraite, lever une exception si le constructeur était appelé aurait pu être une bonne pratique.

Totalement inutile si c'est pour empêcher son instanciation.
En C++ une classe abstraite (qui contient donc au moins une fonction virtuelle pure) ne peut pas être instancié, ça fait partie de sa définition.
Le compilateur ne te laisse pas faire, il affiche un message du genre

proof.c++: In function ‘int main()’:
proof.c++:25:14: erreur: cannot declare variable ‘toto’ to be of abstract type ‘Test’
proof.c++:14:1: note:   because the following virtual functions are pure within ‘Test’:
proof.c++:17:22: note: 	virtual void Test::print()

Hors ligne

#1359 Le 19/07/2010, à 23:38

gnuuat

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

mv ./gnu{veille,dort}

Bisouland : embrassez les tous !
Volez les points d'amour de vos adversaires en les embrassant, dans ce jeu gratuit par navigateur !

Hors ligne

#1360 Le 19/07/2010, à 23:49

tshirtman

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

@grim: c'était pour forcer l'implémentation du constructeur dans la classe qui hérite de la classe abstraite… mais c'est peut être géré de la même façon en C++ remarque ^^.

Hors ligne

#1361 Le 19/07/2010, à 23:57

grim7reaper

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

tshirtman a écrit :

@grim: c'était pour forcer l'implémentation du constructeur dans la classe qui hérite de la classe abstraite… mais c'est peut être géré de la même façon en C++ remarque ^^.

C'est peut-être dû à l'heure ou à mes faibles connaissances en C++ (voire les deux ^^) mais je ne comprend pas le problème.
Si tu hérites d'une classe abstraite et que tu as besoin d'un constructeur tu le fais, si tu n'as rien de non-trivial à faire lors de la construction alors tu ne fais pas de constructeur (le compilo s'en charge).

Mais j'ai peut-être (probablement) mal compris.

Edit : Bon bah j'ai rien codé aujourd'hui (juste corrigé un bug) mais j'ai potassé pas mal de trucs et ça m'a ouvert quelques perspectives smile.
BN World !

Dernière modification par grim7reaper (Le 20/07/2010, à 00:16)

Hors ligne

#1362 Le 20/07/2010, à 00:03

helly

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

BN quand même.


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#1363 Le 20/07/2010, à 00:22

nesthib

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

plop les constructeurs !

(bon les enfants, c'est pas fini de jouer aux constructeurs en classe ?)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#1364 Le 20/07/2010, à 00:26

helly

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

@nesthib : tu codes toi ? smile


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#1365 Le 20/07/2010, à 00:29

nesthib

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

@helly : pas à l'instant


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#1366 Le 20/07/2010, à 00:30

helly

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

je parle dans la généralité, pas à ce moment M !


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#1367 Le 20/07/2010, à 00:34

Pylades

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

Et merde !

Je me suis dit que ça serait bien de recommencer à coder ma bibliothèque → SIGSEGV sur un échec de malloc. mad

Je viens peut-être de faire une connerie à l’instant… hmm
Pourtant, je n’ai modifié que l’interface et le programme de debug…

Bon, du coup, on verra ça demain, mais ça me fait violemment chier, je croyais en avoir fini avec ces conneries ! mad


“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

#1368 Le 20/07/2010, à 00:35

nesthib

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

helly a écrit :

je parle dans la généralité, pas à ce moment M !

ben oui tu sais bien sad


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#1369 Le 20/07/2010, à 00:37

helly

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

Haaaaaa oui ! (le tdct m'a aidée)
Le langage que je veux apprendre depuis décembre et où jsuis toujours à la page 24 ¬_¬ ( ←j'aime ce smiley big_smile)


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#1370 Le 20/07/2010, à 00:42

Кຼزດ

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

dodo, faudrait que je code, un de ces quatre


dou

Hors ligne

#1371 Le 20/07/2010, à 00:44

nesthib

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

\o/ mathieuI

Dernière modification par nesthib (Le 20/07/2010, à 01:02)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#1372 Le 20/07/2010, à 01:04

Pylades

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

Glob et bonne nuit…


“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

#1373 Le 20/07/2010, à 01:04

helly

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

BN, jsuis pas raisonnable. sad


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne

#1374 Le 20/07/2010, à 01:08

tshirtman

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

Pourtant, je n’ai modifié que l’interface et le programme de debug…

donc tu as découvert un bug dont tu ignorait l'existence! \o/ (sisi, c'est une bonne nouvelle).

@grim: j'ai pas fait de C++ depuis longtemps, mais en python quand on veux définir une méthode abstraite on mets une exception dedans, comme ça ça oblige les héritier à la redéfinir… j'ai pensé que c'était une bonne idée de faire pareil en C++ ^^.

Hors ligne

#1375 Le 20/07/2010, à 02:09

compte supprimé

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

'nuit !

EDIT : Re-bonne nuit !

Dernière modification par Lagierl (Le 20/07/2010, à 03:06)