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

C++ Discussion :

Que lire, que faire pour apprendre le C++


Sujet :

C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Que lire, que faire pour apprendre le C++
    Bonjour à tous,

    Depuis hier matin, j'ai pris la décision de changer d'horizon et d'apprendre d'autres langages (que ceux déjà connus), on m'a donc conseillé le C++ avec les librairies SFML, j'ai donc regarder un groupement de vidéos pour créer un petit jeu en 2D, celui-ci fonctionne malgré quelques améliorations à faire, mais les collisions, scores et autres sont fonctionnels (ce sont mes ajouts personnels, et non présent dans les vidéos regardées).

    Mais mes objectifs ne sont pas de créer un jeu, ou alors pour plus tard lorsque je maîtriserai plus de langages, ou celui-ci mais de manière très stable. Pour le moment j'aimerai en apprendre plus sur la gestion de la mémoire, Memory Editing, car ce que j'ai lu, repris n'a pas fonctionné malgré que le code avait l'air fonctionnel.

    Pour ce premier domaine, j'aimerai pour commencer, apprendre à modifier les valeurs de programmes (jeux, logiciels) pour créer quelques logiciels de triches qui me permettront d'avancer dans l'apprentissage du langage. Je ne souhaite pas utiliser ces logiciels pour jouer en ligne, juste pour apprendre et voir les fonctions qui me sont offertes.

    J'aimerai par la suite, apprendre des choses sur le réseau, créer un Chat instantané. Pour la simple et bonne raison que je souhaiterais ajouter quelques fonctionnalités au développement du serveur sur la plateforme SA:MP, du client au serveur. Ce qui permettrait d'ajouter la lecture de toutes les touches du clavier par exemple, actuellement indisponible.

    J'aimerai aussi, apprendre à injecter les fichier dll lorsque je lance le jeu, par exemple, j'ai lu qu'il fallait injecter un fichier, avec quelques paramètres dans le GTA_SA.exe pour lancer SA:MP, ou encore pour mettre en place les plugins qui devront intéragir avec la plateforme du serveur.

    Je souhaiterais aussi en apprendre plus sur la liaison SQL, est-elle conseillée de manière directe (dans le programme) ou indirecte (par le biais de pages internet).

    Je vous remercie d'avance pour toute l'aide que vous pourrez apporter à ce sujet, amicalement

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2014
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 345
    Points : 1 211
    Points
    1 211
    Par défaut
    man google

  3. #3
    Membre chevronné
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 640
    Points : 2 149
    Points
    2 149
    Par défaut
    Pour le moment j'aimerai en apprendre plus sur la gestion de la mémoire, Memory Editing
    Il n'y a pas besoin de SFML ou spécifiquement du C++ pour faire ce genre de programme. Personnellement , j'ai crée ce genre de programme en C# (si le C# fait parti de tes langages connus , je pourrais te donner le code source).

    Il est vrai qu'en codant ce programme , j'ai énormément appris sur la gestion de mémoire d'un jeu , donc je comprends ton point de vue.

    pour créer quelques logiciels de triches qui me permettront d'avancer dans l'apprentissage du langage
    Faire ce genre de logiciel ne te fera découvrir qu'un seul aspect du langage , par contre cela te fera réviser tes notions de octets / bits / conversion hexa .

    Je ne souhaite pas utiliser ces logiciels pour jouer en ligne
    De toute façon tu ne pourras pas , ce genre de logiciel ne marche pas sur les jeux en ligne (heureusement d'ailleurs). Les changements ne seront que client-side et donc que graphique.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par PixelJuice Voir le message
    Il n'y a pas besoin de SFML ou spécifiquement du C++ pour faire ce genre de programme. Personnellement , j'ai crée ce genre de programme en C# (si le C# fait parti de tes langages connus , je pourrais te donner le code source).
    Je connais quelques bases, dont le C#, j'avais quelques petits trucs, mais rien de bien important. Lez plus gros souci, est que je ne connais pas les langages mieux placés suivant les actions souhaitées.

    Citation Envoyé par PixelJuice Voir le message
    Faire ce genre de logiciel ne te fera découvrir qu'un seul aspect du langage , par contre cela te fera réviser tes notions de octets / bits / conversion hexa .
    Je n'y connais rien à ce niveau-là.

    Citation Envoyé par PixelJuice Voir le message
    De toute façon tu ne pourras pas , ce genre de logiciel ne marche pas sur les jeux en ligne (heureusement d'ailleurs). Les changements ne seront que client-side et donc que graphique.
    Je n'en savais rien, alors de quelle manière sont-ils créés ? C'est pas par le biais de la mémoire ?

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2014
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 345
    Points : 1 211
    Points
    1 211
    Par défaut
    Citation Envoyé par carpetos Voir le message
    Je n'en savais rien, alors de quelle manière sont-ils créés ? C'est pas par le biais de la mémoire ?
    Si, mais pas en local. Les données sont généralement stockées sur un serveur distant, et pour pouvoir altérer des informations il faut que tu aies un accès à ce serveur.

    J'aimerais bien savoir qu'est-ce que tu vises exactement ? La connaissance du bas-niveau, le développement de jeux, la gestion du réseau, la sécurité ?
    Ou juste des cracks de jeux vidéo ?

  6. #6
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    La raison pour laquelle ça ne marcherai pas sur un jeu en ligne, c'est que c'est le serveur qui fait foi, et qui contrôle les données importantes.

    le code coté joueur (client) fait ses propres calculs pour alléger la connexion, mais se synchronise régulièrement avec le serveur (c'est la cause première des pics de latence (lag)
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par the Hound Voir le message
    Si, mais pas en local. Les données sont généralement stockées sur un serveur distant, et pour pouvoir altérer des informations il faut que tu aies un accès à ce serveur.

    J'aimerais bien savoir qu'est-ce que tu vises exactement ? La connaissance du bas-niveau, le développement de jeux, la gestion du réseau, la sécurité ?
    Ou juste des cracks de jeux vidéo ?
    Citation Envoyé par leternel Voir le message
    La raison pour laquelle ça ne marcherai pas sur un jeu en ligne, c'est que c'est le serveur qui fait foi, et qui contrôle les données importantes.

    le code coté joueur (client) fait ses propres calculs pour alléger la connexion, mais se synchronise régulièrement avec le serveur (c'est la cause première des pics de latence (lag)
    Un de mes objectif parle d'un cheat pour modifier le jeu. Je vais expliquer la situation.

    Depuis deux ans, je pratique le Pawn qui est un langage dérivé du C++ et qui permet le développement d'un serveur sur la plateforme multijoueurs de Grand Theft Auto. Mais, n'ayant plus de motivation pour finir mon projet, je voulais m'aventurer dans la modification du jeu, le joueur devrait lancer un client qui permettrait d'avoir les même capacités que les autres. Le fichier original peut être modifié, mais n'est pas pris en compte par le mode multijoueurs, mais un cheat lui permet de faire çà. Donc c'est ceci est possible. J'aimerai donc savoir comment ils le font. Ceci permettrait donc de modifier les distances de freinages des véhicules du jeu, la vitesse, l'accélération et la direction.

    Mais ceci n'est que secondaire, principalement je préfère travailler sur le réseau, être capable de faire un chat qui enverrait aux client une alerte qui permettra l'actualisation dès qu'un mot de passe est posté.

    Edit : Je ne comprend pas le délire des points négatifs qui me sont donné.. mais bon..

  8. #8
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2014
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 345
    Points : 1 211
    Points
    1 211
    Par défaut
    Citation Envoyé par carpetos Voir le message
    Edit : Je ne comprend pas le délire des points négatifs qui me sont donné.. mais bon..
    Un rageux est passé par là, on a tous pris sur le coup

    Si c'est bien la gestion du réseau qui t'intéresse, tu peux utiliser une bibliothèque comme Boost.Asio ou alors directement manipuler des sockets, auquel cas cela va dépendre de la plateforme utilisée (par ex. les fonctions fournies par Windows et Linux ne sont pas tout à fait les mêmes).

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par the Hound Voir le message
    Un rageux est passé par là, on a tous pris sur le coup

    Si c'est bien la gestion du réseau qui t'intéresse, tu peux utiliser une bibliothèque comme Boost.Asio ou alors directement manipuler des sockets, auquel cas cela va dépendre de la plateforme utilisée (par ex. les fonctions fournies par Windows et Linux ne sont pas tout à fait les mêmes).
    Bien, je vais regarder les "sockets" et la librairie dont tu parles. Merci.

    Pour le rageux, il y en a vraiment qui ont rien à faire

  10. #10
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Pour ta culture, en français, on dit bibliothèque.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par leternel Voir le message
    Pour ta culture, en français, on dit bibliothèque.
    Pas faux, c'est vrai c'est justement un piège entre la langue . *s'enfuit*

  12. #12
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Il y a un certain nombre de livres qui sont bons.

    Après, comme je l'ai lu récemment ,
    [On apprend bien qu'une chose] lorsqu’on essaye de l’expliquer à d’autres, que ce soit ton petit frère ou ton canard en plastique peu importe. Et ça c’est justement parce qu’enseigner c’est apprendre deux fois.
    En conséquence, répondre sur des forums en cherchant a construire une réponse développée (avec des explications riches, a coup de citations des pages de la documentation ou même de la norme) est aussi très formateur.

    Apres, pour la partie triche, édition de mémoire, c'est vraiment quelque chose de spécifique a l'OS. En ce qui concerne les autres choses, (en plus de connaissance toujours spécifique l'OS, comme les DLL), ca demande un connaise du logiciel cible. Si celui ci est pas open source et n'a rien prévu pour, il faut en général désassembler pour l'analyser.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

Discussions similaires

  1. [Oracle] Que dois-je faire pour résoudre ce problème ?
    Par soumia1988 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 10/03/2007, 11h29
  2. Réponses: 1
    Dernier message: 27/08/2006, 19h22
  3. Réponses: 3
    Dernier message: 24/01/2006, 09h20
  4. [juridique] Que faut-il faire pour etre mandataire?
    Par Death83 dans le forum Droit
    Réponses: 5
    Dernier message: 24/11/2005, 17h09
  5. Que dois-je faire pour ne pas imprimer l'url de ma page ????
    Par pontus21 dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 01/06/2005, 20h09

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