diff --git a/main.ml b/main.ml index 5202243..f3c3711 100644 --- a/main.ml +++ b/main.ml @@ -1,16 +1,22 @@ (* vim: set ts=2 sw=2 et : *) open Event;; + + type config_t = { mutable width : int ; mutable height : int; } + + type notification_t = | Graphics_status of Graphics.status | Tick ;; + + type game_event_t = | MoveLeft | MoveRight @@ -26,6 +32,8 @@ type game_event_t = let image_filename = "images/test.png" ;; + + let string_of_keyboard_event event = try let chr = Sdlkey.char_of_key event.Sdlevent.keysym @@ -35,6 +43,8 @@ let string_of_keyboard_event event = | Invalid_argument _ -> "unknown-key" ;; + + let rec event_loop () = print_endline "Event_loop..."; Sdltimer.delay 20; @@ -44,7 +54,7 @@ let rec event_loop () = print_endline "You pressed escape! The fun is over now." | Sdlevent.KEYDOWN event -> - Keyboard.handle_event event + Keyboard.handle_event event; let keystr = string_of_keyboard_event event in print_endline ("You pressed " ^ keystr); @@ -53,13 +63,17 @@ let rec event_loop () = | _ -> event_loop () ) in + let event_opt = Sdlevent.poll () in + match event_opt with | None -> event_loop () | Some event -> match_event event; ;; + + let game_loop ~screen = let image = Sdlloader.load_image image_filename and image_from = Sdlvideo.rect 0 0 300 300 @@ -67,10 +81,12 @@ let game_loop ~screen = in Sdlvideo.blit_surface ~src:image ~src_rect:image_from ~dst:screen ~dst_rect:image_to (); Sdlvideo.flip screen; - let action_fun = event_loop (); + (* let action_fun = event_loop () ; *) game_loop screen ;; + + let main () = let player1 = Player.create () and map1 = Maze.create ()