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

JeanYvesYves
JeanYvesYves
Niveau 10
02 février 2006 à 10:05:09

vi mais bon :-) c´était pour simplifier.
Sinon, comme je lance toujours la compile en C++, je n´utilise pas trop les focntionnalités qui ne marchent plus en C++, lol !
ça ne m´empeche pas de compiler des malloc a grand coup de C++, et wé ! j´suis comme ça moi, lol !

dynoplasmma
dynoplasmma
Niveau 9
02 février 2006 à 11:48:14

merci JYY :)

LGV
LGV
Niveau 28
02 février 2006 à 14:59:18

"ça ne m´empeche pas de compiler des malloc a grand coup de C++, et wé !"

RRaaaa ! faut pas dire ca, il y a des cardiaques ici ;)

guyver2
guyver2
Niveau 10
02 février 2006 à 15:10:24

"ça ne m´empeche pas de compiler des malloc a grand coup de C++, et wé !"

RRaaaa ! faut pas dire ca, il y a des cardiaques ici ;)

je confirme, tu ferait mourir plus d´un de mes profs qui, des le début du cours de c++, nous ont bassiné avec le fait qu´il falait oublier les malloc/calloc/free au profit (non négligeable) de new/delete

dnob700
dnob700
Niveau 10
02 février 2006 à 17:38:35

[cardiaque, s´abstenir]

C´est marrant, j´ai tendance à faire plutot le contraire : écrire un code en C dans son idée (sans POO par exemple), mais utiliser new/delete ou des références lorsque ça m´arrange.
En gros, je recherche toujours ce qui est le plus simple.

dynoplasmma
dynoplasmma
Niveau 9
03 février 2006 à 00:03:42

je viens de me rendre compte que j´ai bloqué sur quelque chose de tres bete ...

Gerer deux boutons simultanament pour avoir un deplacement d´image.
Je fait avec Q et S, ca ne marche pas, rien a faire.

Je vais voir le code LeZarWare de Vengeur41 pour voir un de ses jeux qui exploite ce que je veux, et la je tombe sur un commentaire :

/* Attention au clavier
SDL etant une librairie américaine, le clavier est un qwerty.
Donc a et z = q et w
*/

Voila pourquoi ca marchait pas !
je teste avec les fleche gauche et droite mon prog et ... CA MARCHE !

Vous auriez pas une photo d´un clavier qwerty pour que je puisse gerer en fonction ?
Ou alors quelquun aurais - t - il deja modifié un dossier .h de la SDL pour que ca marche bien avec les claviers azerty ?

JeanYvesYves
JeanYvesYves
Niveau 10
03 février 2006 à 00:33:18

J´ai retrouvé un vieux truc que j´avais fait pour le clavier AZERTY. A la base, cependant, il n´est pas terminé, mais tu peux te servir des fonctions déja.
Comme tu vois, les fonctions SDL ne sont pas branchées, mais ça peut te donner une idée.

http://www.rafb.net/paste/results/B02FXo79.html

Pour une photo de clavier QWERTY, tape simplement QWERTY sous google image.

Sinon, en ce qui concerne les malloc, on m´a souvent obligé d´utiliser les malloc. Et au boulot souvent, je dois utiliser du code fait il y a fort longtemps en C... Donc dans certains cas, ça alterne joyeusement les new et les malloc (la on dégueule tous un grand coup) c´est pour ça qu´il faut bien faire gaffe a ne pas deleter un truc fait avec malloc, ni faire un free d´un truc alloué avec new...

A propos, pour ceux qui ne connaissent pas la différence fondamentale entre new et malloc (qui peut poser des soucis), regardez mon tuto chapiter G.? - difference entre new et malloc :)

dynoplasmma
dynoplasmma
Niveau 9
03 février 2006 à 17:41:00

Encore merci JYY :)
Je tient a preciser que vous etes tous vraiment sympathiques de repondre a beaucoups de questions :-)))

dynoplasmma
dynoplasmma
Niveau 9
03 février 2006 à 18:22:32

Aïe ! je viens de rencontrer un gros probleme !
jai voulu gerer le deplacement dune image en appuyant simultanement sur deux boutons, mais probleme, si on reste appuyer sur les deux en meme temps ca va plus vite que si on appuie simultanneme nt :

if(keystate[SDLK_a] && simult_df==0)
{
r3.x=r3.x-2;
simult_df=1;
}
if(keystate[SDLK_s] && simult_df==1 && r3.x>260)
{
r3.x=r3.x-2;
simult_df=0;
}

Faudrais que je trouve un moyen pour regler ce probleme, jai penser a mettre une attente, mais ca marcherais pas.

JeanYvesYves
JeanYvesYves
Niveau 10
03 février 2006 à 19:49:52

C´est logique ça aille plus vite :

tu dis que si tu appuies sur a, alors tu fais x-2, si tu appuies sur s, tu fais x-2 aussi
Du coup, si tu appuies sur les deux, ça rentre dans les 2 if, donc tu te retrouves avec x-4...

es tu sur que pour la touche s, tu ne voulais pas mettre y-2 ?

dynoplasmma
dynoplasmma
Niveau 9
03 février 2006 à 20:27:26

Non cetait fait expres :
je pensais que quad on appuyait deux touches en meme temps seule la derniere etait prise en compte (comme quand jecri en ce moment)

Je veux faire une sorte de concours, deplace une forme vers son coté, il faut pour cela puis simultanement sur q s q s q s ...

Mais comme on peut appuyer sur deux touches en meme temps, mon essai tombe a l´eau.

jejej
jejej
Niveau 9
03 février 2006 à 23:46:50

meuh non :)
on peut tout faire en c++ ...

si j´ai bien compris tu veux faire un jeu style "bourrin" ?

enfin faut appuyer sur "gauche" puis "droite" par exemple successivement pour faire avancer un truc ?

ben pour ça tu fais une variable bool valid; par exemple , puis :

if( valid && touche(gauche) )
alors...
valid = false;
if( !v alid && touche(droite) )
alors...
valid = true;

enfin je sais pas trop , je suis pas sur d´avoir bien compris , j´espere que ça peut aider...

dynoplasmma
dynoplasmma
Niveau 9
05 février 2006 à 15:02:44

Oui c´est parfaitement ca jejej :)
merci !

jvais esayer d´appliquer ta methode.

guyver2
guyver2
Niveau 10
05 février 2006 à 23:51:04

petite question comme ça en passant:
existe t-il une fonction C ou C++ qui calcul la valeur d´une chaine contenant une opperation
genre calcul("5+3*(2+5)"); qui renverait 26. un peu comme la fonction eval en javascript ?

sinon question opengl:
j´ai trituré le 1er exo de JYY sur opengl en ajoutant des textures. jusque là pas de pb. je voulait essayer de rendre le tout un peu transparent donc avant de passer ma texture SDL a opengl je lui applique une fonction de transparence (SDL_SetAlpha(s, SDL_SRCALPHA | SDL_RLEACCEL, 255) ) mais ça ne marche pas.
quel est la maniere a utiliser ?

merci

godrik
godrik
Niveau 30
06 février 2006 à 00:23:21

1/ Ca n´existe pas en standard, mais c´est simple a écrire...
2/ as tu penser a passer un parametre supplementaire a l´initialisation d´opengl?

guyver2
guyver2
Niveau 10
06 février 2006 à 00:29:05

1/ simple a ecrire : justement j´en ai marre de réécrire les fnction simples a ecrire et de découvrire apres qu´elles existe deja...
2/ comme quoi ? voici mon init

// init
glShadeModel( /*GL_FLAT*/GL_SMOOTH );
glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
glClearDepth( 1.0f );
glEnable( GL_DEPTH_TEST );
glDepthFunc( GL_LEQUAL );
glEnable(GL_TEXTURE_2D);
glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST );
// cadrage
glViewport( 0, 0,1024,768);
glMatrixMode( GL_PROJECTION );
glLoadIdentity( );
gluPerspective( 45.0f, 4.0/3.0, 1.0f, 100.0f );
glEnable(GL_LIGHT0);
glEnable(GL_LIGHT1);
glEnable(GL_LIGHTING);
glEnable(GL_COLOR_MATERIAL);

dnob700
dnob700
Niveau 10
06 février 2006 à 01:02:13

guyver, autant il existe des fonctions simples qu´il est interessant de réécrire (à la limite à chaques fois qu´on en a besoin pour les adapter particulièrement à la situation comme les conteneur de le STL), autant un interpréteur même "simple", ce n´est pas simple.

Pour windows, j´en ais un dans ma lib sectionPC, mais je ne l´ais plus mis à jours depuis longtemps (enfin ça devrait toujours marcher). Il utilise le moteur de script de windows donc c´est assez puissant.
http://lib.sectionpc.info

guyver2
guyver2
Niveau 10
06 février 2006 à 10:01:46

merci mais le "pour Windows" m´interdit de tester ta librairie (c´est sous linux). Mais c´est pas grave j´ai réflechi cette nuit et je pense que j´ai cerné le probleme et donc je vais coder le tout cet après midi. merci quand meme...

godrik
godrik
Niveau 30
06 février 2006 à 15:47:48

"simple a ecrire : justement j´en ai marre de réécrire les fnction simples a ecrire et de découvrire apres qu´elles existe deja... "
C´est ca l´apprentissage. Parfois je le fais juste pour le plaisir, pour comprendre mieux comment ca marche, pour illustrer un concept.

Sinon, pour l´alpha blending,
il faut activer le blending dnas opengl
un truc du genre glEnable(GL_BLEND);
et choisir une fonction de blending glBlendFunc (...);

Avec glut, il y a un parametre a passer a la creation de la surface: GLUT_RGBA.

JeanYvesYves
JeanYvesYves
Niveau 10
06 février 2006 à 15:49:24

Utilise SDL pour amorcer OpenGL : infiniment mieux que glut :)
cf mon tuto sur opengl qui s´appuie dessus.

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