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

J´aide les personne en C/C++

sonic66
sonic66
Niveau 10
18 février 2005 à 20:38:57

:up:

jejej
jejej
Niveau 9
18 février 2005 à 20:42:44

Bon , cette fois je voudrais parler d´organisation du code :)

en effet , pour un simple jeu comme le pong que je viens de faire ( j´estime qu´il est fini , merci pour ton lien cobradu94 ) , j´ai 540 lignes de code . ..
Et , je me rends compte que , ajouter quelque chose serait plutot difficile , rien que pour cette petite IA , j´ai du rajouter deux if et un goto dans ma boucle . ..
pour un simple pong , j´ai une boucle de jeu qui contient une 20aine de if , 10 goto , et 2 switch . ..

alors , je n´ose meme pas imaginer ce que ca rendrait dans un jeu un poil plus complique , comme un snake ou un casse brique peut etre , et c´est impossible pour un rpg ou un shoot . ..

Alors , j´aurais voulu savoir comment vous , quand vous faites des gros projets , vous " gerez" votre code pour reussir a continuer d´avancer , et pouvoir facilement ajouter des nouveaux trucs etc . .. ?

bon , ma question est peut etre pas super claire , mais . .. ca serait sympa d´essayer d´y répondre :)

sonic66
sonic66
Niveau 10
18 février 2005 à 20:42:59

c a dir?
g pas tt compris ^^
en fait je fais les cours de Jyy et ce que g pas compris c que ds les 2 et 3 dimmension aux foncion , on met une valeur :
"
void fonc3(int t[][3][2]) < = le [3] et le [2]
{
t[2][1][1]=30;
}
"
ils servent a koi?
peut on changer de chiffre ex: [6] et [4]
sans que la fonction change?

JeanYvesYves
JeanYvesYves
Niveau 10
18 février 2005 à 20:43:05

sonic66 > LGV a raison : ce tuto, je l´ai fait pour dire de montrer ce que c´est, mais a la longue, on n´utilise pas des masses des tableaux a plusieurs dimentions :)

sonic66
sonic66
Niveau 10
18 février 2005 à 20:46:21

ui mais g q1 question :snif2:
vous pouvez pas dir si qd on fait une fonction avec par ex un tablo a 3 dimention on doit mettre des valeur aux 2 dernieres dimmenssion?
Si on change les valeurs des 2 derniere dimmenssions ( ex [3] a la place de [4]), cela va til changer la fonction?

Nub37
Nub37
Niveau 3
18 février 2005 à 20:46:55

:salut:
je suis nouveau et j´aimerai bien créer juste un tout petit jeu sympa :-)
j´ai :rechercher: mais j´ai prétiquement rien trouvé au réponse donné sur les autres sujets

:merci:

JeanYvesYves
JeanYvesYves
Niveau 10
18 février 2005 à 20:47:30

si tu changes, ça va tout décaler, et tu ne trouveras pas les bonnes valeurs : il faut mettre les bons nombres.
( ou alors ne pas utiliser de tableaux en plusieurs dimentions :) )

sonic66
sonic66
Niveau 10
18 février 2005 à 20:48:32

Nub37=>
pour faire un pong , jejej a mis 540 ligne de codes alors........

LGV
LGV
Niveau 28
18 février 2005 à 20:49:31

jejej : découplage ! faut travailler sur des parties de code aussi indépendantes que possible, avec du couplage faible pour les faire marcher ensemble.

Tu pourrais essayer de garder ton code actuel, sans rien rajouter comme fonctionnalité, mais revoir le class design pour faire la meme chose plus proprement. Environ 500 lignes, c´est suffisement peu pour te permettre d´avoir une vision globale normalement ; c´est un bon entrainement que de faire du refactoring.
Au début pour qu´un programme soit pas trop mauvais, il faut le faire 3 fois selon moi : 1 fois pour appréhender les problemes ; au final ça marche mais c´est bancal et on peut rien en faire d´autre. Une fois pour faire qqch de plus propre, connaissant déjà la solution aux problemes qui seront rencontrés. Une dernière fois pour proposer une version conceptuellement irréprochable.

sonic66
sonic66
Niveau 10
18 février 2005 à 20:51:13

ui mais g q1 question
vous pouvez pas dir si qd on fait une fonction avec par ex un tablo a 3 dimention on doit mettre des valeur aux 2 dernieres dimmenssion?
Si on change les valeurs des 2 derniere dimmenssions ( ex [3] a la place de [4]), cela va til changer la fonction?

sonic66
sonic66
Niveau 10
18 février 2005 à 20:53:15

ui mais g q1 question
vous pouvez pas dir si qd on fait une fonction avec par ex un tablo a 3 dimention on doit mettre des valeur aux 2 dernieres dimmenssion?
Si on change les valeurs des 2 derniere dimmenssions ( ex [3] a la place de [4]), cela va til changer la fonction?

sonic66
sonic66
Niveau 10
18 février 2005 à 20:57:00

dsl de lavoir ecris 2 fois :snif:

dnob700
dnob700
Niveau 10
18 février 2005 à 21:03:03

j´ai un problème de compilation.

je porte de VC++ à DevC++ ma bibliothèque, mais j´ai une fonction que je n´arrive pas à compiler :

LPSUITE CreateSuite(double(&)(double,int),double X0,int n0)
{
IterSuite *Suite=new IterSuite;
Suite->IterFonc=(Fonc);
. ..
Suite->IterFonc(X0,n0);
return ( LPSUITE)Suite;
}

assignment of read-only location
cannot convert `double ( )(double, int)´ to `double ( )(double, int)´ in assignment

c´est sur la ligne juste avant les les 3 petits points.
Ca passe très bien avec VC++, et je ne comprend même pas pourquoi il ne veut pas le faire sous dev C++ puice qu´l ne veut pas convertir d´un truc en lui même. c´est bizarre.

Il doit probablement y avoir une différence d´applicatino de la norme la derrière, donc si qqn sait, ça me serait utile.

merci d´avance.

dnob700
dnob700
Niveau 10
18 février 2005 à 21:03:46

jejej : merci c´est bien les long long que je cherchait.

sonic66
sonic66
Niveau 10
18 février 2005 à 21:07:58

ui mais g q1 question
vous pouvez pas dir si qd on fait une fonction avec par ex un tablo a 3 dimention on doit mettre des valeur aux 2 dernieres dimmenssion?
Si on change les valeurs des 2 derniere dimmenssions ( ex [3] a la place de [4]), cela va til changer la fonction?

LGV
LGV
Niveau 28
18 février 2005 à 21:09:22

jejej : non, faut faire un tableau dynamique à coup de pointeur que tu realloues avec des malloc ( berk), ou des ::operator new

dnob700 : essaye en version " full name qualifier", style &::maFonction , certains compilos ralent sinon. Si ça passe pas, paste plus de code sur un wall

dnob700
dnob700
Niveau 10
18 février 2005 à 21:19:00

http://wall.cours-info.net/?id=367&numero=non

j´ai mis plus de code mais le problème vient de la manière dont Dev C++ comprend mon assignation.

en fait, je ne comprend pas exactement ( pas du tout, soyons clair) ce que tu veux dire par un full name qualifier. tu parle du nom de ma fonction ?

JeanYvesYves
JeanYvesYves
Niveau 10
18 février 2005 à 21:25:45

sonic66 > m´enfin, je te l´ai dit plus haut : si tu ne mets pas la bonne valeur, ça fausse tout !
il est important de mettre la bonne !

sonic66
sonic66
Niveau 10
18 février 2005 à 23:13:41

void fonc2(int t[][6])
{
t[2][1]=20;
}
alors pk on met ( int t[][6]) si on met apres
t[2][1]=20;?
car
( int t[][6]) na pas de rapport avec t[2][1]
et tu dis: si tu ne mets pas la bonne valeur, ça fausse tout !
il est important de mettre la bonne !
or la bonne valeur ici aurait donc dut etre
void fonc2(t[2][1]=20)
{
t[2][1]=20;
}
dapres toi c ca!

LGV
LGV
Niveau 28
18 février 2005 à 23:16:19

dnob : essaye des * à la place des &, je suis tenté de pesner que devcpp ou autre gcc voient ça comme une l-value, et que la syntaxe & est une extension VC
sinon, pour l´info, quand tu feras des pointeurs sur methodes, là tu auras besoin de qualifier tes pointeurs avec le nom de la classe sur laquelle la méthode s´applique ( style : type ( ClassName::*ptr)(params) )

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