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++

dynoplasmma
dynoplasmma
Niveau 9
01 avril 2006 à 22:07:20

Bonsoir :)
Je compte m´acheter un livre sur le C++.
J´ai remarque a la fnac 3-4 bouqins "Le langage C++" de beaucoup de pages (peu etre 600).
Apres, j´ai pas trop regardé l´editeur.

Ces gros livres sont - ils a premiere vue interressents ?

countag
countag
Niveau 5
01 avril 2006 à 23:51:17

eh bien ca depend, un bon bouquin doit etre pedagogique, c´est bien beau de faire un bouquin de 1000pages mais faut il que ca soit bien expliquer.

countag
countag
Niveau 5
03 avril 2006 à 20:53:02

Bonjour,

j´ai un petit problème de C++/SDL, j´essaie de me faire un snake mais je bloque sur les mouvements car en faites le corps n°3 doit avoir les anciennes coordonnées du corps n°2 mais je ne vois pas comment faire donc voici actuellement mais source :

Serpent.cpp :
http://rafb.net/paste/results/IH8H9U56.html

Main.h :
http://rafb.net/paste/results/ksg8nG53.html

Main.cpp :
http://rafb.net/paste/results/wS5zZz46.html

dnob700
dnob700
Niveau 10
03 avril 2006 à 21:07:35

il suffit de réécire proprement ta fonction Cserpent::Move en mettant à jour les données old_pos x et y avant de t´en servir :

void Cserpent::Move(int sens){
char buf[4];
SDL_Rect dest = Rect(0, 0, 5, 5);
SDL_Delay(100);
corps[0].old_pos_x=corps[0].pos_x;
corps[0].old_pos_y=corps[0].pos_y;

if(sens==0)
corps[0].pos_x+=5;
else if(sens==1)
corps[0].pos_x-=5;
else if(sens==2)
corps[0].pos_y+=5;
else if(sens==3)
corps[0].pos_y-=5;

for(int i=1; i<nb_corps; i++)
{
corps[i].old_pos_x=corps[i].pos_x;
corps[i].old_pos_y=corps[i].pos_y;

corps[i].pos_x = corps[i-1].old_pos_x;
corps[i].pos_y = corps[i-1].old_pos_y;
dest.x = corps[i].pos_x;
dest.y = corps[i].pos_y;
SDL_FillRect(SDL_GetVideoSurface(), &dest, 16777215);
}
}

countag
countag
Niveau 5
03 avril 2006 à 21:23:54

merci :) je vais reflechir à ma betise pour voir ou je bloque :)

dynoplasmma
dynoplasmma
Niveau 9
08 avril 2006 à 16:47:12

Bonjours :)
j´aurais besoin d´un petit renseignement.
Comment faire pour savoir si un fichier existe ou pas.

Si(save existe pas)creer save;

ca permettrais d´avoir un programme qui marche a tous les coups, meme si par impertinence, quelqu´un aurait supprimé la sauvegarde.
je veux que mon programme n´ai aucunes defaillences.

Merci a ceux qui sauront me repondre :)

dynoplasmma
dynoplasmma
Niveau 9
09 avril 2006 à 14:02:13

Je viens de trouver, je suis confus de vous avoir demander, j´ai pas le reflexe google automatique.
La prochaine fois, je demanderais ici seulement si je ne trouve pas du tout.

JeanYvesYves
JeanYvesYves
Niveau 10
10 avril 2006 à 00:14:56

je sais que tu as trouvé, mais pour répondre quand meme (pour ceux qui voudraient la réponse)

La méthode simple est de faire un fopen en "rb" sur le fichier voulu.
Si ça te retourne NULL, c´est que le fichier n´existe pas...

dark-kilian
dark-kilian
Niveau 5
15 avril 2006 à 20:21:24

juste une question en C plutot que d´enregistrer des ats d´image pour faire un sprite(sauvgarder 16 images c´ets assez long je trouve)il n´yaurai pas un moyen de n´utiliser qu´une partie de l´image?
(avec la librairie SDL)

JeanYvesYves
JeanYvesYves
Niveau 10
16 avril 2006 à 04:12:44

si, la fonction SDL_BlitSurface contient 4 parametres : le 2e (que tu dois surement mettre a NULL) te permet de choisir une partie de l´image source a blitter (et non pas l´image entiere) si tu le remplis et donc ne met pas NULL :)

dark-kilian
dark-kilian
Niveau 5
16 avril 2006 à 10:46:57

donc en deuxieme parametre je doit mettre par combien je divise l´image ou bien quelle sont les pixelles que je montres?

JeanYvesYves
JeanYvesYves
Niveau 10
16 avril 2006 à 15:02:55

Voici 3 petites fonctions que je t´offre pour faire ce que tu veux (sois tu les utilise comme ça, soit tu récuperes les code si tu veux en refaire d´autres)

Le premiere sert juste a créer un rectangle plus vite (plutot que de créer a chaque fois une structure SDL_Rect)

La deuxieme te permet de blitter une image entiere sur la destination (ce que tu faisais avant)

La troisieme te permet de blitter une partie de l´image source sur la destination. (du pixel x1,y1, au pixel x2,y2, et on colle cela sur l´image dest, au pixel x3,y3)

Je te laisse analyser cela :)

SDL_Rect Rect(int x,int y,int w,int h) // pour fa
ire un rectangle plus vite
{
SDL_Rect r;
r.x=(short)x;
r.y=(short)y;
r.w=(short)w;
r.h=(short)h;
return r;
}

void Blit(SDL_Surface* source,SDL_Surface* dest,int x3,int y3)
{
SDL_Rect D=Rect(x3,y3,0,0);
SDL_BlitSurface(source,NULL,dest,&D);
}

void Blit(SDL_Surface* source,int x1,int y1,int x2,int y2,SDL_Surface* dest,int x3,int y3)
{
SDL_Rect S=Rect(x1,y1,x2-x1+1,y2-y1+1);
SDL_Rect D=Rect(x3,y3,0,0);
SDL_Rect* pS=&S;
SDL_BlitSurface(source,pS,dest,&D);
}

dark-kilian
dark-kilian
Niveau 5
16 avril 2006 à 19:45:24

merci au moins sa va m´eviter de passez 5 minutes de plus sur photoshop pour sauvgarder les sprite

yojapan
yojapan
Niveau 7
27 avril 2006 à 18:40:06

Voila, j´ai télécharger la librairie SDL_ttf pour pouvoir écrire du texte et pouvoir intéragir avec dans mon code afin de faire des scores ect ...
Bon, si j´ai bien compris, il faut que je le mette juste le fichier .dll dans le dossier de mon projet et la p´tite notice :ok:
Mais ensuite, qu´est ce qu´il faut que je fasse ?
C´est comment le nom de l´include ?
Afin voila quoi tout ça tout ça.
Et, si vous aviez un site qui expliquerai comment utiliser la SDL_ttf, se serai génial les gars !!
Bon aller, ++
:merci: d´avance !!

nightlord666
nightlord666
Niveau 4
27 avril 2006 à 20:36:46

Normalement les headers et librairies sont fournies avec la dll (dans un dossier include, header ou inc pour les includes, et lib pour les librairies).

Sinon, tu n´a plus qu´a utiliser les fonctions de l´API Win32 pour récupérer les fonctions de ta DLL...

yojapan
yojapan
Niveau 7
28 avril 2006 à 08:28:04

Euh, :merci: de m´avoir répondu mais je crains de ne pas avoir compris la totalité de la réponse
:doute:
Est ce que tu pourrai m´expliquer ?

Fvirtman
Fvirtman
Niveau 10
28 avril 2006 à 12:21:31

Regarde ce topic ! On parle de SDL_ttf a un moment :-)

https://www.jeuxvideo.com/forums/1-31-8506390-1-0-26-0-0.htm

yojapan
yojapan
Niveau 7
29 avril 2006 à 14:39:31

Euh :lol: tu vas peut être me trouver un peu lourd mais est ce que ça te dérangerai de me faire un exemple ?
Merci

Qosimo
Qosimo
Niveau 37
02 mai 2006 à 17:59:34

hello !
Je suis entrain de créer un programme et j´ai un problème de pointeurs. Voilà un résumé de ce que je veux faire :

Après l´initialisation de SDL et de Fmod, mon programme appelle la fonction Jeu(). Ensuite, un tableau d´objets de type maClasse est créé sous le nom de monObjet[4] et contient 4 éléments. Ensuite, mon but est de passer l´intégralité du tableau à la fonction ´init´, qui joue un rôle d´initialisateur de l´objet. Mais je n´y arrive pas, car je ne sais pas comment expliqué à mon compilateur que c´est un tableau et qu´il faut qu´il passe tous les éléments. Voici un programme factice de ce que je viens de vous expliquer :

// main.h

void init(struct maClasse*);

// main.c

jeu()
{
struct maClasse monObjet[4];
fonction(&monObjet[]);
}

init(struct maClasse* monObjet[])
{
monObjet[0].donnée1=0;
monObjet[1].donnée1=4;
monObjet[2].donnée1=524;
monObjet[3].donnée1=126;
monObjet[0].donnée2=63;
etc...
}

Voilà, j´espère que vous avez compris mon charabia
.

godrik
godrik
Niveau 30
02 mai 2006 à 18:09:54

c´est presque ca.
fonction(monObjet), mais tu as interet a lui donner la taille
fonction (monObjet, 4);
et a recuperer la taille de l´autre coté.

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