PHROGRAM KPL (LANGAGE DE PROGRAMMATION)
aphilon
Messages postés
31
Statut
Membre
-
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
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
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)
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)