i've fixed the problem, but i've got another one, I'm trying to make the ball bounce off the pannel when it touches it, i've almost done it, (i've tested to see if the collision was recognised with a string) I just can't seem to manage to get the variable incrementy to change its sign, here's the code:
rem Pong
//Reglages de base
sync on : sync rate 60
set display mode 800,600,32
set window title "Pong"
set text font "Arial": set text size 16
FPS=screen fps()
//on cache la souris
//hide mouse
//On définit les coordonnées initiales de la balle
cx=400
cy=300
incrementx=1
incrementy=1
incrementy#=1
do
//Il faut définir au début de chaque "boucle" les variables qui vont se modifier.
gosub variables
// J'affiche quelques trucs sur l'écran
print "Taux de rafraîchissement: "+str$(FPS)
print str$(x)
print str$(0+mouseY())
print str$(incrementx)
// Je crée la boite qui va me servir de raquette
box (50+x)-200,50,50+x,100
//Je crée un cercle qui servira de balle
circle cx,cy,6
//Rafraichissement de l'ecran
sync
cls
gosub increx
gosub increy
gosub collision
INC cx,incrementx
INC cy,incrementy
loop
increx:
if cx=759 then incrementx=-1
if cx=141 then incrementx=1
return
increy:
if cy=595 then incrementy=-1
if cy=0 then gosub perdu
return
collision:
//Collision: il faut que la raquette occupe une position X parallèle à la position X de la balle,
//et que la position Y de la balle soit égale à la coordonnée Y de la borne inférieure de la boite.
if cx>=(50+x)-200 and cx<=50+x and cy=100 then inversesigne(incrementy) and incrementy=incrementy#
return
perdu:
print " VOUS AVEZ PERDU, VEUILLEZ CLIQUER POUR FERMER LE JEU "
sync
Wait Mouse
end
Variables:
//Cette variable définit la position de la raquette en fonction de la position de la souris.
x=O+mouseX()
return
function inversesigne(incrementy)
print "Inversesigne activé"
incrementy#=-incrementy
endfunction incrementy#