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
17 juin 2005 à 22:48:15

Il fait 237 lignes ma page, je susi rendu a 3 valeurs de c ( qui correspondent aux pages du jeu : menu principale, sommaire, modes de jeux . ..)

Il y en a 16.

dynoplasmma
dynoplasmma
Niveau 9
18 juin 2005 à 09:12:28

En attendent j´ai une autre question, a quoi signifie ces mots q´on inclue dans parametre dev c++:

lmingw32
lSDLmain
lSDL
lSDL
Image
lSDL

Et ourquoi il y a 3 ISDL ?
Je voudrais surtout savoir laquelle permet d´utiliser des png, sinon, j´ai copié les bon trucs pour que ca marche ds les dossiers dev.
J´espere aussi que qu´elquun pourra m´eclairé sur plus haut.

dynoplasmma
dynoplasmma
Niveau 9
18 juin 2005 à 13:53:34

Toujours persone ne peut m´aider ? :snif2:

Rikkuman4
Rikkuman4
Niveau 10
18 juin 2005 à 14:54:19

Dans ce code :

int main()
{
int n;
cout < < " choisissez un nombre entre 1 et 3" < < endl;
cin > > n;
switch ( n)
{
case 1 :
cout < < " tu as choisi 1" < < endl;
break;
case 2 :
cout < < " tu as choisi 2" < < endl;
break;
case 3 :
cout < < " tu as choisi 3" < < endl;
break;
default:
cout < < " on t´avait dit entre 1 et 3 . .." < < endl;
}
system("PAUSE");
return 0;
}

cout < < " on t´avait dit entre 1 et 3 . .." < < endl;

N´a pas l´air de fonctionné quand je choisi sois 1 sois 3 je ne comprend pas, c´est normale ?

dnob700
dnob700
Niveau 10
18 juin 2005 à 14:55:07

il y a 3 ISDL car il y en a deux de trop ( tu peut les enlever.

Ce sont des bibliothèque, c´est à dire des morceau de programme déjà écrit par quelqu´un d´autre ( donc le SDL) et à cette endroit tu dit à Dev C++ qu´il doit utiliser ces morceaux de codes.

dynoplasmma
dynoplasmma
Niveau 9
18 juin 2005 à 14:58:12

ok :) :merci:
dnob700
Tu a aucunes idees de mon probleme ?
J´ai peu etre trouve une autre idee, mais je vais voir, la j´avance bien dans mon jeu, les menus sont presques finit, reste plus que les modes de jeux, pas dure, mais ca prend un peu de tmps, j´espere le jeu finit avant lundi, mais les musiques ne seront paspresentes.
J´ai telechargé GP4, il faudrais que je chansonne apres.

dynoplasmma
dynoplasmma
Niveau 9
18 juin 2005 à 15:01:00

Rikkuman, je penserais plutot a :

if(n==1)
{
cout < < " tu as choisi 1" < < endl;
}
if(n==2)

. ..

Il faut dire que je ne connais pas les interrupteurs.
Mais 3 if et un else devrait marcher.

Rikkuman4
Rikkuman4
Niveau 10
18 juin 2005 à 15:05:54

merci Je sais que je peut faire sa de cet manier mais j´aurais besoin de savoir pour le code, c´est dans un des tuto de JeanYvesYves, dans l´annexe G ^^

:d) la parti switch :g)

dynoplasmma
dynoplasmma
Niveau 9
18 juin 2005 à 15:15:32

Je suis pas allé jusque la, je me suis arreté a la sdl, je ne peux pas t´aider.

dnob700
dnob700
Niveau 10
18 juin 2005 à 16:16:01

Rikuman, quel est ton problème ? qu´est ce qui s´affiche quand tu entre quoi et qu´est ce que tu voudrai qui s´affiche ? ta phrase n´est pas très clair.

Sinon j´ai un autre petit problème de POO : si j´ai une classe A avec une fonction a. Et j´ai une classe B qui hérite de A et qui redéfinit a.

Dans le constructeur de A j´appelle une fonction b déclaré friend par les deux classes qui recoit en paramètre un pointeur sur le this de la classe A en question. et la fonction appelle ensuite la fonction a de la classe A. Dans le cadre de l´héritage, est ce que la fonction qui sera appelé par b sera celle de A ou celle de B ?

Happyman
Happyman
Niveau 6
18 juin 2005 à 16:16:33

Quelqu´un peut m´aider à résoudre mon problème de la page 273, plize ? :merci:

dynoplasmma
dynoplasmma
Niveau 9
18 juin 2005 à 16:20:35

Happyman, tu as ecrit 2 fois rect1.x, une fois il est egal a 50, et l´autre a 0.
Efface moi ce rect1.x=50, qui est dans la fonction waitkey.
Pour changer sa position, tu change le chiffre de l´autre rect1.x.

Les positions rect n´ont rien a faire dans une fonction pour quitter.

Happyman
Happyman
Niveau 6
18 juin 2005 à 16:30:53

Désolé, mais :

  • La deuxieme fois, mon rect1.x = -50, pas à zero ( enfin, normalement...)
  • Il n´y a pas de rect1.x dans la fonction waitkey ( tu dois confondre avec gauche() ou droite() )
  • Quel autre rect1.x ?
  • gauche() et droite() ne sont pas sensées quitter, mais décaler l´image de 50 px vers la droite si on appuie sur droite, et de 50 px vers la gauche si on appuie sur gauche.
dynoplasmma
dynoplasmma
Niveau 9
18 juin 2005 à 16:33:36

Es ce que tu peux dire tout ce que tu veux clairement, et je te ferais un code claire ou tous est separé correctement, donc met tout ce que tu veux qu´il y ai, ok :)

Happyman
Happyman
Niveau 6
18 juin 2005 à 16:46:18

Soit :)
Le code actuel :

  1. include < SDL/SDL.h>

SDL_Surface* screen; // l´ecran principale
SDL_Surface* firstscreen; / / tampon temporaire
SDL_Event event; // gestion d´evenement

void prepare_SDL() // initialise SDL
{
SDL_Init(SDL_INIT_VIDEO); // prepare SDL
screen = SDL_SetVideoMode(1024, 768, 32,SDL_HWSURFACE|SDL_DOUBLEBUF|SDL_FULLSCREEN); / / mode graphique
SDL_ShowCursor(0); / / enleve la souris
}

void waitkey() // attend qu´on appuie sur RETURN
{
while(1) // boucle
{
while(SDL_PollEvent(&)) // aquisition d´evenement
{
if ( event.type == SDL_KEYDOWN) / / on appuie sur une touche ?
{
if ( event.key.keysym.sym == SDLK_SPACE) return; / / c´est " RETURN" ?
}
}
}
}

void droite() // attend qu´on appuie sur RETURN
{
while(1) // boucle
{
while(SDL_PollEvent(&)) // aquisition d´evenement
{
if ( event.type == SDL_KEYDOWN) / / on appuie sur une touche ?
{
if ( event.key.keysym.sym == SDLK_RIGHT) / / c´est " RETURN" ?
{
rect1.x = 50;
return;
}
}
}
}
}

void gauche() // attend qu´on appuie sur RETURN
{
while(1) // boucle
{
while(SDL_PollEvent(&)) // aquisition d´evenement
{
if ( event.type == SDL_KEYDOWN) / / on appuie sur une touche ?
{
if ( event.key.keysym.sym == SDLK_LEFT) / / c´est " RETURN" ?
{
rect1.x = -50;
return;
}
}
}
}
}

int main(int argc , char **argv)
{
SDL_Rect rect1; // structure rectangle
prepare_SDL(); // initialise ( plus haut)
firstscreen = SDL_LoadBMP("image.bmp"); // charge l´image
/ / on dessine
rect1.x = 0;
rect1.y = 0;
rect1.w = 1024; // défini le rectangle
rect1.h = 768;

while ( 1)
{
gauche();

SDL_BlitSurface(firstscreen,NULL,screen,&1); /
/ colle l´image sur l´écran, NULL car on affiche TOUTE l´image
}

while ( 1)
{
droite();
SDL_BlitSurface(firstscreen,NULL,screen,&1);
}

SDL_BlitSurface(firstscreen,NULL,screen,&1);
SDL_Flip(screen); // affiche la prochaine frame
waitkey(); // attends qu´on appuie sur Return ( plus haut)
SDL_ShowCursor(1); // reactive la souris
SDL_Quit(); // quitte SDL
return 0; // quitte le programme
}

Ce programme est sensé afficher une image, se quitter si on appuie sur espace, ou bien décaler l´image en question de 50 px vers la droite si...(bon, je passe, je l´ai déjà dit il y a 2 posts :-) ) bref, toujours est-il que ça marche pas ! Dev-C++ me dit que la ligne " rect1.x = 50;" ( dans droite() ) bloque ! (Parions que si je l´enlevais, ça me dirait que " rect1.x = -50;" bloque :sarcastic: ) Et je comprends pas pourquoi.

dnob700
dnob700
Niveau 10
18 juin 2005 à 16:52:04

évidemment que ça bloqque, il ne conait pas rect1 que tu n´a pas déclarer dans cette fonction mais dans la fonction main.

Pour t´en sortir, mets la ligne SDL_Rect rect1; tout en haut de ton programme pour rendre al variable globale, ce n´est pas beau mais c´est déjà une solution ( comme dirait l´autre).

Par contre conceptuellement ton programme ne marchera pas. Tout simplement à cause de tes boucle while(1) dans main() qui ne se fermeront jamais donc quand tu appuiera sur la touche gauche tu va bouger vers la gauche et c´est tout, rien d´autre en se fera.

Happyman
Happyman
Niveau 6
18 juin 2005 à 16:57:45

J´ai mis SDL_Rect rect1 dans init_SDL, ça coince toujours ( et encore) sur la même ligne

Rikkuman4
Rikkuman4
Niveau 10
18 juin 2005 à 16:57:53

Dans ce code :

cout < < " on t´avait dit entre 1 et 3 . . ." < < endl;

N´a pas l´air de fonctionné quand je choisi sois 1 sois 3 je ne comprend pas, c´est normale ?

en fait sa ne marque pas " on t´avait dit entre 1 et 3 . . ." quand je fait 1 ou 3

int main()
{
int n;
cout < < " choisissez un nombre entre 1 et 3" < < endl;
cin > > n;
switch ( n)
{
case 1 :
cout < < " tu as choisi 1" < < endl;
break;
case 2 :
cout < < " tu as choisi 2" < < endl;
break;
case 3 :
cout < < " tu as choisi 3" < < endl;
break;
default:
cout < < " on t´avait dit entre 1 et 3 . . ." < < endl;
}
system("PAUSE");
return 0;

dynoplasmma
dynoplasmma
Niveau 9
18 juin 2005 à 17:05:57

Voila pour faire bouger l´image :
http://rafb.net/paste/results/E8vfQR39.html

Mais si tu veux que il n´y a pas de tainé derriere, il te faut rajouuter une image de fond.

dnob700
dnob700
Niveau 10
18 juin 2005 à 17:33:09

happyman, mets SDL_rect rect1; TOUT en haut de ton programme, pas dans sdl_init(), mais au tout début de ta page.

rikkuman, oui c´est vrai mais ça ne l´affiche pas non plus quand tu entre 2. Enfin c´est normal, il ne fait ce qu´il y a dans default qui si rien du reste n´a fonctionner ( aucun case n´était vrai).

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