Limiter une variable en C

Résolu/Fermé
RiK-net Messages postés 95 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 8 octobre 2010 - 1 févr. 2010 à 16:55
RiK-net Messages postés 95 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 8 octobre 2010 - 4 févr. 2010 à 18:46
Bonjour,

j'ai cree un programme en C avec la bibliotheque SDL , et je dois faire bouger une petite image sur la surface de la fenetre !! sa j'ai fait ! mais le probleme c'est que les variables position.x et position.y ne sont pas limité alors l'image peut sortir carement de la fenetre a gauche et en bas (faut dire que en haut et a droite c'est 0 qui limite la variable) !!

alors quelqu'un pourrait me dire comment fair pour que les valeur sles plus grandes soient :

position.x = 640
position.y = 480

....?????????


merci d'avance les pros !!

7 réponses

bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 860
1 févr. 2010 à 18:33
if(position.x > 640) position.x = 640;
t'as pas un moyen de faire qqch du genre ça ?
0
RiK-net Messages postés 95 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 8 octobre 2010 12
3 févr. 2010 à 21:19
lol , ca j'ai deja fais evidement !! mais je voulais savoir si il y aviat pas un moyen de les limiter des initialisation !! ou bien un truc comme ca ^^
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 193
4 févr. 2010 à 14:38
en c++ tu aurais pu faire un objet, et surcharger l'opérateur =, mais à par ca, la seule solution c'est celle donnée plus haut
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
4 févr. 2010 à 15:11
avec le type, tu peu limité un peu :
char à 255, unsigned char 511, short etc.
ou alors avec un masque :
position.x&=0x0001FF
limite à 1024.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
RiK-net Messages postés 95 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 8 octobre 2010 12
4 févr. 2010 à 16:23
merci a vous tous pour vos réponses !! je vois que dans C++ ca serais plus facile!! mais surtout ca m'intrigue se que t'as dit sur les masque "Char Snipeur" !! une petite explication de ces fameux masque ca serait pas de refus car j'avais jamais entendu parlé :P !! ^^ merci d'avance !
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
4 févr. 2010 à 16:39
C'est juste une opération binaire sur le résultat de manière à ne retenir que certains bits e t pas d'autre.
0
RiK-net Messages postés 95 Date d'inscription vendredi 6 juin 2008 Statut Membre Dernière intervention 8 octobre 2010 12
4 févr. 2010 à 18:46
ah bon d'accord !! alors c'est ce que je supposais que c'était !! parce que les masque moi je l'ai connait qu'en, réseau si c'est le même principe alors valé !!

merci "Char Snipeur" pour l'explication !! ^^
0