CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

LE TOPIC DES DEBUTANTS !!!!!!!!!!!!!!!!!

Kelios
Kelios
Niveau 8
25 janvier 2003 à 21:12:32

je vais vulgariser et simplifier.
En fait c´est pas compliqué:

Lorsqu´une variable est créé normalement(on va oublier new et delete pour l´instant) l´OS va trouver un endroit vide dans la mémoire de la taille de la variable ( avec sizeof() ) .L´endroit ou est est placé est représenté avec un nombre(appelée adresse, et valant quatre octets). Lorsque on incrémente un variable par exemple, on va à l´adresse de cette variable, et on incrémente le nombre à cette adresse ( ce nombre est en fait là valeur de la variable).
Un moyen simple de comprendre ça sont des classeurs. Dans chaque classeur il y a un chiffre. Losqu´on fait quelque chose à se chiffre, comme faire +3, on trouve le numéro de classeur, on l´ouvre, on prend le chiffre, on lui rajoute plus 3, on le remet et on referme le classeur.
Tout ça est fait par l´OS, t´as pas à t´en occuper normallement.
Voilà qu,arrivent les pointeurs: les pointeurs valent toujours 4 octets, car ce sont des nombres: imagine toi un int par exemble. Ce chiffre de ce int est en fait une valeur d,adresse. losqu´on dit qu´un pointeur pointe vers une adresse, c´est que son chiffre à l´intérieur est égual à la l´adresse de la variable quelle pointe. C´est très utile.
En pratique:

int *p;

Le C ( et C++) te simplifient la vie en t´offrant de symboles qui t´aident. * signifie que c´est un pointeur lors d´une création d´un pointeur.

p = &(variable);

ici: le chiffre de p est égual à la valeur de &. & signifie adresse ( ça renvoie l´adresse d´une variable)

  • p = 3;

Un * utilisé losqu´un pointeur déja créé signifie aller à l,adresse que vaut le chiffre de p. ici, p POINTANT sur variable, ça revient donc à écrire:

variable = 3;

À la fin donc de *p = 3;, variable vaut 3.

maintenant que tu sais ça, on peut faire des truc géniaux =)

int i1, i2;
int *pi, *pi2;

pi = &1;
pi2 = &2;

pi = pi2; /*le chiffre de pi est donc égual à celui de pi2, donc l,adresse contenue dans pi est donc celle de i2*/

Voilà. maintenant, le mauvais coté à ça: un pointeur ne peut pointer que sur un type au total. On déclare le type que que pointeur va pointer tout au long de son existance avant comme ceci:

TYPE *NOM;

ex.: int *hello;
MaStructure *haha;

Voilà, aussi, NULL est en fait une macro valant 0x00000000

  1. define NULL 0x00000000

en fait c´est pas vraiment ça, mais c´est proche.

Après, dire que pi = NULL; veut donc dire que elle pointe vers l,adresse 0x00000000. ATTENTION! Cette adresse est spéciale, est ne vaut rien! Il faut toujours donner une adresse à un pointeur, par soucis de sécurité, et NULL a été la solution logique, mais ça veut rien dire, et tenter d´utiliser NULL est dangereux!

Voilà, maintenant un spécial sur les ADM(Allocations Dynamiques de Mémoire)

malloc(size_t size)//Un size_t peut être renvoyé par sizeof()

C´est une fonction magique. Elle crée une variable vide de la taille donnée par size, et revoie l,adresse.

donc,

pi = ( int*) malloc(sizeof(int)); //pi pointe vers une adresse mais cette adresse n´a pas de variable.

Losqu´on a terminé avec, free(void * memblock) va exterminer le bloc à l´adresse qui a été donné par malloc.

free(pi);

Normallement, l´OS va s´occuper de la mémoire. le c/c++ te donne la possibilité de t´en occuper pour faire des truc intéressants, à une seule condition : "quand tu t,amuses avec la mémoire, tu t´occupe de l´allouer et de le détruire. "
N´oublie pas de détruire la mémoire avant de partir!

En c++, il existe des opérateurs qui font la même chose, en plus puissant, et il faut toujours les utiliser à la place de ceux du c lorsqu,on fait du c++.

new, delete, new[], delete[]. Ils sont simples:

new TYPE //Revoie l´adresse d´un nouveau TYPE
ex.: int *pi = new int

delete POINTEUR //Détruit le bloc à l´adresse du pointeur
ex.: delete pi;

new TYPE[NUMOFITEMS]//Appelé new[], comme new mais pour les tableaux: revoie l,adresse d´un tableau de TYPE avec NUMOFITEMS nombre d´éléments
ex.: int *pi2 = new int[33]

delete[] POINTEUR //Tu as deviné?
ex.: delete pi2;

Les pointeurs, c´est bien utile pour faire des tour des passe-passe. Enfin, bon, je pense que c´est tout, t´as d´audres questions?

Kelios
---------

SalaN87
SalaN87
Niveau 8
25 janvier 2003 à 21:45:55

euuuuuuuuh....
le debut c t clair mais g lache a partir des ADM la
et aussi le *p de "int i1, i2;
int *pi, *pi2;"
c t juste un exemple ou c toujours un *p ? ?

Kelios
Kelios
Niveau 8
26 janvier 2003 à 18:23:54

effectivement, c´était juste un exemple:

ça aurait pu être aussi bien *pi que *jemenomme_salaN87. Comme dans le cas des variables.

Kelios
---------

SalaN87
SalaN87
Niveau 8
28 janvier 2003 à 12:29:08

ok g a peu pres tout compris ( a part le coup des ADM) merci Kelios

jejej
jejej
Niveau 9
28 janvier 2003 à 16:46:57

bonjour
je desire me lancer dans la programmation
je connais rien
gugui tu dis que il faut commencer par apprendre le qbasic avant tout le reste et tu conseille un bouquin a 245 balles
c pas un peu cher pour apprendre un language qui sert plus a rien ensuite ?
c pas que je suis radin mais tu n´aurais pas moins cher ?
felicitations pour ce topic tres utile

lynkdr
lynkdr
Niveau 5
28 janvier 2003 à 16:54:47

pour le QBasic tu peux t´y mettre sans aucun livre il y a beaucoup de sites qui proposent des tutoriaux et en les regroupant tous tu obtiens autant que si tu avais achete un bouquin.
Il pourra encore t´etre utile si tu passes par le Visual Basic ou le DarkBasic mais personnellement je te conseillerai de passer directement au C puis au C++ ( enfin c toi qui voit).

Par contre la il te faudra un bouquin.

guigui00
guigui00
Niveau 8
29 janvier 2003 à 15:06:53

UPPPPPP
la vache comment il a de mess mon bô topic depuis 2 semaines d absence
UPPPPPPPPPPP

DarkArachnid
DarkArachnid
Niveau 24
29 janvier 2003 à 15:11:07

Tiens un revenant...
On est que tout les deux?

shadows-2003
shadows-2003
Niveau 9
29 janvier 2003 à 16:40:48

Salut à toi Guigui00,

Voilà, je suis en train de créer un jeux sous RPG MAKER 2000 !

Pour des infos, allez voir mon topic ! C´est : Mon jeux RPG MAKER 2000 ( besoin d´aide)

Il y aura des news tout les jours ( au moins une fois)

Kelios
Kelios
Niveau 8
29 janvier 2003 à 22:02:10

"conseille un bouquin a 245 balles
c pas un peu cher pour apprendre un language qui sert plus a rien ensuite ? "

Ce qui est important de ça, c´est pas le language, c´est la comprehension générale de la programmation sortant de ça qui l,est : je te le dis, ça vaut vraiment 245 balles, car on peut obtenir cette expérience qu´en programmant.

Je te conseille pourtant de t´attarder dessus : plus tu t´enfonceras dans le Basic, plus cette "expérience" sera forte. Losque tu te sentiras prêt, tu pourras passer au C.

"Il pourra encore t´etre utile si tu passes par le Visual Basic ou le DarkBasic mais personnellement je te conseillerai de passer directement au C puis au C++ ( enfin c toi qui voit)."
Bah, je suis l,exemple même du type qui a commencé par le C, et je ne conseille pas vraiment. C´est trop bas-niveau(proche de la machine) pour commencer selon moi. Le basic, c´est bien pour commencer justement.

Par contre, je sui plutot pour l,achat d´un bouquin : comme la dit lynkdr, c´est toi qui voit à ça.

Quant à SalaN87, je me rend compte en me relisant que je n,ai pas trop expliqué qu´esque sont les ADM. Vaux mieux laisser ma bible online t,expliquer en plus clair:

http://casteyde.christian.free.fr/cpp/cours/online/x1958.html

Kelios
---------

SalaN87
SalaN87
Niveau 8
30 janvier 2003 à 18:24:33

merci pour le lien c sympa !

jejej
jejej
Niveau 9
30 janvier 2003 à 19:35:07

ouais je vais m´acheter ce bouquin alors . .

Mister_Squall
Mister_Squall
Niveau 9
31 janvier 2003 à 18:36:56

Pourquoi quand j´essai mon jeu certaine fois mon perso marche sur les maison ?

tribal-shark
tribal-shark
Niveau 8
01 février 2003 à 10:39:56

Je n´y connais rien en matière de création de jeu et j´aimerais tout apprendre vous ne connaitriez po un site qui explique tout sur développement de jeu d´aventure 2D ?
Merci bocoup !

lynkdr
lynkdr
Niveau 5
01 février 2003 à 11:41:38

prend RPGMaker et des tutoriaux et surtout si tu as des pb avec regarde les autre topics sans rebalancer des messages du genre "help RM2K" ou "svp aidez moi".
Sinon apprends le C++ ( bon courage) et tu utilises direct draw ou un truc dans le genre pour la 2D et dans 4 ans tu sors ton jeu ^^ lol
Mais le C++ te sera bcp plus utile par la suite que rm2k

10_88
10_88
Niveau 10
01 février 2003 à 11:42:57

ouai mai avec rpgmaker on pe faire des jeux de plate forme??

tribal-shark
tribal-shark
Niveau 8
01 février 2003 à 11:48:19

Donc je repose ma question ou pourrais je trouvez un logiciel + son tutorial pour crééer des jeux de plateforme 2D ou de shoot 2D ?
RPG makers n´est til pas comme son nom l´lindik un logiciel pour créer des rpg ?

10_88
10_88
Niveau 10
01 février 2003 à 11:50:28

tribal: en atendan li les page precedente sa pe ptete taprendre des truc!

tribal-shark
tribal-shark
Niveau 8
01 février 2003 à 11:51:50

ouaish j´vé ossi chercher sur dotre site de dot forum !
A tout ´!

Merci

lynkdr
lynkdr
Niveau 5
01 février 2003 à 11:54:54

j´en sais rien j´ai jamais utilise rm mais tu parles de jeu de plate forme ou de shoot alors que tu as dit je cite :
"Je n´y connais rien en matière de création de jeu et j´aimerais tout apprendre vous ne connaitriez po un site qui explique tout sur développement de jeu d´aventure 2D ?
Merci bocoup ! "

tu as specifie "jeu d´aventure" alors je t´ai dit rm essaye The Game Factory ou Darkbasic.

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment