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

Bonnes pratiques de programmation C (++)

lag-it
lag-it
Niveau 10
16 juin 2003 à 19:41:24

On parle souvent de la syntaxe pour les langages de programmation, mais relativement peu des bonnes méthodes qui permettent de créer un code rapide ( et portable ) . Pourtant, dans la plupart des cas, c´est la formulation d´un algoritme simple et rapide qui fait la différence.
Pour en venir à mon problème, je voudrais savoir quelle est la meilleure méthode pour gérer des entités ( héros, ennemis, objets, . .. ) dans un jeu.
Est il préférable de créer un tableau dans lequel seront stockées les informations relatives à chaque item ( coordonnées, état ( marche, cour, saute, . .. ) , . ..), ou existe il d´autres méthodes plus simples et plus rapides ?

( C´est la cas d´un programme en C, donc pas de classes ) .

Altonfrere
Altonfrere
Niveau 10
16 juin 2003 à 19:50:44

Le plus simple c´est une structure, ca te permettra de nommer directement les attributs de tes persos ( perso.x, perso.y, perso.etat . ..), alors qu´un tableau ca risque d´être très vite illisible ( attribut[0], attribut[1]...??!) ! ! De plus un tableau t´obligera à avoir des valeurs de même type ( c´est pas très optimisé ca ! ).

GL_kpook
GL_kpook
Niveau 4
16 juin 2003 à 19:55:58

C une très bonne question. Perso j´utilise les classes du C++, mais si j´avais utilisé le C, j´aurais opté pour les structures :

typedef struct {
int state;
int target;
float X, Y;
( ...)
} PLAYER;

PLAYER P1; //Création perso 1

C le même principe pour les objets et les ennemis!

lag-it
lag-it
Niveau 10
16 juin 2003 à 20:00:38

Oui, une structure me parrait une bonne idée.
Il est vrai que c´eu été plus simple en C++, mais je peux pas.

lag-it
lag-it
Niveau 10
16 juin 2003 à 20:06:02

Mais comment tuer mon ennemi ?
Je pourrais mettre un bool dead, mais est il possible d´éliminer une structure ?
Sinon, je peux toujours réécrire par dessus un ennemi déja mort.

JeanYvesYves
JeanYvesYves
Niveau 10
16 juin 2003 à 20:08:45

moi je te conseille une variable dans ta structure que tu pourrais appeler " state"
et selon la valeur de " state" tu vois :
exemple :

state =0 --> ennemi n´existe pas
state =1 --> ennemi actif
state =2 --> ennemi en train d´etre frappé
etc etc...

Altonfrere
Altonfrere
Niveau 10
16 juin 2003 à 20:09:57

ah bin là par contre tu peux faire un tableau de pointeurs de structure : )

typedef struct
{
. ..; /* la liste des attributs d´un perso */
} tPersonnage;

tPersonnage *Personnages[MAX_PERSOS];
unsigned long PersonnagesCount;

et tu alloues une structure pour chaque nouveau personnage dans le jeu, quand il meurt tu la désalloues mais faut décaler les valeurs dans le tableau etc...

lag-it
lag-it
Niveau 10
16 juin 2003 à 20:10:16

Oui, mais à force de créer des structures, je vais en avoir 50000 ( a moins de réutiliser les structures des persos morts ) .

Altonfrere
Altonfrere
Niveau 10
16 juin 2003 à 20:11:52

nan quand un perso meurt tu la désalloues ( tu récupères l´espace mémoire utilisé), ou tu peux faire comme tu dis aussi . .. à toi de le gérer

lag-it
lag-it
Niveau 10
16 juin 2003 à 20:11:58

Je t´avais pas lu Altonfrere.

GL_kpook
GL_kpook
Niveau 4
16 juin 2003 à 20:16:33

Il me semble avoir entendu que le langage C avait été orienté objet recemment!

( Sinon je pense que c la meilleur façon en C d´utiliser les structures)

Altonfrere
Altonfrere
Niveau 10
16 juin 2003 à 20:17:09

euh récemment ? ca date d´il y a 20 ans quand même : ) lol

GL_kpook
GL_kpook
Niveau 4
16 juin 2003 à 20:22:43

non mais ça va je sais que le C ne date pas d´hier

Altonfrere
Altonfrere
Niveau 10
16 juin 2003 à 20:23:30

je voulais dire le C++ . .

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