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 : *)
|
(* 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 () =
|
let rec refresh_input () =
|
||||||
(* poll events *)
|
(* poll events *)
|
||||||
let get_handler_fun ev =
|
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= \
|
justnukeit_OBJS= \
|
||||||
Position \
|
Position \
|
||||||
Maze \
|
Timeline \
|
||||||
|
Menu \
|
||||||
|
Level \
|
||||||
Player \
|
Player \
|
||||||
Joystick \
|
Joystick \
|
||||||
Keyboard \
|
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 name : string ;
|
||||||
mutable lifes : int ;
|
mutable lifes : int ;
|
||||||
mutable position : Position.t;
|
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