A lot of minor updates. But still broken.
This commit is contained in:
parent
a835335b0b
commit
2300b6ef13
8 changed files with 83 additions and 33 deletions
7
Game.ml
7
Game.ml
|
@ -1,5 +1,12 @@
|
|||
(* vim: set st=2 sw=2 et : *)
|
||||
|
||||
type game_t = {
|
||||
level: Level.level_t ;
|
||||
players: Player.player_t array ;
|
||||
(* monsters: Monster.monster.t array ; *)
|
||||
timeline : Timeline.timeline_t ;
|
||||
}
|
||||
|
||||
let rec refresh_input () =
|
||||
(* poll events *)
|
||||
let get_handler_fun ev =
|
||||
|
|
46
Level.ml
Normal file
46
Level.ml
Normal file
|
@ -0,0 +1,46 @@
|
|||
type item_t =
|
||||
| Item_bonus
|
||||
| Item_malus
|
||||
| Item_none
|
||||
;;
|
||||
|
||||
type block_t =
|
||||
| Block_solid
|
||||
| Block_reakable
|
||||
| Block_none
|
||||
;;
|
||||
|
||||
type tileset_t =
|
||||
| Tileset_winter (* ice cubes, *)
|
||||
| Tileset_summer (* mice, *)
|
||||
| Tileset_brick
|
||||
| Tileset_ufo (* rhombicuboctaedron, robots, etc. *)
|
||||
| Tileset_library (* crayon, books, papers, *)
|
||||
;;
|
||||
|
||||
type level_t = {
|
||||
size_x : int ;
|
||||
size_y : int ;
|
||||
items : (item_t ref) array array ;
|
||||
blocks : (block_t ref) array array ;
|
||||
background: string ; (* FIXME: animated background *)
|
||||
foreground: string ; (* FIXME: animated foreground *)
|
||||
tileset : tileset_t;
|
||||
};;
|
||||
|
||||
|
||||
let default_x = 17;;
|
||||
|
||||
let default_y = 11;;
|
||||
|
||||
let create () = {
|
||||
size_x = default_x ;
|
||||
size_y = default_y ;
|
||||
items = Array.make_matrix default_x default_y (ref Item_none) ;
|
||||
blocks = Array.make_matrix default_x default_y (ref Block_none) ;
|
||||
tileset = Tileset_winter;
|
||||
background = "none" ;
|
||||
foreground = "noon" ;
|
||||
}
|
||||
;;
|
||||
|
4
Makefile
4
Makefile
|
@ -2,7 +2,9 @@ PROGRAMS=justnukeit
|
|||
|
||||
justnukeit_OBJS= \
|
||||
Position \
|
||||
Maze \
|
||||
Timeline \
|
||||
Menu \
|
||||
Level \
|
||||
Player \
|
||||
Joystick \
|
||||
Keyboard \
|
||||
|
|
31
Maze.ml
31
Maze.ml
|
@ -1,31 +0,0 @@
|
|||
type item_t =
|
||||
| Bonus
|
||||
| Malus
|
||||
| NoItem
|
||||
;;
|
||||
|
||||
type block_t =
|
||||
| Solid
|
||||
| Breakable
|
||||
| NoBlock
|
||||
;;
|
||||
|
||||
type t = {
|
||||
mutable size_x : int ;
|
||||
mutable size_y : int ;
|
||||
mutable items : item_t array array ;
|
||||
mutable blocks : block_t array array ;
|
||||
};;
|
||||
|
||||
|
||||
let default_x = 10;;
|
||||
|
||||
let default_y = 10;;
|
||||
|
||||
let create () = {
|
||||
size_x = default_x ;
|
||||
size_y = default_y ;
|
||||
items = Array.make_matrix default_x default_y NoItem ;
|
||||
blocks = Array.make_matrix default_x default_y NoBlock ;
|
||||
}
|
||||
;;
|
16
Menu.ml
Normal file
16
Menu.ml
Normal file
|
@ -0,0 +1,16 @@
|
|||
|
||||
type widget_t =
|
||||
| Menu_text of string
|
||||
| Menu_image of
|
||||
| Menu_clickable
|
||||
;;
|
||||
|
||||
type menu_t = {
|
||||
widgets : widget_t list ;
|
||||
click_handle : Position.position_t -> unit ;
|
||||
keyboard_handle : string (* Keyboard.a *)
|
||||
|
||||
;;
|
||||
|
||||
let handle_click pos =
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
type t = {
|
||||
type player_t = {
|
||||
mutable name : string ;
|
||||
mutable lifes : int ;
|
||||
mutable position : Position.t;
|
||||
|
|
8
Timeline.ml
Normal file
8
Timeline.ml
Normal file
|
@ -0,0 +1,8 @@
|
|||
|
||||
type timeslice_t = {
|
||||
(* Action *)
|
||||
label: string ;
|
||||
}
|
||||
|
||||
type timeline_t = timeslice_t list
|
||||
|
2
menu.gui
Normal file
2
menu.gui
Normal file
|
@ -0,0 +1,2 @@
|
|||
menu "main" {
|
||||
label
|
Loading…
Reference in a new issue