See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: définition d'abréviations C++  (Read 2301 times)

0 Members and 1 Guest are viewing this topic.

Offline Fox-Terrier

  • League of
  • Legend
  • ******
  • Posts: 1426
  • Country: Switzerland ch
  • Karma: 28
  • :D
08 February 2010, 10:02:48
Bonjour,
Je débute en C++ (les vacances sont là pour ça ;) ) et je me pose 2, 3 questions à propos des abréviations

c'est quoi bool (bolean ?), void, int, et double ?
const c'est une constante ?
c'est quoi la différence entre simt et simdt ?
un callback ça insère une macro ?
où sont appelés les lib ?
comment sait ont ce qu'il y a dans une lib (librairie ?) ?

les touches clavier par défaut pour orbiter (ex prograde, lvl horizon) faut il les inclure dans
le code ou sont-elles incluses par défaut?

merci, d'avance



Offline MartySpaceLines

  • Legend
  • ******
  • Posts: 1096
  • Karma: 0
Reply #1 - 08 February 2010, 10:11:41
Hello!

Regarde ce site, c'est avec ça que j'ai appris d'abord le C, puis le C++:
http://www.siteduzero.com/tutoriel-3-14189-apprenez-a-programmer-en-c.html

Tu y trouveras toutes les réponses à ces questions. Lorsque tu auras fini ces cours (ou un peu avant, je ne les ai pas suivis
jusqu'à la fin, mais ai étudié après certains chapitres au fur et à mesure que j'avais besoin des notions qu'ils
contenaient), là il faudra regarder les exemples de la SDK en même temps que les tutos de Dan. Ensuite, les Add-ons Orbiter
n'auront (presque) plus de secrets pour toi ;)

Ce cours est très bien fait, luidique et drôle. Il donne vraiment envie d'aller plus loin!


@++

MSL  


Offline Fox-Terrier

  • League of
  • Legend
  • ******
  • Posts: 1426
  • Country: Switzerland ch
  • Karma: 28
  • :D
Reply #2 - 08 February 2010, 10:27:15
merci beaucoup !

d'ailleurs, je viens de voir qu'il y a 17Mo de tuto C++ pour Orbiter sur le site de Mustard



Offline Fox-Terrier

  • League of
  • Legend
  • ******
  • Posts: 1426
  • Country: Switzerland ch
  • Karma: 28
  • :D
Reply #3 - 08 February 2010, 12:35:33
c'est vrai qu'il est complet et long

je suis arrivé aux variables que je cherchais

http://www.siteduzero.com/tutoriel-3-13940-un-monde-de-variables.html



Offline NLS le pingouin

  • Legend
  • ******
  • Posts: 826
  • Karma: 1
Reply #4 - 08 February 2010, 17:41:39
Quote
Fox-Terrier a écrit:
merci beaucoup !

d'ailleurs, je viens de voir qu'il y a 17Mo de tuto C++ pour Orbiter sur le site de Mustard

Gnein? T'es sûr que c'est des tuto C++? J'ai jamais trouvé ça. Je viens d'aller faire un tour, ya bien les tutps Orbiter,
mais je vois que dalle sur la création des .dll pour addon.



Offline Fox-Terrier

  • League of
  • Legend
  • ******
  • Posts: 1426
  • Country: Switzerland ch
  • Karma: 28
  • :D
Reply #5 - 08 February 2010, 19:56:12
Quote
NLS le pingouin a écrit:
Quote
Fox-Terrier a écrit:
merci beaucoup !

d'ailleurs, je viens de voir qu'il y a 17Mo de tuto C++ pour Orbiter sur le site de Mustard

Gnein? T'es sûr que c'est des tuto C++? J'ai jamais trouvé ça. Je viens d'aller faire un tour, ya bien les tutps Orbiter,
mais je vois que dalle sur la création des .dll pour addon.


moi non plus au début, c'est parce qu'il n'ont pas été classé sous tutos
c'est là : http://orbiter.mustard-fr.com/addons/sdkfr.php



Offline tofitouf

  • Legend
  • ******
  • Posts: 1380
  • Karma: 0
Reply #6 - 08 February 2010, 20:49:42
je vais essayer de répondre tout de même histoire d'avoir une trace sur le forum :

- bool est bien un booleen (true ou false). en réalité c'est une variable entière (int) mais pour al commodité de
compréhension on utilise des booleen quand on a besoin que de ça. ca fait un code plus compréhensible
- void signifie néant, rien. Cela veux dire qu'une fonction ne renvoie rien
void mafonction(int toto) ..... à priori ce genre de fonction est à éviter, c'est toujours meiux de renvoiyer un code
d'erreur même minimaliste style booleen :)
- int est un entier (32 bits en général, mais parfois 64), on peux avoir des entiers signés (par défaut) ou non signé
(unsigned int). les non signé peuvent avoir du coup une plus grand valeur (entre 0 et 2^32) que les signés (entre -2^31 et 2^31)
- double est une valeur décimale (virgule flotante) codée sur 32 bits
- float est al même chose codée sur 16 bits, les calculs sont alors plus rapide mais moins précis
double et float étant flotant il n'y a pas de valeurs maxi ou mini mais plus ou moins de précisions, donc plus de chiffres
après la virgule (plus pour double)

const indique bien une constante mais ca peux s'utilsier pour plein de chose.

const int toto = 3; // la variable tot vaux 3 et ne peux être modifiée
void mafonction() const; // quand on déclare une fonction comme const cela veux dire que la classe qui contient cette
fonction ne va pas être modifiée

on peut aussi le mettre dans une déclaration de paramètre de fonction
ex :
void mafonction(const int & toto);

le & indique un passage par référence (plus rapide car pas de copie et dans les autres cas la variable peux changer de valeur
après le passage de la fonction). ici on spécifie const, on passe bien apr référence mais on ne paux pas changer la valeur de
toto dans la fonction (refusé par le compilateur)

y'a encore beaucoup d'autres utilisation de const, notamment avec l'usage des pointeurs

Dans orbiter simt est le temps passé depuis le début du jeu, et simdt le temps passé depuis la dernière frame (image) quand
on additionne tous les simdt on a alors simt (mais faut pas en oublier un). simdt est très très pratique pour ce qui est des
animations. Quand on utilise cette avriable on a à priori moins de calculs à faire.

Ne pas confondre callback et macros, cela n'as rien à voir.....
une callback est un pointeur de fonction qu'on passe à une autre fonction pour demander d'être rappelé, par exemple à
intervale régulier. La syntaxe des pointeurs de fonctions en c est un véritable enfer. C'est pour éviter cela que le c++ est
né (entre autres)

les macro sont des bout des code que l'on reproduit comme un copier-coller. ils sont remplacés en preprocessing (avant le
compilateur) C'est parfois très pratiques mais aussi très dangereux car difficile à debugger. quand on a un plantage dedans
on n'as aucun moyen de savoir où précisement, c'est quelque part dans la macro, donc à utiliser avec beaucoup de parcimonie.

pour les libs, difficile de répondre comme ca. à priori on ne sais pas.... eh oui c'est dur. c'est pourquoi une librairie est
toujours livrée avec un .ou plusieurs h qui décrit le contenu de la librairie en question.

Pour al dernière question concernant les touches. je sais pas j'ai encore jamais fait de vaisseaux, quelle honte.


---------------------------------------------

PC en rade, codage en panne.... Nom de Zeus

Offline Fox-Terrier

  • League of
  • Legend
  • ******
  • Posts: 1426
  • Country: Switzerland ch
  • Karma: 28
  • :D
Reply #7 - 09 February 2010, 11:10:31
merci !

encore une question : pour faire des MDF, faut-il faires des meshes ou des dessins ou queque chose comme ça ou est-ce que
c'est entièrement sous forme numérique ?



Offline tofitouf

  • Legend
  • ******
  • Posts: 1380
  • Karma: 0
Reply #8 - 09 February 2010, 16:49:21
Des MFD tu veux dire ? les ptits ordis de bord ?

là tout est fait programmatiquement. Pour faire am carte j'ai redévellopé toute une librairie d'aide à la création de MFD. ca
intègre la sauvegarde hierarchique des pages, l'affichage, les animations, les menus dynamiques etc etc....

si ca t'intéresse y'a qu'à demander, je vais d'ailleur la proposer sur le site de mustard comme c'est fait pour le "sdk"


---------------------------------------------

PC en rade, codage en panne.... Nom de Zeus

Offline Fox-Terrier

  • League of
  • Legend
  • ******
  • Posts: 1426
  • Country: Switzerland ch
  • Karma: 28
  • :D
Reply #9 - 09 February 2010, 17:12:32
oui des MFD, c'est super utile, même si ça ne vole pas :)

avant de faire des addons, j'ai encore un peu de lecture à faire ;) (ce que je fais, grâce au site du zéro, maintenant je
sais faire des calculettes, des menus (pour manger) et le mini jeu du plus ou moins, que j'ai retouché à ma sauce)



Offline Ladwin

  • Jr. Member
  • **
  • Posts: 31
  • Karma: 0
Reply #10 - 10 February 2010, 00:03:02
Pour donner du courage à ceux qui veulent coder en C ou C++ ;)

http://www.youtube.com/watch?v=XHosLhPEN3k&feature=player_embedded


Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #11 - 10 February 2010, 00:07:11
Quote
Ladwin a écrit:
Pour donner du courage à ceux qui veulent coder en C ou C++ ;)

http://www.youtube.com/watch?v=XHosLhPEN3k&feature=player_embedded

J'adore :love: :lol:

Dan


Offline Fox-Terrier

  • League of
  • Legend
  • ******
  • Posts: 1426
  • Country: Switzerland ch
  • Karma: 28
  • :D
Reply #12 - 10 February 2010, 12:44:38
Quote
Ladwin a écrit:
Pour donner du courage à ceux qui veulent coder en C ou C++ ;)

http://www.youtube.com/watch?v=XHosLhPEN3k&feature=player_embedded

fantastique :)

Je me demande qui est allé inventé des paroles pareilles, mais c'est super !


« Last Edit: 10 February 2010, 14:12:50 by Fox-Terrier »

Offline tofitouf

  • Legend
  • ******
  • Posts: 1380
  • Karma: 0
Reply #13 - 10 February 2010, 14:12:50
c'est magnifique :)


« Last Edit: 10 February 2010, 14:12:50 by tofitouf »
---------------------------------------------

PC en rade, codage en panne.... Nom de Zeus