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

Bizoin d'aide

chichi_molle
chichi_molle
Niveau 3
03 septembre 2002 à 15:48:59

voila quelque question que je me pose:
-Quel utilité a un pointeur dans la creation d´un jeu?

-est-t-il utile d´apprendre l´assembleur pour faire un bon jeux?

-c coi un Octree?

-est-ce que les sdk de la playstation1 sont dispo sur internet?et si oui où?

-Vous savez ou on pe télécharger les sdk de gba?

SuperDindon
SuperDindon
Niveau 8
03 septembre 2002 à 16:39:32

-Les pointeurs sont à utiliser le moins possibles, exceptés pour les grands espaces memoire alloués, ce qui te permet de ne pas réallouer 2 fois le même bloc. Pour le reste, ca depend de ce que tu veux faire
-Pas nécessairement. Ce n´est pratique que pour optimiser le max possible tes jeux, ou alors créer des effets de déplacements de pixels( pour faire des courbes, par ex.) ou si tu souhaitent exploiter les pixels shaders ou vertex shaders
-Sais pas
-Rêve pas trop. Mais si t´as trop de thune, tu peux acheter une ´Playstation noire´, qui reliee sur l´ordi te permet de créer des jeux en C(ou en BASIC, men rappelle pas). Mai elle est tres limitee.
-C´est payant

chichi_molle
chichi_molle
Niveau 3
03 septembre 2002 à 17:02:52

oui la play noire c la netyaroze

LcData
LcData
Niveau 6
04 septembre 2002 à 01:14:26

SuperDindon les pointeurs c est super pratique.
Il faut les utiliser ils te permetent d allouer et de déallouer la memoire dynamiquement
Ils sont utile lorsque tu utilises le mecanisme d heritage avec des fonction virtuel il faut que tes objet de base soit des pointeurs pour que le compilateur puisse faire les correspondance dans la vtable...

Les poiteurs c est bien pour le downcasting et upcasting aussi

et des examples il y en a encore plein si tu veux.

je dit pas qu il faut declarer tout le temp des pointeurs mais les 3/4 tu temps c est mieux .

Data
www.ploksoftware.org

SuperDindon
SuperDindon
Niveau 8
04 septembre 2002 à 12:47:15

Mouais, sauf que ca te bouffe 4 octects par pointeurs pour stocker l´adresse, et donc ca te prend 2 fois + de mem pour les nombres 32 bits, par exemple.
Par contre, pour l´allocation dynamique je suis d´accord avec toi, c´est vachement prratique

chichi_molle
chichi_molle
Niveau 3
04 septembre 2002 à 15:56:13

merci a vous, je suis content de voir qu´il y a des gents serieux sur ce forum... : )

Diablophil
Diablophil
Niveau 3
05 septembre 2002 à 01:46:16

Oui enfin 4 octets supplémentaires c´est rien... Et puis imagine par exemple que tu veuilles trier un énorme tableau de structures relativement grosses, c´est beaucoup plus rapide de manipuler des pointeurs que les structures elles-même ! Enfin ce n´est qu´un exemple parmis tant d´autres de l´utilité des pointeurs.

A++

Passage
Passage
Niveau 10
05 septembre 2002 à 10:26:35

LCData :

Peut tu expliciter cette histoire entre :
Pointeur
Fonction Virtuelles
Virtual Table
( juste au cas ou . . )

Que nomme tu UpCasting et DownCasting ? ???

De maniere plus generale:
Un pointeur c´est une adresse.
La premiere utilisation qu´un programmeur en fait ( en ayant conscience de cette utilisation )et un passage de parametre modifiable ( appelez cela reference en C++ si ca vous chante, ce n´est rien qu´un pointeur, ni plus ni moins)dit par adresse et non par copie.

Exemple ( a la con )

Je fait une fonction qui incremente une variable type entier.

void Incremente( int Parametre )
{
Parametre ++;
}

void Appelant( void)
{

}
Pas de chance, ayant placé sur la pile une re

Passage
Passage
Niveau 10
05 septembre 2002 à 10:33:55

Pardon pas fini le message

Donc la fonction
void Appelant(void)
{
int Iterateur;
int Bidon = 0;
for(i=0;i<500;i++)
{
Incremente(Bidon);
}
}

Pas de chance, a chaque appel le parametre bidon est copié sur pile, et de ce fait jamais modifié.

Pour recupere la modification il faut passer l´adresse de notre parametre. Donc on modifira le contenu de l´adresse.

void Incremente( int *Parametre)
{
(*Parametre)++;
}

void Appelant(void)
{
int i;
int Bidon;
for(i=0;i<500;i++)
{
Incremente(&); // le & pour adresse
}
}

Donc, les pointeur pour programmer en C ou C++ sont primordiaux. Point de salut sans les connaitre; Sinon bonjour le code bien crado.

Bon courage.

LcData
LcData
Niveau 6
05 septembre 2002 à 12:31:55

Passage le fonction vitrtuel et la vtable , le dynamic binding . .. ca prend plusieur pages pour les explications pas la place ici

alors le upcasting et donw casting ej v te montrer un exemple

classe base
{
public:
virtual void f(){cout<<"fonction de base"<<endl;}
};

classe derivée : public base
{
public :
void f(){cout<<"fonction derivee"<<endl;}
void g(){cout<<"fct add"<<endl;}
};

la relative complexite de l utilisation de ces deux classes redisde dans :
l existence d une methode vitruelle f();
l ajout d´ une methode g() pour la class fille

L emploi de de la methode f() ne pose pas de probleme temps que l on utilise des pointeurs sur des objets instanciant les classes consideres et non pas des objets statiques

donc avec la declaration suivante

base *pb= new derivee; //upcast

D´un point de vue STATIQUE, lobjet désigné par pb est une base; mais d un point de vue DYNAMIQUE cet objet est une derivee,on peut remarquer que l expresssion new derivee renvoi en fait un pointeur sur un objet derivee : il est ensuite casté en un pointeur d´objet base,sans probleme puisque une derivee est une base.. (upcasting)

pb->f();

provoquera bien l appel de la fonction f() version derivée puisqu elle est virtuelle et que cet appel est don resolu a l execution . ( mechanisme vtable... late binding...)

bon le donw casting now

si tu fais
pb->g(); //a marche pas

le compilateur se plaint en effet de ce que g() ne soit pas une methode de la classe base !
Pour parvenir a cette conclusion il a considere qu il pouvait resoudre l´appel a la compilation (g() n est pas une methode virtuelle redefinie): et comme pb pointe en principe une base . ..

ici nous sommes cependant surs que l objet pointé est un objet de la callse dérivée si bien que nous allons forcer le destin par:
((derivee *)pb)->g();//voila le downcasting

on caste donc ici un pointeur de classe en un pointeur de classe derivée c est le doxn casting . le compilateur laissera faire.

grace a l operateur dynamic_cast<classe *>(pointeur) on peut tester la validiter d un downcasting
. ..

la vtable j ai pas le courage de te l epxliquer ce matin : )

LcData
www.ploksoftware.org

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