PHROGRAM KPL (LANGAGE DE PROGRAMMATION)

aphilon Messages postés 31 Statut Membre -  
aphilon Messages postés 31 Statut Membre -
Bonjour,

Je suis en train de travailler sur un programme sur PHROGRAM. Je dois déplacer une image avec le clavier et la faire stopper lorsqu'elle touche les coins. Mais je n'y arrive pas. Je suis bloqué dans la partie ou il faut faire stopper l'image lorsqu'elle touche les coins Voici le début de mon programme:

Program Image_demo

Method Main()

Define Sea As Sprite
Define Boat As sprite
Define Speed As Decimal = 0.1
Define LocationX As Integer = 250
Define LocationY As Integer = 250
Boat.load("Boat.gif")
Sea.load("mer-surface[1].jpg")
Sea.Stamp()
Boat.Show()
Boat.MoveTo(LocationX, LocationY)

While Not KeyBoard.IsKeyDown("Keys.escape")

If IsKeyDown("Right") Then
Boat.MoveLeft(speed)
End If

If IsKeyDown("Left") Then
Boat.MoveRight(speed)
End If

If IsKeyDown("Up") Then
Boat.Back(speed)
End If

If IsKeyDown("Down") Then
Boat.Forward(speed)
End If

End While

End Method

End Program

2 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
Désolé, je ne connais pas PHROGRAM, je vais cependant essayer de t'expliquer...

Tu dois avoir des points (x,y) avec x compris entre 0 et xmax, et y entre 0 et ymax
De plus tu as une image de largeur x0 et de hauteur y0

Lorsque tu déplaces ton image, je suppose que tu fais un truc du genre (x+a,y+b)
avec a=0, 1 ou -1 et b=0, 1 ou -1

Mais dans ce cas il faut que tu vérifies AVANT que tu peux bien te déplacer :
si a=1 vérifies x+x0<xmax
si a=-1 vérifies x>0
si b=1 vérifies y+y0<ymax
si b=-1 vérifies y>0

Sinon ça veut dire que ton image va dépasser du cadre lorsque tu fais (x+a,y+b)
0
aphilon Messages postés 31 Statut Membre
 
Salut! J'ai essayé ce que tu m'as conseillé. Ca marche tres bien. Je te remercie pour ta réponse!
0