Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les tutoriels > Non-Officiels > Programmation > Bibliothèques > SDL > Les sauts 2D en C > Lecture des commentaires

Les sauts 2D en C

Vous devez être inscrit pour pouvoir poster des messages

Page : 1 
Pseudo Commentaire
Page : 1 
Hors ligne ahmedzup # Posté le 15/04/2008 à 10:51:23 - Ce membre a mis la note : 20
I'm American / French
Avatar
Groupe : Membres
Exactement ce qu'il fallait sur le site du zero.. question posée des milliards de fois avec des réponses approximatives..

Les zéros seront où chercher maintenant...

C/C++ , Javascript Html + CSS , VB 5 & 6 ---> I love em !
 
Hors ligne Scaerloc # Posté le 16/04/2008 à 20:04:29 - Ce membre a mis la note : 19
Groupe : Membres
Tres bon tuto, bien écrit, et utile ^^! Merci beaucoup!
Hors ligne Asterix # Posté le 18/04/2008 à 00:32:06 - Ce membre a mis la note : 17
Avatar
Groupe : Membres
Bon tuto, cela dit il serait sympa d'ajouter un petit zip contenant l'exe, la source et les fichiers externes (tel que les images ;) ).
Hors ligne yudassen # Posté le 22/04/2008 à 20:10:49 - Ce membre a mis la note : 17
Graphiste et programeur
Avatar
Groupe : Membres
Pas mal, c'est un tuto qui nous manquait, mais, cependant j'ai trouvé quelques-erreurs :
  • C'est lorsqu'a se raproche de 0 et non lorsu'il diminue que la parabole devient plus large
  • Ton main est trop grand, regroupe le en sous fonction, je ne comprend pas l'utilité du while
  • On ne connait pas la fonction atexit
  • Utilise les Timers plutot qu'SDL_Delay(10)
  • Et enfin, met SDL_GetTime pour T et non 10,comme ceci : Code : C
    1
    Temps_Actu=Temp_Preced - SDL_GetTime;
    
    en alternant.

Grand Projet Discworld :
Executeur => ||||||||||
Construceur=> ||||||||||


La lumiere va plus vite que le son, c'est pourquoi certaines personnes paraissent brillantes jusqu'a ce qu'elles commenceent a parler

N'est-ce pas yudassen :p
 
Hors ligne yudassen # Posté le 22/04/2008 à 20:11:30 - Ce membre a mis la note : 17
Graphiste et programeur
Avatar
Groupe : Membres
J'oubliais ma note ^^ : 17.

Grand Projet Discworld :
Executeur => ||||||||||
Construceur=> ||||||||||


La lumiere va plus vite que le son, c'est pourquoi certaines personnes paraissent brillantes jusqu'a ce qu'elles commenceent a parler

N'est-ce pas yudassen :p
 
Hors ligne George369 # Posté le 22/04/2008 à 23:59:02 - Ce membre n'a pas mis de note
...ben quoi ?
Avatar
Groupe : Membres
Hum :p je me dois de te contredire sur certains niveaux, yudassen. Je réponds à chaque point :
Citation : yudassen

C'est lorsqu'a se raproche de 0 et non lorsu'il diminue que la parabole devient plus large


Tout à fait d'accord :) . Ancien abus de langage de ma part :D

Citation : yudassen
Ton main est trop grand, regroupe le en sous fonction, je ne comprend pas l'utilité du while


Extrêmement vague, n'est-ce pas ? :p Tout d'abord, je ne vois pas l'utilité de regrouper mon main en plusieurs fonctions. Je ne suis là ni pour apprendre aux gens à organiser leur code, ni pour proposer un système complet. Ce que je propose est un bout de code à incorporer dans le programme même de celui qui lit le tutorial et qui veut utiliser le système.

De plus, point important, diviser en fonctions a un intérêt limité ici : pourquoi faire compliqué alors que la seule partie qui m'intéresse dans ce tuto est celle qui concerne la parabole ? Le reste du code que je propose est simplement le code le plus basique pour montrer un minimum de contexte. Inutile d'en faire une pile de paperasses dont la structure ne nous intéresse guère :p . Je pourrais même décider de ne pas donner un main du tout. "Mettez cela dans votre boucle et débrouillez-vous." :p C'est pour la clarté.

Citation : yudassen
je ne comprend pas l'utilité du while


Là on entre dans le philosophique :p ! Explications ? Raisons ? Propositions ? Points d'appui ? :D Je te rappelle que M@athéo21 utilise un "while", lui, et que, même dans notre code le plus basique du monde, il est important d'avoir un minimum de rafraîchissement d'affichage :p ! Il faut en effet une boucle pour pouvoir déplacer notre image en fonction du saut.

Citation : yudassen
On ne connait pas la fonction atexit


Oups celle-là, je l'avais oublié. La raison est que, avec C::B, je le compile en C++, d'où les headers bizarres aussi. Corrigé au plus vite ^^

Citation : yudassen
Utilise les Timers plutot qu'SDL_Delay(10)


Encore une fois, on s'éloigne de l'objectif de ce tuto. Je n'apprends pas à afficher, j'apprends à gérer des coordonnées.

Citation : yudassen
Et enfin, met SDL_GetTime pour T et non 10,comme ceci :


Idem que ci-dessus : complications farfelues qui déplacent le "focus" du sujet ^^ : gestion des paraboles >>>>> gestion du temps.

En tout cas, merci pour vos commentaires ; je corrige les erreurs au plus vite ! Le fichier compressé avec l'exécutable était prêt, mais je ne m'étais pas rendu compte que je compilais en C++ :-°

George369

Je ne dis que les choses quand elles ont besoin d'être dites.
La franchise est parfois mon défaut :p .
Mon tuto : Les sauts 2D en C !
"La musique n'est belle que si elle comble le silence qui la précède et qui la suit..."
 
Hors ligne yudassen # Posté le 23/04/2008 à 11:31:40 - Ce membre a mis la note : 17
Graphiste et programeur
Avatar
Groupe : Membres
Il est vrai que le but est de gérer les paraboles et non la clarté du main, desolée :euh: .
Encore un tout petit point, je parlais du while ici:
Citation : Tuto

Code : C
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
while (SDL_PollEvent(&event))
        {
            switch (event.type)
            {
            case SDL_QUIT:
                fin = 1;
                break;
 
            case SDL_KEYDOWN:
                {
                    if (event.key.keysym.sym == SDLK_ESCAPE)
                        fin = 1;
                    break;
                }
            }


je ne vois pas son utilité :o .
Un dernier point, le type bool étant pour le C, il serait bien de creer un Booleen via l'enum ou le int ;) .
Encor désolé.
Yud

Grand Projet Discworld :
Executeur => ||||||||||
Construceur=> ||||||||||


La lumiere va plus vite que le son, c'est pourquoi certaines personnes paraissent brillantes jusqu'a ce qu'elles commenceent a parler

N'est-ce pas yudassen :p
 
Hors ligne George369 # Posté le 23/04/2008 à 14:24:53 - Ce membre n'a pas mis de note
...ben quoi ?
Avatar
Groupe : Membres
Oups encore pour la compil' en C++ :-° (booléens)
Je corrige ça tout de suite.

Sinon, pour le while, soit j'ai rien compris, soit je pense que il faut bien une boucle pour raffraîchir l'écran, non ? :)

Sans boucle, on n'affiche sur l'écran qu'une fois, et notre image n'ira pas bien loin :p .

Merci pour vos commentaires !

Je ne dis que les choses quand elles ont besoin d'être dites.
La franchise est parfois mon défaut :p .
Mon tuto : Les sauts 2D en C !
"La musique n'est belle que si elle comble le silence qui la précède et qui la suit..."
 
Hors ligne Selmac94 # Posté le 27/04/2008 à 14:05:50 - Ce membre a mis la note : 18
Avatar
Groupe : Membres
Excelent tuto, exactement ce qu'il me fallait :)
Simple, clair, précis, 18 /20 ;)

Bidouilleur Programmeur :p - Nouveau Lixunien :zorro:
Comité de lutte contre le langage SMS et les fautes volontaires sur Internet
Image utilisateur userbar by Lydriel
Message pour les écolos canadiens : sauvez un arbre ! Mangez un castor ! Coluche
Est-il indispensable d'être cultivé quand il suffit de fermer sa gueule pour briller en société ? Pierre Desproges
 
Hors ligne Shû # Posté le 01/05/2008 à 11:01:48 - Ce membre n'a pas mis de note
Les carottes sont cuites!
Avatar
Groupe : Membres
Bon, ben en tous cas un grand merci à Georges : je fais partie de ceux qui ont voulu se mettre à quelque chose d'un peu attrayant après le cours de M@teo21, et je me suis explosé la face misérablement sur le mur des SAUTS EN 2D! J'ai demandé à tout le monde, Georges avait fait de son mieux pour m'expliquer, mais bon... ce tutoriel est tout de même beaucoup mieux que des messages pas raccordés qui se baladent sur le forum! Il faut quand même savoir que j'avais complètement arrêté la programmation en voyant que j'étais bloqué si rapidement en voulant bâtir un petit projet digne de ce nom. Bon, ben, merci encore et à la prochaine! Note : Beaucoup!
Hors ligne Truelle # Posté le 16/05/2008 à 01:45:06 - Ce membre a mis la note : 16
Groupe : Membres
Salut,

C'est un très bon tuto, pour ma part je ne l'ai pas lu en entier seulement survolé, mais ça m'a l'air bien complexe tout ça ^^
Moi perso, j'ai pas fait si compliqué, bon je ne suis pas la pour expliqué ma methode, mais c'est pour dire que j'ai fait de la pure impro, genre pour la fonction de la parabole, j'ai essayé des valeurs au pif :p mais bon c'était pas le plus dur, l'algo c'est le plus chiant, mais j'ai tout de même réussi a faire quelque chose de correct :)
En tout cas, je garde ce tuto en mémoire afin de compléter mes compétences, encore merci.
Hors ligne George369 # Posté le 16/05/2008 à 18:44:43 - Ce membre n'a pas mis de note
...ben quoi ?
Avatar
Groupe : Membres
Bonjour,

beaucoup de réponses du même style que toi ont été données sur le forum : je cite Gni, par exemple, qui est devenu la référence avec son "Scroll". Or lui, lorsqu'on regarde son code, on peut dire qu'il a réussi à bricoler une trajectoire tout à fait inadaptable, qui ne ressemble peut-être même pas à une courbe, etc.

Avec ce tuto, je ne peux proposer que des trajectoires nettes et propres, et recalculables par la suite.

Je sais qu'il s'agit de méthodes complexes mathématiquement parlant. C'est pour ça que je suis en train de développer une petite bibliothèque qui rassemble différentes fonctions pour nous éviter ce travail. Revenez donc voir dans une semaine ou deux ;) .

George369

Je ne dis que les choses quand elles ont besoin d'être dites.
La franchise est parfois mon défaut :p .
Mon tuto : Les sauts 2D en C !
"La musique n'est belle que si elle comble le silence qui la précède et qui la suit..."
 
Hors ligne darboo # Posté le 09/06/2008 à 23:39:53 - Ce membre n'a pas mis de note
Groupe : Membres
La trajectoire d'un objet lancé sur terre n'est pas une parabole, il faut prendre compte du frottement de l'air. Alors évidemment, ça ne sert à rien de le faire dans le cas de mario qui saute sur 2 mètres, mais si vous vous amusez à faire un jeu avec des tirs de canon (mais si, vous connaissez tous ce jeu où on doit toucher l'adversaire en donnant la puissance et l'angle de tir), ce sera beaucoup mieux avec une exponentielle. Il suffit de résoudre une petite équation différentielle et on y est : on peut même prendre en compte la vitesse du vent. C'est dommage de ne pas en parler, même sans le démontrer ça peut être intéressant (parce que dans certains cas, la parabole ne fait vraiment pas naturel, par exemple si mario saute et tombe dans un trou profond, il continuera d'avancer à la même vitesse alors qu'il devrait finir par tomber verticalement)
Après, il y a aussi la modification de la gravité avec l'altitude et la raréfaction de l'air qui mène à un frottement moins important, mais là on commence à sortir un peu du sujet, sauf si on veut satelliser Mario :p

Sinon, très bon tuto, c'est vrai qu'on ne parle jamais de ce genre de détails.

(au fait, je suis en seconde et je crois avoir saisi le sens du tuto sans trop de problèmes, il faut pas décourager les jeunes curieux comme ça, voyons !)
Hors ligne Sarish # Posté le 24/06/2008 à 09:20:21 - Ce membre a mis la note : 17
Groupe : Membres
#ifdef __cplusplus

#include <cstdlib>
#else
#include <stdlib.h>
#endif
#include <SDL/SDL.h>

euh c'est du c ou c++ ???
bon c'est pas mal moi je donne un 17 3point en moins a cause de cette ligne qui ma pas mal dérouter.

Brigade du tigre Team: fun and war day of defeat. On recrute. Recrutement c'est ici
projet C : Calculatrice abandonné trop dur
projet C : afficher hello world en console abandonné trop dur
 
Hors ligne George369 # Posté le 24/06/2008 à 13:45:54 - Ce membre n'a pas mis de note
...ben quoi ?
Avatar
Groupe : Membres
Ce n'est pas à moi de vous expliquer les fonctions du préprocesseur, si ?

Ceci dit, cette ligne est vraiment pratique ; elle permet de ne pas se tromper lorsqu'on fait un projet console, puisqu'elle marche dans les deux cas, qu'on soit en C ou en C++.

Une petite recherche sur Google aurait permis d'en apprendre plus sur les directives de préprocesseur et le fait que Code::Blocks insère ces lignes par défaut dans le code.

N'empêche que tu demandes quand même si ces directives sont du c++ ??!!?? o_O Si tu n'as jamais vu les ifdef, il va falloir relire ton cours sérieusement.

Je ne dis que les choses quand elles ont besoin d'être dites.
La franchise est parfois mon défaut :p .
Mon tuto : Les sauts 2D en C !
"La musique n'est belle que si elle comble le silence qui la précède et qui la suit..."
 
Hors ligne cvanaret # Posté le 29/07/2008 à 16:00:17 - Ce membre n'a pas mis de note
Groupe : Membres
Mh ça fait plaisir de retrouver un peu de méca élémentaire (parole de taupin) :p
Bon tuto en tout cas !
Je me permets juste de faire remarquer que ton coef a de la parabole doit être négatif dans le QCM : 0 = a*(-100)²+300 (sinon ça passe par le sol :) )
Rien à dire à part ça !
Hors ligne bluestorm # Posté le 27/08/2008 à 16:19:56 - Ce membre a mis la note : 0
dont ask to ask
Avatar
Groupe : Membres
Bon, quand est-ce que tu vires tous les machins inutiles, compliqués et peu flexibles, pour mettre une vraie solution qui marche qui est flexible et qui représente la réalité du problème ?

On en a parlé, je t'ai posé la question et je crois que tu as oublié de répondre...


edit : plusieurs jours après, toujours pas de réponse, je me permets de mettre une note infâmante. C'est pas très correct, mais vu la note actuelle ça ne va pas causer trop de dégâts, et si toi tu ne veux rien faire, la seule solution qu'il me reste est de dissuader les gens de lire un tuto qui va dans la mauvaise direction.
 

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 265 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.0877s (0.0739s)