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

pouky10
pouky10
Niveau 6
08 février 2005 à 18:26:03

Salut, moi j´aimerais savoir sur quel site je pourrais trouver une table ASCII, je voudrais aussi savoir à quoi ça sert d´écrire un nombre en octal ou héxadécimal, comment peux-t-on savoir à quoi équivaut ces nombre et es-ce important ou utile dans la programmation d´un jeux

JeanYvesYves
JeanYvesYves
Niveau 10
08 février 2005 à 18:29:36

http://www.asciitable.com

en octal, ça sert a rien je pense...
en hexa, ça permet de code un octet sous 2 digits. c´est plus propre. Les éditeurs de secteurs utilisent l´hexa pour etre propre d´ailleurs.

dans la pratique, si tu ne veut pas faire de reverse-engeneering, de lecture binaire ( et encore) ou autres, tu n´as pas spécialement besoin de savoir te servir de l´hexa...

L´hexa est une base 16. Dans la vie, on compte en base 10. La calculatrice intégrée de Windows sait convertir les nombres en binaire, octal, ou hexa.

pouky10
pouky10
Niveau 6
08 février 2005 à 18:35:50

merci

dnob700
dnob700
Niveau 10
08 février 2005 à 18:38:09

en octal ça sers qu´en C qui " par défaut" attend que tu lui donne les caractère en octal plutot qu´en héxa si tu ne les lui donne pas en décimal.

JeanYvesYves
JeanYvesYves
Niveau 10
08 février 2005 à 18:44:48

dnob700 > ? je ne comprends pas bien ce que tu veux dire ?
En ce qui concerne le C, c´est le compilateur qui te compile de toute façon toutes les constates en format binaire, que tu lui donnes en hexa ( hard), octal, ou décimal, ça ne change que le passage d´un switch dans le compilo...
Je ne vois pas bien ce que tu as voulu dire par la ?
L´octal est un assemblage de 3 bits, ce qui est bcp moins pratique que l´hexa, je ne connais pas bcp d´applications a l´octal...

Koyo-K
Koyo-K
Niveau 9
08 février 2005 à 20:16:31

:ouch: à 12 ans tu sors déjà des progs comme ça ? !

jul38
jul38
Niveau 6
08 février 2005 à 22:53:55

Lol ya pas que l´age qui compte,la volonté fait toute la différence.

Koyo-K
Koyo-K
Niveau 9
09 février 2005 à 02:18:53

Allez, j´en profite pour examiner ton code, et j´ai trouvé un point qui m´intéresse.
Ca concerne bien évidemment les pointeurs, bah oui !
Donc, quand on déclare un pointeur, on le fait en précisant son type, à savoir
int* mon_pointeur_cheri;

Mais dans son code ( et je sais que c´est juste, j´ai déjà utilisé un peut FMOD mais sans avoir eu appris les pointeurs), il fait
FSOUND_SAMPLE *sound1;
C´est pas un type ça, FSOUND_SAMPLE ? Mais alors pourquoi on le met ? C´est-y pourtant qu´on dirait bien que s´en est un vu qu´on initialise sa variable plus bas :
sound1=FSOUND_Sample_Load(FSOUND_FREE, " sons/bounce1.midi", 1, 0, 1);

inconnu[pure]
inconnu[pure]
Niveau 6
09 février 2005 à 08:06:11

J´en suis pas sûr mais je crois que s´est une structure.

JeanYvesYves
JeanYvesYves
Niveau 10
09 février 2005 à 09:04:12

Alors, prenons : pour FMOD, je suis en train de l´étudier aussi, et j´ajoute que j´ai commencé un tuto ( tres simple pour le moment) dessus, dans le tuto de mon site.

l´objet FSOUND_SAMPLE, sans *, est, en effet, une structure. Mais ça pourrait etre une classe, ou meme un int, la n´est pas la question en fait :)
Tout ce qu´on doit retenir, c´est que " ça" contient des données pour la musique, et je dirais meme que " ça" peut etre gros, si vous chargez dedans un gros fichier son...
Alors pourquoi un pointeur, pourquoi FSOUD_Sample_Load renvoie un pointeur ?

je compare cela a un site internet :
Imaginez une fonction, dans un langage bizarre :

Site = GetSite("http://www.unsite.com" );

Vous avez 2 façons de récupérer le site :
- soit vous récupérez toutes les données du site : disons 300 Mo
- soit vous récupérez juste le lien vers le site : disons 10 octets...

C´est la meme chose pour Sample_Load :
au lieu de vous renvoyez un paquet de données collossale dans FSOUND_STREAM, il cree une structure en mémoire, quelque part, on s´en fout ou, la ou il y a de la place, il la remplit, en chargeant le fichier, puis il vous donne un pointeur, c´est a dire l´adresse de cette structure créee :
en gros, il vous dit " je l´ai mise a cet endroit." au lieu de vous dire " Tiens, voila les 50 Mo de cette structure"

fuzzy_eyebrow
fuzzy_eyebrow
Niveau 9
09 février 2005 à 09:16:39

woah tu commences tot dis donc! :lol:

inconnu[pure]
inconnu[pure]
Niveau 6
09 février 2005 à 09:21:24
  1. include < SDL/SDL.h>
  2. include < fmod.h>
  3. include < stdlib.h>
  4. include < time.h>
  1. pragma comment(lib, " libfmod.a")

/ *

    • Les images
  • /

SDL_Surface *screen, *intro, *fin, *backround, *raquette, *briqueR[10], *briqueG[10], *briqueB[10], *briqueS[10], *balle;

/ *

    • Structure rectangulaire
  • /

SDL_Rect Backround={0, 0, 480, 360};
SDL_Rect BalleR;
SDL_Rect Raquette;
SDL_Rect BriqueR[10], BriqueG[10], BriqueB[10], BriqueS[10];

/ *

    • Les sons
  • /

FSOUND_SAMPLE *sound1;//Son pour collisions balle/raquette
FSOUND_SAMPLE *sound2;//Son pour collisions balle/brique

/ *

    • La musique
  • /

/ /FSOUND_STREAM *Backround_Music;//Musique de fonds

/ *

    • Les events
  • /

SDL_Event event, Debut;

/ *

    • Les touches
  • /

Uint8 *keys, *debut;

/ *

    • Variables globales
  • /

short score=0;//Le score est à 0;
short vie=3;//On commence avec trois vies(balles).
short BalleX, BalleY;//Position de la balle.
short RaquetteX, RaquetteY;//Position de la raquette.
short BriqueRX[10], BriqueRY[10];//Position
short BriqueGX[10], BriqueGY[10];//des
short BriqueBX[10], BrqiueBY[10];//briques
short BriqueSX[10], BrqiueSY[10];//
short Balle_Vitesse=1;//La vitesse de la balle en pixel.
short Vitesse=1;//La vitesse du jeu.
short BriqueR_Vie[10];//La
short BriqueG_Vie[10];//vie
short BriqueB_Vie[10];//des
short BriqueS_Vie[10];//briques
short Niveau;//Numero du niveau.5 prévus :-)
bool Continue_Game;
bool Playing_Game;

/ *

    • Les fonctions
  • /

void Initialisation();
void Introduction();
void Chargement();
void Chargement_Niveau();//Fontions pour initialiser le niveau et pour continuer le jeu.
void Balle();
void Joueur();
void Affiche();
void Victoire();

SDL_Surface *LoadBMP(const char *filename)//Du tutorial de [DmX]
{
SDL_Surface *temp, *image;
temp=SDL_LoadBMP(filename);
image=SDL_DisplayFormat(temp);
SDL_FreeSurface(temp);
return image;
}

int main(int argc,char** argv)
{
short i;//Pour la vitesse de la balle.
short j;//Pour la vitesse du jeu.

Initialisation();
Chargement();
Introduction();
/ /while(Continue_Game)
/ /{
/ /Chargement_Niveau();

/ /Boucle principale
/ /while(Playing_Game)
/ /{
/ /while(j<=Vitesse)
/ /{
/ /void Balle();
/ /void Joueur();
/ /j++;
/ /}
/ /void Affiche();
/ /void Victoire();
/ /}
/ /}
return 0;
}

void Initialisation()
{
/ /Pour SDL
atexit(SDL_Quit);
screen=SDL_SetVideoMode(480, 360, 24, SDL_DOUBLEBUF|SDL_HWSURFACE);

SDL_WM_SetCaption("Casse brique par pandamark ou inconnu[pure]", NULL);
SDL_ShowCursor(0);

/ /Pour fmod
FSOUND_Init(44100, 4, 0);
}

void Chargement()
{
int g;
/ /Des images
intro=LoadBMP("images/intro.bmp");
raquette=LoadBMP("images/raquette.bmp");
balle=LoadBMP("images/balle.bmp");

for(g=0;g<10;g++)
{
briqueR[g]=LoadBMP("images/briqueR.bmp");
briqueG[g]=LoadBMP("images/briqueR.bmp");
briqueB[g]=LoadBMP("images/briqueR.bmp");
briqueS[g]=LoadBMP("images/briqueR.bmp");
}

/ /De la musique et des sons
sound1=FSOUND_Sample_Load(FSOUND_FREE, " sons/bounce1.midi", 1, 0, 1);
sound2=FSOUND_Sample_Load(FSOUND_FREE, " sons/bounce2.midi", 0, 0, 1);

//Backround_Music=FSOUND_Stream_OpenFile("sons/mu
sic.midi", FSOUND_LOOP_NORMAL, 0);
}

void Introduction()
{
bool done;

SDL_BlitSurface(intro, NULL, screen, &);
SDL_Flip(screen);

debut=SDL_GetKeyState(NULL);

while(!done)
{
while(SDL_PollEvent(&))
{
switch(Debut.type)
{
case SDL_KEYDOWN:
if(debut[SDLK_ESCAPE])done=true;
break;
}
}
}
SDL_FreeSurface(intro);
SDL_Delay(500);
}

Bon voila je viens de corriger un bon nombre d´erreur et puis tout contant je lance l´exe puis mechament windows renvoie une erreur.L´erreur m´a l´air differente de mon erreur du int main(int argc, char** argv) et merci d´avance.

P.S:Si vous comprenais mal c´est normal j´explique mal.

rajuto
rajuto
Niveau 10
09 février 2005 à 10:02:39

ca a rien a voir avec le c ou le c++, juste une question je connais un peu le C et je veut apprendre le visual basic il me faut kel logiciels????

fuzzy_eyebrow
fuzzy_eyebrow
Niveau 9
09 février 2005 à 13:06:10

visual studio fera l´affaire, VB est inclut dedans.

[]king[]
[]king[]
Niveau 3
09 février 2005 à 13:21:19

C´est quoi une recherche dichotomique ? ?

JeanYvesYves
JeanYvesYves
Niveau 10
09 février 2005 à 13:26:55

inconnu[pure] > désolé, pas le temps de tout analyser, faut que tu cibles l´erreur :) et je t´aiderai !

[]king[] > une recherche dichotomique, c´est une recherche méthodique qui consiste a diviser par 2 resursivement quand tu sais que ta liste est dans l´ordre :

un exemple :
tu as une liste triée de 8 nombres:
1 6 9 10 15 18 22 27

tu recherches si y´a le nombre 22.
recherche lineaire, tu regardes les nombres 1 par 1 :

1 . .. non
6 . .. non
9 . .. non
10 . .. non
15 . .. non
18 . .. non
22 . .. oui ! !

Hop : tu as trouvé en 7 coups

maintenant, recherche dichotomique, tu cherches le centre ( tu divises par 2)

1 6 9 10 15 18 22 27

le centre est 15 ( nombre du milieu)
22 > 15 --> tu regardes que a droite :

18 22 27
centre : 22

22 = 22
trouvé ! !

2 coups...

[]king[]
[]king[]
Niveau 3
09 février 2005 à 13:34:21

Alors on ne peut utiliser cette methode que si nos elements sont en ordre coroissant ou bien decroissant ?
Et si on veut trouver un element dans un tableau en desordre ? Apart comparer un par un .
Merci :)

inconnu[pure]
inconnu[pure]
Niveau 6
09 février 2005 à 13:35:09

Il n´y a pas vraiment d´erreur dans le compilateur mais au lancement de l´application il affiche une fenetre noir 480x360 et bloc avant d´afficher l´image donc j´en conclue que l´erreur est entre la ligne:

-screen=SDL_SetVideoMode(480, 360, 24, SDL_DOUBLEBUF|SDL_HWSURFACE);

et cette ligne:

-SDL_BlitSurface(intro, NULL, screen, &);

Voila merci d´avance.

jejej
jejej
Niveau 9
09 février 2005 à 13:48:45

Ouais , c´est lourd les ecrans noirs , plus encore que la compilation parceque on voit pas d´où viennent les erreurs . ..

la , c´est peut etre qu´il faut faire un lockscreen avant d´afficher l´image ( non c´es pour les pixels ca . . mouais ) ou peut etre que le mode 24 bbp n´est pas supporte .
essaye de mettre 16 ou 0 pour voir ?

inconnu[pure]
inconnu[pure]
Niveau 6
09 février 2005 à 13:50:23

Ok,merci j´essaierais quand je serais a ma maison

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