On 11/26/2016 01:07 PM, Pascal wrote: > procedure Create > (Context : in out Context_2D_Type; > Sprite : in out Sprite_Type'Class; > Image_Data : in out Image_Data_Type'Class; > Row, Column : in Integer; > Row_Velocity, Column_Velocity : in Integer := 0); > -- Defines sprite, specifying the image to draw, the position and the > motion (optionnal)
How are the position values interpreted? What are the units of velocity? > > procedure Locate > (Sprite : in out Sprite_Type; > Row, Column : in Integer); > -- Specifies the position of the upper left hand corner of a sprite This probably answers the position question above. Perhaps such information should be pulled out into a single comment preceding all the operations. > > procedure Pattern > (Sprite : in out Sprite_Type; > Image_Data : in out Image_Data_Type'Class); > -- Specifies the image that defines a sprite > > procedure Motion > (Sprite : in out Sprite_Type; > Row_Velocity, Column_Velocity : in Integer); > -- Specifies the motion of a sprite The units of velocity question also applies here. As with position, perhaps this should be answered in a single comment preceding all the operations. > > function Coincidence > (Sprite1, Sprite2 : in Sprite_Type; > Tolerance : in Natural) > return Boolean; > function Coincidence > (Sprite : in Sprite_Type; > Row, Column : in Integer; > Tolerance : in Natural) > return Boolean; > -- Determines if two sprites or a sprite and a point on the screen at or > near the same location on the screen What does it mean for 2 sprites to coincide with a tolerance of zero? For a sprite and a point? What are the units of tolerance? > > function Distance > (Sprite1, Sprite2 : in Sprite_Type) > return Natural; > function Distance > (Sprite : in Sprite_Type; > Row, Column : in Integer) > return Natural; > -- Determines the distance between two sprites or a sprite and a location > -- The result is the square root between the upper left hand corner of > two sprites > -- or between the upper left hand corner of a sprite and a location Since distances are often fractional, should these return a real type? > > procedure Position > (Sprite : in Sprite_Type; > Row, Column : out Integer); > -- Determines the position of a sprite For completeness, should there be query operations for the image and velocities? > > procedure Del_Sprite (Sprite : in out Sprite_Type); > procedure Del_Sprite_All; > -- Deletes sprites I think Delete and Delete_All would be better names for these. -- Jeff Carter "Hold your temper. Count ten.... Now let 'er go. You got a good aim." Never Give a Sucker an Even Break 105 ------------------------------------------------------------------------------ _______________________________________________ Gnoga-list mailing list Gnoga-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gnoga-list