modulo %

je ne sais pas utiliser le modulo %.
comme exemple:
balle.X()%12
retourne l’erreur de compilation:
invalid operands of types ‘float’ and ‘int’ to binary ‘operator%’

donc une incompatibilité entre variable entière et à virgule .
j’ai fouillé la doc et je trouve pas comment déclarer les types des variables .
En gros de suis perdu avec ça depuis 1 semaine de test ^^

Merci.

Salut, apparemment GD ne gère pas le symbole % essaie d’utiliser “/100” ?
Quelque chose dans ce genre là “balle.X()+(12/100)”
J’ai pas testé ^^"

Merci de vouloir m’aider :slight_smile:
On peut lire dans l’aide:
A*B A/B A%B multiplication, division et modulo

/100 ne retourne pas le modulo qui est la valeur restante de la division de A par B
exemple 52%48 = 4

Ah j’avais pas bien lu, j’ai compris le symbole pourcent.
D’après ce que tu dis on dirait le symbole moins 52-48 = 4
Sinon désolé je sais pas alors ^^"

en fait c’est le chiffre du reste qui est le modulo 52/48=1 et il reste 4 .

j’utile ce procéder pour déplacer en cadriage mon pacman et détecter les croisements de direction possibles
si le modulo retourne 0 c’est que l’on est sur un croisement de la grille 48 x 48 pixels dans mon cas et
utilisé en x et y .

Ah ok je vois, je connaissais pas :astonished: .

Le modulo ne marche qu’entre deux nombres entiers (or la position X est un réel). Je crois qu’il existe une fonction mathématique de GD qui se substitue au %.

ok je teste de convertir avec int()
je vous tiens au courant

Merci bien :slight_smile:

j’ai aussi testé avec des variables déclarées globale
test :
int(GlobalVariable(pac_x))%48
non concluant …
je ne comprend vraiment pas comment gérer les entiers et les flottants avec GD :cry:

Essaie peut être mod( ) pour le modulo

Oui il faut utiliser mod(x,n) à la place de x % n : j’ai mis à jour la doc. :slight_smile:

ok merci 4ian :slight_smile: