Initial commit, basic types
This commit is contained in:
commit
de36d1501f
|
@ -0,0 +1,50 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import rl "vendor:raylib"
|
||||||
|
|
||||||
|
|
||||||
|
Pad :: struct {
|
||||||
|
position: Vec2,
|
||||||
|
width: Vec2,
|
||||||
|
}
|
||||||
|
|
||||||
|
Ball :: struct {
|
||||||
|
position: Vec2,
|
||||||
|
velocity: Vec2,
|
||||||
|
radius: f32,
|
||||||
|
}
|
||||||
|
|
||||||
|
Brick :: struct {
|
||||||
|
position: Vec2,
|
||||||
|
size: Vec2,
|
||||||
|
color: rl.Color,
|
||||||
|
hits: u8,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Game :: struct {
|
||||||
|
using state: GameState,
|
||||||
|
lives: u8,
|
||||||
|
pad: Pad,
|
||||||
|
balls: [dynamic]Ball,
|
||||||
|
bricks: [dynamic]Brick,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
game_init :: proc() -> Game {
|
||||||
|
return Game{
|
||||||
|
update = game_update,
|
||||||
|
draw = game_draw,
|
||||||
|
lives = 3,
|
||||||
|
pad = Pad{
|
||||||
|
position = {f32(WINDOW_WIDTH / 2), f32(WINDOW_HEIGHT - 40)}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
game_update :: proc(delta: f32) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
game_draw :: proc() {
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import rl "vendor:raylib"
|
||||||
|
|
||||||
|
Vec2 :: [2]f32
|
||||||
|
Vec2i :: [2]i32
|
||||||
|
|
||||||
|
WINDOW_WIDTH : i32
|
||||||
|
WINDOW_HEIGHT : i32
|
||||||
|
|
||||||
|
main :: proc() {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import rl "vendor:raylib"
|
||||||
|
|
||||||
|
|
||||||
|
Menu :: struct {
|
||||||
|
using state: GameState,
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
|
||||||
|
GameState :: struct {
|
||||||
|
update: proc(f32),
|
||||||
|
draw: proc(),
|
||||||
|
|
||||||
|
variant: union{^Game, ^Menu}
|
||||||
|
}
|
||||||
|
|
||||||
|
new_state :: proc($T: typeid) -> ^T {
|
||||||
|
state := new(T)
|
||||||
|
state.variant = state
|
||||||
|
return state
|
||||||
|
}
|
Loading…
Reference in New Issue