zongors-universe-machine/docs/old/idea.zl-zigish

64 lines
1.9 KiB
Plaintext

i32 main(i32 argc, str argv[]) {
i32 screen_width = 800
i32 screen_height = 450
str username = argv[1]
str password = argv[2]
Player me(username=username, pos=(0.0, 1.0, 2.0), apperance=PURPLE)
Player[] players = me.login(password)
Camera3D camera(pos = (me.pos.x, me.pos.y + 10.0, me.pos.z + 10.0), //Camera pos
target = (me.pos.x, me.pos.y, me.pos.z), //Camera looking at point
up = (0.0, 1.0, 0.0), //Camera up vector(rotation towards target)
fovy = 45.0, //Camera field - of - view Y
projection = CAMERA_PERSPECTIVE) //Camera projection type
init_window(screen_width, screen_height, "zwl client : raylib")
set_target_fps(60)
//Main game loop
do while (.not. window_should_close()) { // Detect window close button or ESC key
if (is_key_down(KEY_RIGHT)) {
me.pos.x = me.pos.x + 0.2
player_updated = .true.
} else if (is_key_down(KEY_LEFT)) {
me.pos.x = me.pos.x - 0.2
player_updated = .true.
} else if (is_key_down(KEY_DOWN)) {
me.pos.z = me.pos.z + 0.2
player_updated = .true.
} else if (is_key_down(KEY_UP)) {
me.pos.z = me.pos.z - 0.2
player_updated = .true.
}
me.sync_camera(camera)
if (player_updated) {
players = me.move()
} else {
players = me.ping()
}
begin_drawing()
clear_background(RAYWHITE)
begin_mode_3d(camera)
// Draw floor
draw_grid(30, 1.0)
draw_cube(me.pos, 0.5, 0.5, 0.5, me.apperance)
do (int i = 0; size(players)) {
draw_cube(players[i].pos, 0.5, 0.5, 0.5, players[i].apperance)
}
end_mode_3d()
end_drawing()
}
players = me.logout()
close_window() //Close window and OpenGL context
}