Guest User

Untitled

a guest
Jan 27th, 2015
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
OCaml 0.97 KB | None | 0 0
  1. module type Entity = sig
  2.     type t
  3.     val position : t -> Position.t
  4.     val update : t -> t
  5.     val texture : t -> Texture.t
  6.     val set_speed : t -> (int * int) -> t
  7.     val make : Render.t -> t
  8.   end
  9.  
  10. module Player : Entity = struct
  11.   type t = {pos: Position.t; tex: Texture.t; x_speed: int; y_speed: int}
  12.   let texture self = self.tex;;
  13.   let position self = self.pos;;
  14.   (* let update self = { pos= { self.pos.Position.x + self.x_speed;self.pos.Position.y + self.y_speed};tex=self.tex;x_speed=self.x_speed;y_speed=self.y_speed };; *)
  15.   let update self = {pos= {x=self.pos.x + self.x_speed;y= self.pos.y + self.y_speed}; tex= self.tex; x_speed = self.x_speed; y_speed = self.y_speed}
  16.   let set_speed self target =
  17.     let (xs, ys) = target in
  18.     {pos=self.pos;tex=self.tex;x_speed=xs;y_speed=ys};;
  19.   let make renderer = {pos={Position.x=0;Position.y=0};tex= ordie (Image.load renderer "avatar.png");x_speed=0;y_speed=3}
  20. end
  21.  
  22. type entities = (string * Entity.t) list
Advertisement
Add Comment
Please, Sign In to add comment